1、单据作业增加关闭原因、关闭时间、关闭操作人员

2、返修增加维修明细时维修判定枚举更改为页面维护,涉及修改查询报表:修理品票明细报表、维修记录报表;(工程不良报表影响最大,修改大,暂不修改)
tags/yfai-mes-ext-v1.0
yxw 2 years ago
parent 57c6ee06fb
commit db90ce0130

@ -0,0 +1,70 @@
package cn.estsh.i3plus.ext.mes.api.base.jx;
import cn.estsh.i3plus.ext.mes.pojo.bean.MesRepairJudgeType;
import cn.estsh.i3plus.ext.mes.pojo.model.BatchIdModel;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import io.swagger.annotations.ApiOperation;
import java.util.List;
import java.util.Map;
public interface IJxRepairJudgeTypeService {
/**
*
*
* @param oqcProject
* @param pager
* @return
*/
@ApiOperation(value = "分页查询出货检验项目", notes = "分页查询出货检验项目")
ListPager<MesRepairJudgeType> queryRepairJudgeTypePager(MesRepairJudgeType oqcProject, Pager pager);
/**
*
* @param model
*/
@ApiOperation(value = "新增出货检验项目", notes = "新增出货检验项目")
MesRepairJudgeType insertRepairJudgeType(MesRepairJudgeType model);
/**
*
* @param model
*/
@ApiOperation(value = "编辑出货检验项目", notes = "编辑出货检验项目")
void updateRepairJudgeType(MesRepairJudgeType model);
/**
* ID
* @param model
* @param userName
*/
@ApiOperation(value = "根据ID启用或禁用出货检验项目", notes = "根据ID启用或禁用出货检验项目")
int updateRepairJudgeTypeValidById(BatchIdModel model, String userName);
/**
* ID
* @param model
* @param userName
*/
@ApiOperation(value = "根据ID启用或禁用出货检验项目", notes = "根据ID启用或禁用出货检验项目")
int deleteRepairJudgeTypeValidById(BatchIdModel model, String userName);
/**
*
* @param organizeCode
* @return
*/
@ApiOperation(value = "获取维修判定类型信息集合", notes = "获取维修判定类型信息集合")
List<MesRepairJudgeType> queryRepairJudgeList(String organizeCode);
/**
*
* @param organizeCode
* @return
*/
@ApiOperation(value = "获取维修判定类型信息集合", notes = "获取维修判定类型信息集合")
Map<String, String> queryRepairJudgeMap(String organizeCode);
}

@ -49,7 +49,7 @@ public interface IManageCodeService {
* @param userName
*/
@ApiOperation("软删扭矩管理信息")
void deleteWeaklyMesManageCodeByIds(Long[] ids, String userName);
int deleteWeaklyMesManageCodeByIds(String[] ids, String userName);
/**
* /

@ -0,0 +1,20 @@
package cn.estsh.i3plus.ext.mes.api.busi.jx;
import cn.estsh.i3plus.ext.mes.pojo.bean.MesProdBindRecordExt;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.mes.bean.MesProdBindRecord;
import io.swagger.annotations.ApiOperation;
/**
* @PROJECT_NAME: i3plus-mes-panasonic-jx
* @DESCRIPTION:
* @USER: xinwang.yi
* @DATE: 2023-11-13 17:04
*/
public interface IJxProductReportService {
@ApiOperation("获取物料绑定记录")
ListPager<MesProdBindRecord> queryMesProdBindRecordByPager(MesProdBindRecordExt prodBindRecordExt, Pager pager);
}

@ -0,0 +1,154 @@
package cn.estsh.i3plus.ext.mes.apiservice.controller.base.jx;
import cn.estsh.i3plus.ext.mes.api.base.jx.IJxRepairJudgeTypeService;
import cn.estsh.i3plus.ext.mes.pojo.bean.MesRepairJudgeType;
import cn.estsh.i3plus.ext.mes.pojo.model.BatchIdModel;
import cn.estsh.i3plus.ext.mes.pojo.util.MesExtConstWords;
import cn.estsh.i3plus.platform.common.convert.ConvertBean;
import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
import cn.estsh.i3plus.pojo.platform.bean.SessionUser;
import cn.estsh.impp.framework.base.controller.MesBaseController;
import cn.estsh.impp.framework.boot.auth.AuthUtil;
import cn.estsh.impp.framework.boot.exception.ImppBusiException;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.util.ResultBean;
import cn.estsh.impp.framework.boot.util.ValidatorBean;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
* @Author: xinwang.yi
* @CreateDate: 2021/01/18 13:33
* @Description:
**/
@RestController
@Api(tags = "维修判定类型 控制层")
@RequestMapping(MesExtConstWords.BASE_URL_MES_JX + "/repair-judge-type")
public class RepairJudgeTypeController extends MesBaseController {
@Autowired
private IJxRepairJudgeTypeService repairJudgeTypeService;
@GetMapping(value = "/query")
@ApiOperation(value = "按条件分页查询MES_维修判定类型信息", notes = "按条件分页查询MES_维修判定类型信息")
public ResultBean queryMesRepairJudgeTypeByPager(MesRepairJudgeType model, Pager pager) {
try {
model.setOrganizeCode(AuthUtil.getOrganize().getOrganizeCode());
return ResultBean.success().setListPager(repairJudgeTypeService.queryRepairJudgeTypePager(model, pager))
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@PostMapping(value = "/insert")
@ApiOperation(value = "添加MES_维修判定类型信息")
public ResultBean insertMesRepairJudgeType(MesRepairJudgeType model) {
try {
//条件验证
ValidatorBean.beginValid(model)
.notNull(MesExtConstWords.REPAIR_JUDGE_CODE, model.getRepairJudgeCode())
.notNull(MesExtConstWords.REPAIR_JUDGE_NAME, model.getRepairJudgeName())
.notNull(MesExtConstWords.SEQ, model.getSeq());
model.setOrganizeCode(AuthUtil.getOrganize().getOrganizeCode());
repairJudgeTypeService.insertRepairJudgeType(model);
return ResultBean.success("添加成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch (ImppBusiException imppException) {
LOGGER.error(imppException.getErrorMsg() + "{}", imppException.getErrorDetail(), imppException);
return ResultBean.fail(imppException);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@PostMapping(value = "/update")
@ApiOperation(value = "更新MES_维修判定类型项目")
public ResultBean updateMesRepairJudgeType(MesRepairJudgeType model) {
try {
//条件验证
ValidatorBean.beginValid(model)
.notNull(MesExtConstWords.REPAIR_JUDGE_CODE, model.getRepairJudgeCode())
.notNull(MesExtConstWords.REPAIR_JUDGE_NAME, model.getRepairJudgeName())
.notNull(MesExtConstWords.SEQ, model.getSeq());
if (model.getId() == null || model.getId().longValue() < 1) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
.setErrorCode(cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("请选择需要操作的资源。")
.build();
}
model.setModifyUser(AuthUtil.getSessionUser().getUserName());
repairJudgeTypeService.updateRepairJudgeType(model);
return ResultBean.success("修改成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@PutMapping(value = "/update-status-batch")
@ApiOperation(value = "批量禁用/启用详情", notes = "批量禁用/启用详情")
public ResultBean updateMesRepairJudgeTypeStatus(@RequestBody BatchIdModel model) {
try {
ValidatorBean.checkNotNull(model.getStatus(), "未有启用禁用标志");
ValidatorBean.checkNotNull(model.getIds(), "未选择启用/禁用资源");
ConvertBean.modelSafeArrayNumber(model.getIds(), true);
//登陆用户
SessionUser user = AuthUtil.getSessionUser();
repairJudgeTypeService.updateRepairJudgeTypeValidById(model, user.getUserName());
return ResultBean.success("修改成功")
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@DeleteMapping(value = "/delete-status-batch")
@ApiOperation(value = "根据id删除产线班次固定作业内容信息")
public ResultBean deleteShiftProdCenterById(@RequestBody BatchIdModel model) {
try {
if (null == model.getIds()) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("请选择需要操作的资源。")
.build();
}
repairJudgeTypeService.deleteRepairJudgeTypeValidById(model, AuthUtil.getSessionUser().getUserName());
return ResultBean.success("删除成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@GetMapping(value = "/query-all")
@ApiOperation(value = "查询所有MES_维修判定类型信息", notes = "查询所有MES_维修判定类型信息")
public ResultBean queryMesRepairJudgeTypeList() {
try {
return ResultBean.success().setResultList(repairJudgeTypeService.queryRepairJudgeList(AuthUtil.getOrganize().getOrganizeCode()))
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
}

@ -0,0 +1,50 @@
package cn.estsh.i3plus.ext.mes.apiservice.controller.busi.jx;
import cn.estsh.i3plus.ext.mes.api.busi.jx.IJxProductReportService;
import cn.estsh.i3plus.ext.mes.pojo.bean.MesProdBindRecordExt;
import cn.estsh.i3plus.ext.mes.pojo.util.MesExtConstWords;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
import cn.estsh.impp.framework.base.controller.MesBaseController;
import cn.estsh.impp.framework.boot.auth.AuthUtil;
import cn.estsh.impp.framework.boot.exception.ImppBusiException;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.util.ResultBean;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @PROJECT_NAME: i3plus-mes-panasonic-jx
* @DESCRIPTION:
* @USER: xinwang.yi
* @DATE: 2023-11-13 17:18
*/
@RestController
@RequestMapping(MesExtConstWords.BASE_URL_MES_JX + "/report")
@Api(tags = "嘉兴报表")
public class JxReportController extends MesBaseController {
@Autowired
private IJxProductReportService productReportService;
@GetMapping(value = "/mes-prod-bind-record/query")
@ApiOperation(value = "按条件分页查询MES物料绑定记录数据")
public ResultBean queryMesProdBindRecord(MesProdBindRecordExt prodBindRecordExt, Pager pager) {
try {
prodBindRecordExt.setOrganizeCode(AuthUtil.getOrganize().getOrganizeCode());
ListPager listPager = productReportService.queryMesProdBindRecordByPager(prodBindRecordExt, pager);
return ResultBean.success("操作成功").setListPager(listPager)
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
}

@ -44,7 +44,7 @@ public class SxRepairRecordDao implements ISxRepairRecordDao {
StringBuffer hql = new StringBuffer();
hql.append(" select new " + SxRepairRecordReportModel.class.getName() + "(bcd.id, bcd.workTime, bcd.shiftCode, bcd.workOrderNo, bcd.workCenterCode, " +
" bcd.workCellCode, bcd.serialNumber, bcd.productSn, bcd.partNo, bcd.partNameRdd, bcd.defectCode, bcd.defectName, bcd.defectType, bcd.defectTypeName, bcd.defectActionTime, " +
" bcd.repairStatus, bcd.createUser, rre.dcCode, rre.dcName, rre.repairCode, rre.repairName,bcd.approvalStatus, rre.memo, rre.repairJudge, rre.repairDatetime, rre.modifyUser) ");
" bcd.repairStatus, bcd.createUser, rre.dcCode, rre.dcName, rre.repairCode, rre.repairName,bcd.approvalStatus, rre.memo, rre.repairJudgeCode,rre.repairJudgeName, rre.repairDatetime, rre.modifyUser) ");
packHqlForQueryRepairRecord(hql, model);
@ -100,8 +100,8 @@ public class SxRepairRecordDao implements ISxRepairRecordDao {
if (!StringUtils.isEmpty(model.getRepairCode())) {
hql.append(" and rre.repairCode = :repairCode ");
}
if (!StringUtils.isEmpty(model.getRepairJudge())) {
hql.append(" and rre.repairJudge = :repairJudge ");
if (!StringUtils.isEmpty(model.getRepairJudgeCode())) {
hql.append(" and rre.repairJudgeCode = :repairJudgeCode ");
}
}
@ -142,8 +142,8 @@ public class SxRepairRecordDao implements ISxRepairRecordDao {
if (!StringUtils.isEmpty(model.getRepairCode())) {
query.setParameter(MesExtConstWords.REPAIR_CODE, model.getRepairCode());
}
if (!StringUtils.isEmpty(model.getRepairJudge())) {
query.setParameter(MesExtConstWords.REPAIR_JUDGE, model.getRepairJudge());
if (!StringUtils.isEmpty(model.getRepairJudgeCode())) {
query.setParameter(MesExtConstWords.REPAIR_JUDGE, model.getRepairJudgeCode());
}
}
}

@ -0,0 +1,149 @@
package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base.jx;
import cn.estsh.i3plus.ext.mes.api.base.jx.IJxRepairJudgeTypeService;
import cn.estsh.i3plus.ext.mes.pojo.bean.MesRepairJudgeType;
import cn.estsh.i3plus.ext.mes.pojo.model.BatchIdModel;
import cn.estsh.i3plus.ext.mes.pojo.repository.MesRepairJudgeTypeRepository;
import cn.estsh.i3plus.ext.mes.pojo.sqlpack.MesExtHqlPack;
import cn.estsh.i3plus.ext.mes.pojo.util.MesExtConstWords;
import cn.estsh.i3plus.ext.mes.pojo.util.MesExtEnumUtil;
import cn.estsh.i3plus.platform.common.convert.ConvertBean;
import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum;
import cn.estsh.i3plus.platform.common.tool.TimeTool;
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.common.PagerHelper;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
import cn.estsh.i3plus.pojo.base.tool.HqlPack;
import cn.estsh.impp.framework.boot.auth.AuthUtil;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* @PROJECT_NAME: i3plus-mes-panasonic-jx
* @DESCRIPTION:
* @USER: xinwang.yi
* @DATE: 2023-11-13 11:53
*/
public class JxMesRepairJudgeTypeService implements IJxRepairJudgeTypeService {
@Autowired
private MesRepairJudgeTypeRepository repairJudgeTypeRepository;
@Override
public ListPager<MesRepairJudgeType> queryRepairJudgeTypePager(MesRepairJudgeType model, Pager pager) {
DdlPackBean hqlPack = MesExtHqlPack.getRepairJudgeType(model);
pager = PagerHelper.getPager(pager, repairJudgeTypeRepository.findByHqlWhereCount(hqlPack));
hqlPack.setOrderByStr(" order by seq asc ");
return new ListPager(repairJudgeTypeRepository.findByHqlWherePage(hqlPack, pager), pager);
}
@Override
public MesRepairJudgeType insertRepairJudgeType(MesRepairJudgeType model) {
//数据唯一性校验
StringBuffer whereStr = new StringBuffer();
// 封装唯一校验查询条件
HqlPack.getStringEqualPack(model.getOrganizeCode(), MesExtConstWords.ORGANIZE_CODE, whereStr);
HqlPack.getStringEqualPack(model.getRepairJudgeCode(), MesExtConstWords.REPAIR_JUDGE_CODE, whereStr);
if (repairJudgeTypeRepository.isExitByHqlWhere(whereStr.toString())) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_EXIT.getCode())
.setErrorDetail("维修判定类型代码【%s】在维修判定类型信息中已存在"
, model.getRepairJudgeCode())
.setErrorSolution("请更换新增参数")
.build();
}
ConvertBean.serviceModelInitialize(model, AuthUtil.getSessionUser().getUserName());
return repairJudgeTypeRepository.insert(model);
}
@Override
public void updateRepairJudgeType(MesRepairJudgeType model) {
MesRepairJudgeType repairJudgeTypeDb = repairJudgeTypeRepository.getById(model.getId());
if (null == repairJudgeTypeDb)
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode())
.setErrorDetail("ID[%s]记录不存在", model.getId())
.build();
// 封装唯一校验查询条件
DdlPackBean packBean = DdlPackBean.getDdlPackBean(model.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(model.getRepairJudgeCode(), MesExtConstWords.REPAIR_JUDGE_CODE, packBean);
MesRepairJudgeType repairJudgeTypeDbIsExist = repairJudgeTypeRepository.getByProperty(packBean);
if (null != repairJudgeTypeDbIsExist && repairJudgeTypeDbIsExist.getId().compareTo(repairJudgeTypeDbIsExist.getId()) != 0) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_EXIT.getCode())
.setErrorDetail("维修判定类型代码【%s】在维修判定类型启用或禁用数据中已存在"
, model.getRepairJudgeCode())
.setErrorSolution("请更换新增参数")
.build();
}
repairJudgeTypeDb.setRepairJudgeCode(model.getRepairJudgeCode());
repairJudgeTypeDb.setRepairJudgeName(model.getRepairJudgeName());
repairJudgeTypeDb.setSeq(model.getSeq());
repairJudgeTypeDb.setSystemSyncStatus(MesExtEnumUtil.IF_SYNC_STATUS.NO_SYNC.getValue());
ConvertBean.serviceModelUpdate(repairJudgeTypeDb, model.getModifyUser());
repairJudgeTypeRepository.save(repairJudgeTypeDb);
}
@Override
public int updateRepairJudgeTypeValidById(BatchIdModel model, String userName) {
StringBuffer wheres = new StringBuffer();
HqlPack.getInPack(String.join(",", model.getIds()), MesExtConstWords.ID, wheres);
int num = repairJudgeTypeRepository.updateByHqlWhere(
wheres.toString(),
new String[]{MesExtConstWords.SYSTEM_SYNC_STATUS, MesExtConstWords.IS_VALID, MesExtConstWords.MODIFY_USER, MesExtConstWords.MODIFY_DATE_TIME},
new Object[]{MesExtEnumUtil.IF_SYNC_STATUS.NO_SYNC.getValue(), model.getStatus(), userName, TimeTool.getNowTime(true)}
);
return num;
}
@Override
public int deleteRepairJudgeTypeValidById(BatchIdModel model, String userName) {
StringBuffer wheres = new StringBuffer();
HqlPack.getInPack(String.join(",", model.getIds()), MesExtConstWords.ID, wheres);
int num = repairJudgeTypeRepository.updateByHqlWhere(
wheres.toString(),
new String[]{MesExtConstWords.SYSTEM_SYNC_STATUS, MesExtConstWords.IS_VALID, MesExtConstWords.MODIFY_USER, MesExtConstWords.MODIFY_DATE_TIME},
new Object[]{MesExtEnumUtil.IF_SYNC_STATUS.NO_SYNC.getValue(), CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue(), userName, TimeTool.getNowTime(true)}
);
return num;
}
@Override
public List<MesRepairJudgeType> queryRepairJudgeList(String organizeCode) {
return repairJudgeTypeRepository.findByProperty(
new String[]{MesExtConstWords.ORGANIZE_CODE, MesExtConstWords.IS_DELETED, MesExtConstWords.IS_VALID},
new Object[]{organizeCode, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), CommonEnumUtil.IS_VAILD.VAILD.getValue()});
}
@Override
public Map<String, String> queryRepairJudgeMap(String organizeCode) {
List<MesRepairJudgeType> mesRepairJudgeTypes = queryRepairJudgeList(organizeCode);
return CollectionUtils.isEmpty(mesRepairJudgeTypes) ? null :
mesRepairJudgeTypes.stream().collect(Collectors.toMap(
MesRepairJudgeType::getRepairJudgeCode, MesRepairJudgeType::getRepairJudgeName, (x,y) -> y));
}
}

@ -16,7 +16,6 @@ import cn.estsh.i3plus.pojo.base.common.PagerHelper;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
import cn.estsh.i3plus.pojo.base.tool.HqlPack;
import cn.estsh.i3plus.pojo.mes.repository.MesWorkCellRepository;
import cn.estsh.impp.framework.boot.auth.AuthUtil;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import org.springframework.beans.factory.annotation.Autowired;
@ -109,8 +108,17 @@ public class ManageCodeService implements IManageCodeService {
}
@Override
public void deleteWeaklyMesManageCodeByIds(Long[] ids, String userName) {
mesManageCodeRDao.deleteWeaklyByIds(ids, userName);
public int deleteWeaklyMesManageCodeByIds(String[] ids, String userName) {
StringBuffer wheres = new StringBuffer();
HqlPack.getInPack(String.join(",", ids), MesExtConstWords.ID, wheres);
int num = mesManageCodeRDao.updateByHqlWhere(
wheres.toString(),
new String[]{MesExtConstWords.SYSTEM_SYNC_STATUS, MesExtConstWords.IS_VALID, MesExtConstWords.MODIFY_USER, MesExtConstWords.MODIFY_DATE_TIME},
new Object[]{MesExtEnumUtil.IF_SYNC_STATUS.NO_SYNC.getValue(), CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue(), userName, TimeTool.getNowTime(true)}
);
return num;
}
@Override

@ -108,16 +108,16 @@ public class SxBadStatisticsReportFormService implements ISxBadStatisticsReportF
List<MesOutPutStatistics> itemOutPutStatisticsList = CollectionUtils.isEmpty(outPutStatisticsMap) ? null : outPutStatisticsMap.get(key);
//总产量
result.setQty(getQty(itemOutPutStatisticsList));
//误判数
result.setMisjudgeQty(getBadQtyByType(itemList, MesExtEnumUtil.REPAIR_JUDGE.MISJUDGE.getValue()));
//误判率
result.setMisjudgeRate(getRateDecimalOne(result.getMisjudgeQty(), result.getQty()));
//部品不良数
result.setPartsBadQty(getBadQtyByType(itemList, MesExtEnumUtil.REPAIR_JUDGE.PARTS_BAD.getValue()));
//部品不良率
result.setPartsBadRate(getRateDecimalOne(result.getPartsBadQty(), result.getQty()));
//作业不良数
result.setTaskBadQty(getBadQtyByType(itemList, MesExtEnumUtil.REPAIR_JUDGE.TASK_BAD.getValue()));
////误判数
//result.setMisjudgeQty(getBadQtyByType(itemList, MesExtEnumUtil.REPAIR_JUDGE.MISJUDGE.getValue()));
////误判率
//result.setMisjudgeRate(getRateDecimalOne(result.getMisjudgeQty(), result.getQty()));
////部品不良数
//result.setPartsBadQty(getBadQtyByType(itemList, MesExtEnumUtil.REPAIR_JUDGE.PARTS_BAD.getValue()));
////部品不良率
//result.setPartsBadRate(getRateDecimalOne(result.getPartsBadQty(), result.getQty()));
////作业不良数
//result.setTaskBadQty(getBadQtyByType(itemList, MesExtEnumUtil.REPAIR_JUDGE.TASK_BAD.getValue()));
//作业不良率
result.setTaskBadRate(getRateDecimalOne(result.getTaskBadQty(), result.getQty()));
//总不良率
@ -142,9 +142,9 @@ public class SxBadStatisticsReportFormService implements ISxBadStatisticsReportF
.thenComparing(ProjectBadPerformanceReportModel::getWorkCenterCode)).collect(Collectors.toList());
}
private Double getBadQtyByType(List<MesRepairRecordExt> itemList, Integer type) {
private Double getBadQtyByType(List<MesRepairRecordExt> itemList, String type) {
List<MesRepairRecordExt> list = CollectionUtils.isEmpty(itemList) ? null :
itemList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getRepairJudge()) && o.getRepairJudge().compareTo(type) == 0)).collect(Collectors.toList());
itemList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getRepairJudgeCode()) && o.getRepairJudgeCode().compareTo(type) == 0)).collect(Collectors.toList());
return CollectionUtils.isEmpty(list) ? new Double(0) : new Double(list.size());
}
@ -366,7 +366,7 @@ public class SxBadStatisticsReportFormService implements ISxBadStatisticsReportF
if (null != item) {
item.setApprovalStatusName(!StringUtils.isEmpty(item.getApprovalStatus()) ? MesExtEnumUtil.BAD_CELL_DETAIL_APPROVAL_STATUS.valueOfDescription(item.getApprovalStatus()) : null);
item.setRepairStatusName(!StringUtils.isEmpty(item.getRepairStatus()) ? MesExtEnumUtil.REPAIR_STATUS.valueOfDescription(item.getRepairStatus()) : null);
item.setRepairJudgeName(!StringUtils.isEmpty(item.getRepairJudge()) ? MesExtEnumUtil.REPAIR_JUDGE.valueOfDescription(item.getRepairJudge()) : null);
//item.setRepairJudgeName(!StringUtils.isEmpty(item.getRepairJudge()) ? MesExtEnumUtil.REPAIR_JUDGE.valueOfDescription(item.getRepairJudge()) : null);
}
}
}

@ -100,7 +100,7 @@ public class SxProdDataToSoftAdapterStrategyBlslService implements ISxProdDataTo
if (null != centerArr && centerArr.length >= 3) result.setDontClass(centerArr[2]);
if (StringUtils.isEmpty(result.getSerialNumber())) result.setSerialNumber(MesExtConstWords.EMPTY);
if (StringUtils.isEmpty(result.getDefectType())) result.setDefectType(MesExtConstWords.EMPTY);
result.setRepairJudgeName(StringUtils.isEmpty(result.getRepairJudge()) ? null : MesExtEnumUtil.REPAIR_JUDGE.valueOfDescription(result.getRepairJudge()));
//result.setRepairJudgeName(StringUtils.isEmpty(result.getRepairJudge()) ? null : MesExtEnumUtil.REPAIR_JUDGE.valueOfDescription(result.getRepairJudge()));
result.setRepairStatusName(MesExtEnumUtil.REPAIR_STATUS.REPAIRED.getDescription());
result.setCreateDate(!StringUtils.isEmpty(result.getCreateDatetime()) ? result.getCreateDatetime().substring(0, 10) : null);
result.setModifyDate(!StringUtils.isEmpty(result.getModifyDatetime()) ? result.getModifyDatetime().substring(0, 10) : null);

@ -0,0 +1,86 @@
package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.busi.jx;
import cn.estsh.i3plus.ext.mes.api.busi.jx.IJxProductReportService;
import cn.estsh.i3plus.ext.mes.pojo.bean.MesPartExt;
import cn.estsh.i3plus.ext.mes.pojo.bean.MesProdBindRecordExt;
import cn.estsh.i3plus.ext.mes.pojo.repository.MesPartExtRepository;
import cn.estsh.i3plus.ext.mes.pojo.repository.MesProdBindRecordExtRepository;
import cn.estsh.i3plus.ext.mes.pojo.repository.MesProduceSnExtRepository;
import cn.estsh.i3plus.ext.mes.pojo.sqlpack.MesExtHqlPack;
import cn.estsh.i3plus.ext.mes.pojo.util.MesExtConstWords;
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.common.PagerHelper;
import cn.estsh.i3plus.pojo.base.enumutil.MesEnumUtil;
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
import cn.estsh.i3plus.pojo.base.util.StringUtil;
import cn.estsh.i3plus.pojo.mes.bean.MesPart;
import cn.estsh.i3plus.pojo.mes.bean.MesProdBindRecord;
import cn.estsh.i3plus.pojo.mes.bean.MesProduceSn;
import cn.estsh.i3plus.pojo.mes.sqlpack.MesHqlPack;
import org.apache.shiro.util.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;
/**
* @PROJECT_NAME: i3plus-mes-panasonic-jx
* @DESCRIPTION:
* @USER: xinwang.yi
* @DATE: 2023-11-13 17:06
*/
@Service
public class JxProductReportService implements IJxProductReportService {
@Autowired
private MesPartExtRepository partExtRepository;
@Autowired
private MesProdBindRecordExtRepository prodBindRecordExtRepository;
@Override
public ListPager<MesProdBindRecord> queryMesProdBindRecordByPager(MesProdBindRecordExt prodBindRecordExtExt, Pager pager) {
DdlPackBean hqlPack = MesExtHqlPack.getMesProdBindRecordExt(prodBindRecordExtExt);
int count = prodBindRecordExtRepository.findByHqlWhereCount(hqlPack);
pager = PagerHelper.getPager(pager, count);
hqlPack.setOrderByStr(prodBindRecordExtExt.orderBy());
List<MesProdBindRecordExt> prodBindRecordExts = prodBindRecordExtRepository.findByHqlWherePage(hqlPack, pager);
if (CollectionUtils.isEmpty(prodBindRecordExts)) {
return new ListPager(prodBindRecordExts, pager);
}
// 去重并获取物料代码
Set<String> itemPartNoSet = prodBindRecordExts.stream().map(MesProdBindRecord::getItemPartNo).collect(Collectors.toSet());
Set<String> partNoSet = prodBindRecordExts.stream().map(MesProdBindRecord::getPartNo).collect(Collectors.toSet());
partNoSet.addAll(itemPartNoSet);
DdlPackBean packBean = DdlPackBean.getDdlPackBean(prodBindRecordExtExt.getOrganizeCode());
DdlPreparedPack.getInPackList(new ArrayList<>(partNoSet), MesExtConstWords.PART_NO, packBean);
List<MesPartExt> parts = partExtRepository.findByHqlWhere(packBean);
Map<String, String> partMap = parts.stream().collect(Collectors.toMap(MesPartExt::getPartNo, MesPartExt::getPartName));
for (MesProdBindRecordExt mesProdBindRecord : prodBindRecordExts) {
if (!CollectionUtils.isEmpty(partMap)) {
if (!StringUtil.isEmpty(mesProdBindRecord.getPartNo()) && partMap.containsKey(mesProdBindRecord.getPartNo())) {
mesProdBindRecord.setPartName(partMap.get(mesProdBindRecord.getPartNo()));
}
if (!StringUtil.isEmpty(mesProdBindRecord.getItemPartNo()) && partMap.containsKey(mesProdBindRecord.getItemPartNo())) {
mesProdBindRecord.setItemPartName(partMap.get(mesProdBindRecord.getItemPartNo()));
}
}
mesProdBindRecord.setActionTypeName(StringUtil.isEmpty(mesProdBindRecord.getActionType()) ?
null : MesEnumUtil.MES_ACTION_TYPE.valueOfDescription(mesProdBindRecord.getActionType()));
mesProdBindRecord.setIsBindKeyName(mesProdBindRecord.getIsBindKey() == null ?
null : MesEnumUtil.MES_IS_BIND_KEY.valueOfDescription(mesProdBindRecord.getIsBindKey()));
}
return new ListPager(prodBindRecordExts, pager);
}
}

@ -0,0 +1,215 @@
package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.excel.jx;
import cn.estsh.i3plus.ext.mes.api.base.IExcelImportExtService;
import cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base.CommonExtService;
import cn.estsh.i3plus.ext.mes.pojo.bean.MesRepairJudgeType;
import cn.estsh.i3plus.ext.mes.pojo.model.ExcelImportErrorExtModel;
import cn.estsh.i3plus.ext.mes.pojo.model.ExcelImportResultExtModel;
import cn.estsh.i3plus.ext.mes.pojo.repository.MesRepairJudgeTypeRepository;
import cn.estsh.i3plus.ext.mes.pojo.util.MesExtEnumUtil;
import cn.estsh.i3plus.platform.common.convert.ConvertBean;
import cn.estsh.i3plus.platform.common.util.MesConstWords;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import org.apache.poi.ss.usermodel.CellType;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
* @Description :
* @Reference :
* @Author : xinwang.yi
* @CreateDate : 2023-10-23
* @Modify:
**/
@Service
public class RepairJudgeTypeExcelService implements IExcelImportExtService {
@Autowired
private MesRepairJudgeTypeRepository repairJudgeTypeRepository;
@Autowired
private CommonExtService commonExtService;
/**
*
*
* @param workbook
* @param organizeCode
* @param userName
* @return
*/
@Override
public ExcelImportResultExtModel insertDataByExcel(Workbook workbook, String organizeCode, String userName) {
//读取表格
ExcelImportResultExtModel excelImportResultExtModel = this.sheetExtractMesRepairJudgeType(workbook.getSheetAt(0), organizeCode, userName);
//数据入库
this.insertExcelMesRepairJudgeType(excelImportResultExtModel);
return excelImportResultExtModel;
}
/**
* -
*
* @param sheetAt
* @param organizeCode
* @param userName
* @return
*/
private ExcelImportResultExtModel sheetExtractMesRepairJudgeType(Sheet sheetAt, String organizeCode, String userName) {
//从0行开始读取
int totalNumberOfRows = sheetAt.getLastRowNum() + 1;
//MesRepairJudgeType集合
List<MesRepairJudgeType> repairJudgeTypeList = new ArrayList<>();
//成功数量
Integer successRowNum = 0;
//失败数量
Integer failRowNum = 0;
//错误的行号
String errorRows = "";
//错误行信息集合
List<ExcelImportErrorExtModel> excelImportErrorExtModels = new ArrayList<>();
//用于EXCEL表中的 维修判定类型 唯一校验
Map<String, String> repairJudgeTypeByOnlyMap = new HashMap<>();
//根据维修判定类型 查询替代料中是否存在数据
List<MesRepairJudgeType> repairJudgeTypeDbList = repairJudgeTypeRepository.findByProperty(
new String[]{MesConstWords.ORGANIZE_CODE, MesConstWords.IS_DELETED},
new Object[]{organizeCode, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()});
Map<String, MesRepairJudgeType> repairJudgeTypeMapByCode = CollectionUtils.isEmpty(repairJudgeTypeDbList) ? null :
repairJudgeTypeDbList.stream().filter(o -> null != o).collect(Collectors.toMap(MesRepairJudgeType::getRepairJudgeCode, Function.identity(), (x,y) -> y));
//从excel表的第5行数据开始导入getFirstRowNum是从0行开始读取
for (int i = (sheetAt.getFirstRowNum() + 4); i < totalNumberOfRows; i++) {
Row row = sheetAt.getRow(i);
//空行跳过
if (null == row) {
continue;
}
//获取总列数
Short lastCellNum = row.getLastCellNum();
if (lastCellNum > 0) {
int rowNum = i + 1; //当前行号
int errorNum = 0; //错误数量
String cellNum = ""; //错误列号
String errorInfo = ""; //错误信息
//维修判定类型代码
try {
//第一列必须有值,否则跳过
row.getCell(0).setCellType(CellType.STRING);
} catch (Exception e) {
continue;
}
String repairJudgeTypeCode = row.getCell(0, Row.MissingCellPolicy.CREATE_NULL_AS_BLANK).getStringCellValue().trim();
//维修判定类型名称
String repairJudgeTypeName = null;
try {
row.getCell(1).setCellType(CellType.STRING);
repairJudgeTypeName = row.getCell(1, Row.MissingCellPolicy.CREATE_NULL_AS_BLANK).getStringCellValue().trim();
} catch (Exception e) {
}
//序号
String seq = null;
try {
row.getCell(2).setCellType(CellType.STRING);
seq = row.getCell(2, Row.MissingCellPolicy.CREATE_NULL_AS_BLANK).getStringCellValue().trim();
} catch (Exception e) {
}
String key = repairJudgeTypeCode;
Boolean isExist = false;
//校验唯一性 不重复
if (!repairJudgeTypeByOnlyMap.containsKey(key)) {
repairJudgeTypeByOnlyMap.put(key, String.valueOf(rowNum));
//根据维修判定类型查询替代信息中是否存在数据
if (StringUtils.isEmpty(errorInfo) && !CollectionUtils.isEmpty(repairJudgeTypeMapByCode) && repairJudgeTypeMapByCode.containsKey(key)) {
errorNum++;
cellNum += "A;";
errorInfo += "第A列数据已经存在数据库;";
}
//校验是否已经存在数据库
if (!CollectionUtils.isEmpty(repairJudgeTypeMapByCode) && repairJudgeTypeMapByCode.containsKey(key)) isExist = true;
} else {
errorNum++;
cellNum += "A;";
errorInfo += "第A列数据跟第" + repairJudgeTypeByOnlyMap.get(key) +
"行的第A列数据重复;";
}
//没有错误的时候封装MesRepairJudgeType
if (errorNum == 0) {
MesRepairJudgeType repairJudgeType;
if (isExist) {
repairJudgeType = repairJudgeTypeMapByCode.get(key);
ConvertBean.serviceModelUpdate(repairJudgeType, userName);
} else {
repairJudgeType = new MesRepairJudgeType();
ConvertBean.serviceModelInitialize(repairJudgeType, userName);
repairJudgeType.setRepairJudgeCode(repairJudgeTypeCode);
}
repairJudgeType.setRepairJudgeName(repairJudgeTypeName);
repairJudgeType.setSeq(seq);
repairJudgeType.setSystemSyncStatus(MesExtEnumUtil.IF_SYNC_STATUS.NO_SYNC.getValue());
repairJudgeTypeList.add(repairJudgeType);
successRowNum++;
} else {
//封装错误行信息ExcelImportErrorExtModel
excelImportErrorExtModels = commonExtService.getExcelImportErrorModels(excelImportErrorExtModels, rowNum, errorNum, cellNum, errorInfo);
errorRows += rowNum + ";";
failRowNum++;
}
}
}
//校验EXCEL数据
commonExtService.checkExcelData(failRowNum, successRowNum, errorRows);
//封装返回结果
ExcelImportResultExtModel excelImportResultExtModel = commonExtService.getExcelImportResultModel(failRowNum, successRowNum, excelImportErrorExtModels, errorRows);
excelImportResultExtModel.setExcelList((failRowNum > 0) ? null : repairJudgeTypeList);
return excelImportResultExtModel;
}
/**
* -
*
* @param excelImportResultExtModel
*/
private void insertExcelMesRepairJudgeType(ExcelImportResultExtModel excelImportResultExtModel) {
//导入数据
if (null != excelImportResultExtModel) {
List<MesRepairJudgeType> repairJudgeTypeList = excelImportResultExtModel.getExcelList();
if (!CollectionUtils.isEmpty(repairJudgeTypeList)) repairJudgeTypeRepository.saveAll(repairJudgeTypeList);
}
}
}

@ -113,6 +113,19 @@ public class MesOrderJob extends BaseBean implements Serializable {
@ApiParam("工位集合")
private String cellCollect;
@Lob
@Column(name = "CLOSE_REASON")
@ApiParam("关闭原因")
private String closeReason;
@Column(name = "CLOSE_TIME")
@ApiParam("关闭时间")
private String closeTime;
@Column(name = "CLOSE_USER")
@ApiParam("关闭人")
private String closeUser;
@Transient
@ApiParam("生成时间开始")
private String generateTimeStart;

@ -0,0 +1,54 @@
package cn.estsh.i3plus.ext.mes.pojo.bean;
import cn.estsh.i3plus.pojo.base.bean.BaseBean;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiParam;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.annotations.ColumnDefault;
import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Index;
import javax.persistence.Table;
import java.io.Serializable;
/**
* @PROJECT_NAME: i3plus-mes-panasonic-jx
* @DESCRIPTION:
* @USER: xinwang.yi
* @DATE: 2023-11-13 11:45
*/
@Data
@Entity
@DynamicInsert
@DynamicUpdate
@EqualsAndHashCode(callSuper = true)
@Table(name = "MES_REPAIR_JUDGE_TYPE", indexes = {
@Index(columnList = "REPAIR_JUDGE_CODE")
})
@Api("维修判定类型")
public class MesRepairJudgeType extends BaseBean implements Serializable {
private static final long serialVersionUID = 9046361474577275908L;
@Column(name = "REPAIR_JUDGE_CODE")
@ApiParam("维修判定代码")
private String repairJudgeCode;
@Column(name = "REPAIR_JUDGE_NAME")
@ApiParam("维修判定名称")
private String repairJudgeName;
@Column(name = "SEQ")
@ApiParam("排序")
private String seq;
@Column(name = "SYSTEM_SYNC_STATUS")
@ColumnDefault("2")
@ApiParam(value = "系统同步标志")
public Integer systemSyncStatus = 2;
}

@ -38,10 +38,19 @@ public class MesRepairRecordExt extends MesRepairRecord implements Serializable
@Column(name = "WORK_ORDER_NO")
private String workOrderNo;
//枚举:10=误判/20=部品不良/30=工程不良
@Column(name = "REPAIR_JUDGE")
@ApiParam("维修判定")
private Integer repairJudge;
//枚举:由维修判定类型页面维护
//@Column(name = "REPAIR_JUDGE")
//@ApiParam("维修判定")
//private String repairJudge;
//枚举:由维修判定类型页面维护
@Column(name = "REPAIR_JUDGE_CODE")
@ApiParam("维修判定代码")
private String repairJudgeCode;
@Column(name = "REPAIR_JUDGE_NAME")
@ApiParam("维修判定名称")
private String repairJudgeName;
@Column(name = "REPAIR_DATE_TIME")
@ApiParam("维修时间")

@ -95,4 +95,13 @@ public class SxOrderJobModel implements Serializable {
@ApiParam("是否手动创建 10手动创建 20自动创建")
private String handlerMethodName;
@ApiParam("关闭原因")
private String closeReason;
@ApiParam("关闭时间")
private String closeTime;
@ApiParam("关闭人")
private String closeUser;
}

@ -99,7 +99,7 @@ public class SxRepairRecordReportModel implements Serializable {
private String memo;
@ApiParam("维修判定")
private Integer repairJudge;
private String repairJudgeCode;
@ApiParam("维修判定描述")
private String repairJudgeName;
@ -118,7 +118,8 @@ public class SxRepairRecordReportModel implements Serializable {
public SxRepairRecordReportModel(Long id, String workTime, String shiftCode, String workOrderNo, String workCenterCode, String workCellCode,
String serialNumber, String productSn, String partNo, String partNameRdd, String defectCode, String defectName, String defectType,
String defectTypeName, String defectActionTime, Integer repairStatus, String createUser, String dcCode, String dcName,
String repairCode, String repairName, Integer approvalStatus,String memo, Integer repairJudge, String repairDatetime, String modifyUser) {
String repairCode, String repairName, Integer approvalStatus,String memo, String repairJudgeCode, String repairJudgeName,
String repairDatetime, String modifyUser) {
this.id = id;
this.workTime = workTime;
this.shiftCode = shiftCode;
@ -142,7 +143,8 @@ public class SxRepairRecordReportModel implements Serializable {
this.repairName = repairName;
this.approvalStatus=approvalStatus;
this.memo = memo;
this.repairJudge = repairJudge;
this.repairJudgeCode = repairJudgeCode;
this.repairJudgeName = repairJudgeName;
this.repairDatetime = repairDatetime;
this.modifyUser = modifyUser;
}

@ -80,7 +80,7 @@ public class SxProdDataBlslModel implements Serializable {
private String dcName;
@ApiParam("维修判定")
private Integer repairJudge;
private String repairJudge;
@ApiParam("维修判定")
private String repairJudgeName;

@ -0,0 +1,15 @@
package cn.estsh.i3plus.ext.mes.pojo.repository;
import cn.estsh.i3plus.ext.mes.pojo.bean.MesRepairJudgeType;
import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository;
import org.springframework.stereotype.Repository;
/**
* @author xinwang.yi
* @version 1.0
* @date 2023/11/13 9:17
**/
@Repository
public interface MesRepairJudgeTypeRepository extends BaseRepository<MesRepairJudgeType, Long> {
}

@ -16,6 +16,7 @@ import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
import cn.estsh.i3plus.pojo.mes.bean.*;
import org.apache.commons.beanutils.ConvertUtils;
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import java.util.ArrayList;
@ -879,4 +880,41 @@ public class MesExtHqlPack {
return packBean;
}
public static DdlPackBean getRepairJudgeType(MesRepairJudgeType model) {
DdlPackBean packBean = getAllBaseDataByNormalPro(model, model.getOrganizeCode());
DdlPreparedPack.getStringLikerPack(model.getRepairJudgeCode(), MesExtConstWords.REPAIR_JUDGE_CODE, packBean);
DdlPreparedPack.getStringLikerPack(model.getRepairJudgeName(), MesExtConstWords.REPAIR_JUDGE_NAME, packBean);
DdlPreparedPack.getStringEqualPack(model.getSeq(), MesExtConstWords.SEQ, packBean);
return packBean;
}
public static DdlPackBean getMesProdBindRecordExt(MesProdBindRecordExt mesProdBindRecord) {
DdlPackBean packBean = getAllBaseDataByNormalPro(mesProdBindRecord, mesProdBindRecord.getOrganizeCode());
DdlPreparedPack.getStringRightLikerPack(mesProdBindRecord.getItemPartNo(), MesExtConstWords.ITEM_PART_NO, packBean);
DdlPreparedPack.getStringEqualPack(mesProdBindRecord.getSerialNumber(), MesExtConstWords.SERIAL_NUMBER, packBean);
DdlPreparedPack.getStringEqualPack(mesProdBindRecord.getProductSn(), MesExtConstWords.PRODUCT_SN, packBean);
DdlPreparedPack.getStringLikerPack(mesProdBindRecord.getKpSn(), "kpSn", packBean);
DdlPreparedPack.getStringLikerPack(mesProdBindRecord.getWorkCenterCode(), MesExtConstWords.WORK_CENTER_CODE, packBean);
DdlPreparedPack.getStringLikerPack(mesProdBindRecord.getWorkCellCode(), MesExtConstWords.WORK_CELL_CODE, packBean);
DdlPreparedPack.getStringLikerPack(mesProdBindRecord.getLotNo(), MesExtConstWords.LOT_NO, packBean);
DdlPreparedPack.getNumEqualPack(mesProdBindRecord.getIsBindKey(), MesExtConstWords.IS_BIND_KEY, packBean);
DdlPreparedPack.getNumEqualPack(mesProdBindRecord.getActionType(), "actionType", packBean);
DdlPreparedPack.getStringLikerPack(mesProdBindRecord.getSupplierCode(), "supplierCode", packBean);
DdlPreparedPack.timeBuilder(mesProdBindRecord.getCreateDateTimeStart(), mesProdBindRecord.getCreateDateTimeEnd(), MesExtConstWords.CREATE_DATE_TIME, packBean, true);
return packBean;
}
}

@ -883,4 +883,9 @@ public class MesExtConstWords {
//检查数量
public static final String OQC_QTY = "oqcQty";
//维修判定代码
public static final String REPAIR_JUDGE_CODE = "repairJudgeCode";
//维修判定名称
public static final String REPAIR_JUDGE_NAME = "repairJudgeName";
}

@ -87,7 +87,8 @@ public class MesExtEnumUtil {
MES_JX_BADNESS_TYPE(950, "jxBadnessTypeExcelService", "JX出货不良类型"),
MES_JX_BADNESS_CLASSIFY(960, "jxBadnessClassifyExcelService", "JX出货不良分类"),
MES_JX_BADNESS_CLASSIFY_DETAIL(970, "jxBadnessClassifyDetailExcelService", "JX不良分类明细"),
MES_WORK_CELL_EXT(980, "workCellExtExcelService", "工位信息导入");
MES_WORK_CELL_EXT(980, "workCellExtExcelService", "工位信息导入"),
REPAIR_JUDGE_TYPE(990, "repairJudgeTypeExcelService", "返修判定类型导入");
private int value;
private String service;

Loading…
Cancel
Save