forked from I3-YF/i3plus-mes-yfai
tags/yfai-mes-ext-v1.0
parent
63ea5b6e11
commit
b8bf5649a0
@ -0,0 +1,16 @@
|
||||
package cn.estsh.i3plus.ext.mes.api.busi.jx;
|
||||
|
||||
import cn.estsh.i3plus.ext.mes.pojo.bean.MesManualReportTravel;
|
||||
import cn.estsh.i3plus.pojo.base.bean.ListPager;
|
||||
import cn.estsh.i3plus.pojo.base.common.Pager;
|
||||
|
||||
public interface IJxManualReportTravelService {
|
||||
|
||||
/**
|
||||
* 手动报工履历报表
|
||||
* @param manualReportTravel
|
||||
* @return
|
||||
*/
|
||||
ListPager<MesManualReportTravel> queryManualReportTravelByPager(MesManualReportTravel manualReportTravel, Pager pager);
|
||||
|
||||
}
|
@ -0,0 +1,49 @@
|
||||
package cn.estsh.i3plus.ext.mes.api.busi.jx;
|
||||
|
||||
import cn.estsh.i3plus.pojo.base.bean.ListPager;
|
||||
import cn.estsh.i3plus.pojo.base.common.Pager;
|
||||
|
||||
public interface IJxWorkOrderService {
|
||||
|
||||
/**
|
||||
* 删除返工条码
|
||||
* @param workOrderNo
|
||||
* @return
|
||||
*/
|
||||
void deleteSnRepairByType(String workOrderNo, String[] produceSnArr, String organizeCode, String userName);
|
||||
|
||||
/**
|
||||
* 删除返工条码
|
||||
* @param workOrderNo
|
||||
* @return
|
||||
*/
|
||||
void deleteProduceSnRepair(String workOrderNo, String[] produceSnArr, String organizeCode, String userName);
|
||||
|
||||
/**
|
||||
* 删除返工条码
|
||||
* @param workOrderNo
|
||||
* @return
|
||||
*/
|
||||
void deletePackageNoRepair(String workOrderNo, String[] packageNoArr, String organizeCode, String userName);
|
||||
|
||||
/**
|
||||
* 查询组件返工条码
|
||||
* @param workOrderNo
|
||||
* @return
|
||||
*/
|
||||
ListPager queryRepairSnByPager(String workOrderNo, String packageNo, String organizeCode, Pager pager);
|
||||
|
||||
/**
|
||||
* 查询组件返工条码
|
||||
* @param workOrderNo
|
||||
* @return
|
||||
*/
|
||||
ListPager queryRepairPackageByPager(String workOrderNo, String packageNo, String organizeCode, Pager pager);
|
||||
|
||||
/**
|
||||
* 查询本体返工条码
|
||||
* @param workOrderNo
|
||||
* @return
|
||||
*/
|
||||
ListPager queryRepairProduceSnByPager(String workOrderNo, String sn, String organizeCode, Pager pager);
|
||||
}
|
@ -0,0 +1,46 @@
|
||||
package cn.estsh.i3plus.ext.mes.apiservice.controller.base.jx;
|
||||
|
||||
import cn.estsh.i3plus.ext.mes.api.busi.jx.IJxManualReportTravelService;
|
||||
import cn.estsh.i3plus.ext.mes.pojo.bean.MesManualReportTravel;
|
||||
import cn.estsh.i3plus.platform.common.util.CommonConstWords;
|
||||
import cn.estsh.i3plus.pojo.base.common.Pager;
|
||||
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
|
||||
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 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-10-27 10:14
|
||||
*/
|
||||
@RestController
|
||||
@Api(tags = "手动报工 控制层")
|
||||
@RequestMapping(CommonConstWords.BASE_URL_MES + "/manual-report-travel")
|
||||
public class JxManualReportTravelController {
|
||||
|
||||
@Autowired
|
||||
private IJxManualReportTravelService manualReportTravelService;
|
||||
|
||||
@GetMapping(value = "/query-pager")
|
||||
public ResultBean queryManualReportTravelByPager(MesManualReportTravel manualReportTravel, Pager pager) {
|
||||
|
||||
try {
|
||||
manualReportTravel.setOrganizeCode(AuthUtil.getOrganize().getOrganizeCode());
|
||||
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode())
|
||||
.setListPager(manualReportTravelService.queryManualReportTravelByPager(manualReportTravel, pager));
|
||||
} catch (ImppBusiException busExcep) {
|
||||
return ResultBean.fail(busExcep);
|
||||
} catch (Exception e) {
|
||||
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,68 @@
|
||||
package cn.estsh.i3plus.ext.mes.apiservice.controller.busi.jx;
|
||||
|
||||
import cn.estsh.i3plus.ext.mes.api.busi.jx.IJxWorkOrderService;
|
||||
import cn.estsh.i3plus.platform.common.util.CommonConstWords;
|
||||
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 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.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
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-10-30 15:26
|
||||
*/
|
||||
@RestController
|
||||
@Api(tags = "嘉兴生产工单 控制层")
|
||||
@RequestMapping(CommonConstWords.BASE_URL_MES + "/jx/work-order")
|
||||
public class JxWorkOrderController extends MesBaseController {
|
||||
|
||||
@Autowired
|
||||
private IJxWorkOrderService jxWorkOrderService;
|
||||
|
||||
@PostMapping("/delete-rework-sn")
|
||||
@ApiOperation("删除返工条码")
|
||||
public ResultBean deleteProduceSnRepair(String workOrderNo, String[] snArr) {
|
||||
try {
|
||||
|
||||
ValidatorBean.checkNotNull(workOrderNo, "工单号不能为空");
|
||||
ValidatorBean.checkNotNull(snArr, "条码不能为空");
|
||||
|
||||
jxWorkOrderService.deleteSnRepairByType(workOrderNo, snArr, AuthUtil.getOrganize().getOrganizeCode(), 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("/query-repair-sn-by-pager")
|
||||
@ApiOperation("查询返工条码 组件/本体")
|
||||
public ResultBean deletePackageSnRepairByPager(String workOrderNo, String sn, Pager pager) {
|
||||
try {
|
||||
ValidatorBean.checkNotNull(workOrderNo, "工单号不能为空");
|
||||
return ResultBean.success("修改成功")
|
||||
.setListPager(jxWorkOrderService.queryRepairSnByPager(workOrderNo, sn, AuthUtil.getOrganize().getOrganizeCode(), pager))
|
||||
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
|
||||
} catch (ImppBusiException busExcep) {
|
||||
return ResultBean.fail(busExcep);
|
||||
} catch (Exception e) {
|
||||
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,37 @@
|
||||
package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.busi.jx;
|
||||
|
||||
import cn.estsh.i3plus.ext.mes.api.busi.jx.IJxManualReportTravelService;
|
||||
import cn.estsh.i3plus.ext.mes.pojo.bean.MesManualReportTravel;
|
||||
import cn.estsh.i3plus.ext.mes.pojo.repository.MesManualReportTravelRepository;
|
||||
import cn.estsh.i3plus.ext.mes.pojo.sqlpack.MesExtHqlPack;
|
||||
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 org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* @PROJECT_NAME: i3plus-mes-panasonic-jx
|
||||
* @DESCRIPTION:
|
||||
* @USER: xinwang.yi
|
||||
* @DATE: 2023-10-27 10:18
|
||||
*/
|
||||
@Service
|
||||
public class JxManualReportTravelService implements IJxManualReportTravelService {
|
||||
|
||||
@Autowired
|
||||
private MesManualReportTravelRepository manualReportTravelRepository;
|
||||
|
||||
@Override
|
||||
public ListPager<MesManualReportTravel> queryManualReportTravelByPager(MesManualReportTravel manualReportTravel, Pager pager) {
|
||||
|
||||
DdlPackBean packBean = MesExtHqlPack.getMesManualReportTravel(manualReportTravel);
|
||||
|
||||
pager = PagerHelper.getPager(pager, manualReportTravelRepository.findByHqlWhereCount(packBean));
|
||||
|
||||
packBean.setOrderByStr(manualReportTravel.orderBy());
|
||||
|
||||
return new ListPager(manualReportTravelRepository.findByHqlWhere(packBean), pager);
|
||||
}
|
||||
}
|
@ -0,0 +1,255 @@
|
||||
package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.busi.jx;
|
||||
|
||||
import cn.estsh.i3plus.ext.mes.api.busi.jx.IJxWorkOrderService;
|
||||
import cn.estsh.i3plus.ext.mes.pojo.bean.*;
|
||||
import cn.estsh.i3plus.ext.mes.pojo.model.AntiStaticCheckModel;
|
||||
import cn.estsh.i3plus.ext.mes.pojo.model.jx.JxReworkSnModel;
|
||||
import cn.estsh.i3plus.ext.mes.pojo.repository.*;
|
||||
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.mes.sqlpack.MesHqlPack;
|
||||
import cn.estsh.impp.framework.boot.auth.AuthUtil;
|
||||
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.test.autoconfigure.data.ldap.DataLdapTest;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @PROJECT_NAME: i3plus-mes-panasonic-jx
|
||||
* @DESCRIPTION:
|
||||
* @USER: xinwang.yi
|
||||
* @DATE: 2023-10-30 15:44
|
||||
*/
|
||||
@Service
|
||||
public class JxWorkOrderService implements IJxWorkOrderService {
|
||||
|
||||
@Autowired
|
||||
private MesProduceSnExtRepository produceSnExtRepository;
|
||||
|
||||
@Autowired
|
||||
private MesWorkOrderExtRepository workOrderExtRepository;
|
||||
|
||||
@Autowired
|
||||
private MesWorkCenterExtRepository workCenterExtRepository;
|
||||
|
||||
@Autowired
|
||||
private MesProduceSnRepairRepository produceSnRepairRepository;
|
||||
|
||||
@Autowired
|
||||
private MesSubassemblyRemadeRecordRepository subassemblyRemadeRecordRepository;
|
||||
|
||||
// 产品条码
|
||||
public static final Integer PRODUCT_SN_TYPE = 10;
|
||||
// 包装条码
|
||||
public static final Integer PACKAGE_SN_TYPE = 20;
|
||||
|
||||
@Override
|
||||
public void deleteSnRepairByType(String workOrderNo, String[] snArr, String organizeCode, String userName) {
|
||||
|
||||
MesWorkCenterExt workCenterExt = getMesWorkCenterExt4WorkOrderNo(workOrderNo);
|
||||
|
||||
if (workCenterExt.getLineType().equals(MesExtEnumUtil.LINE_TYPE.ONTOLOGY_LINE.getDescription())) {
|
||||
// 本体
|
||||
deleteProduceSnRepair(workOrderNo, snArr, organizeCode, userName);
|
||||
} else {
|
||||
// 组件
|
||||
deletePackageNoRepair(workOrderNo, snArr, organizeCode, userName);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteProduceSnRepair(String workOrderNo, String[] produceSnArr, String organizeCode, String userName) {
|
||||
|
||||
DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
|
||||
DdlPreparedPack.getStringEqualPack(workOrderNo, MesExtConstWords.WORK_ORDER_NO, packBean);
|
||||
DdlPreparedPack.getInPackArray(produceSnArr, MesExtConstWords.PRODUCT_SN, packBean);
|
||||
List<MesProduceSnRepair> produceSnRepairList = produceSnRepairRepository.findByHqlWhere(packBean);
|
||||
|
||||
Map<String, MesProduceSnRepair> produceSnRepairListByPs = produceSnRepairList.stream().collect(Collectors.toMap(MesProduceSnRepair::getProductSn, Function.identity(), (x, y) -> y));
|
||||
|
||||
if (CollectionUtils.isEmpty(produceSnRepairList)) {
|
||||
throw ImppExceptionBuilder.newInstance()
|
||||
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
|
||||
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_EXIT.getCode())
|
||||
.setErrorDetail("条码无效")
|
||||
.build();
|
||||
}
|
||||
|
||||
String nowTime = TimeTool.getNowTime(true);
|
||||
|
||||
updateProduceSn(produceSnArr, produceSnRepairListByPs, organizeCode, userName, nowTime);
|
||||
|
||||
for (MesProduceSnRepair produceSnRepair : produceSnRepairList) {
|
||||
produceSnRepair.setIsDeleted(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue());
|
||||
produceSnRepair.setModifyUser(userName);
|
||||
produceSnRepair.setModifyDatetime(nowTime);
|
||||
produceSnRepair.setSystemSyncStatus(MesExtEnumUtil.IF_SYNC_STATUS.NO_SYNC.getValue());
|
||||
}
|
||||
|
||||
produceSnRepairRepository.saveAll(produceSnRepairList);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deletePackageNoRepair(String workOrderNo, String[] packageNoArr, String organizeCode, String userName) {
|
||||
DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
|
||||
DdlPreparedPack.getInPackArray(packageNoArr, MesExtConstWords.PACKAGENO, packBean);
|
||||
DdlPreparedPack.getStringEqualPack(workOrderNo, MesExtConstWords.WORK_ORDER_NO, packBean);
|
||||
List<MesSubassemblyRemadeRecord> subassemblyRemadeRecordList = subassemblyRemadeRecordRepository.findByHqlWhere(packBean);
|
||||
|
||||
if (CollectionUtils.isEmpty(subassemblyRemadeRecordList)) {
|
||||
throw ImppExceptionBuilder.newInstance()
|
||||
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
|
||||
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_EXIT.getCode())
|
||||
.setErrorDetail("返工条码[%s]不存在")
|
||||
.build();
|
||||
}
|
||||
|
||||
for (MesSubassemblyRemadeRecord subassemblyRemadeRecord : subassemblyRemadeRecordList) {
|
||||
subassemblyRemadeRecord.setIsDeleted(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue());
|
||||
ConvertBean.serviceModelUpdate(subassemblyRemadeRecord, userName);
|
||||
subassemblyRemadeRecord.setSystemSyncStatus(MesExtEnumUtil.IF_SYNC_STATUS.NO_SYNC.getValue());
|
||||
}
|
||||
|
||||
subassemblyRemadeRecordRepository.saveAll(subassemblyRemadeRecordList);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ListPager queryRepairSnByPager(String workOrderNo, String sn, String organizeCode, Pager pager) {
|
||||
|
||||
MesWorkCenterExt workCenterExt = getMesWorkCenterExt4WorkOrderNo(workOrderNo);
|
||||
|
||||
if (workCenterExt.getLineType().equals(MesExtEnumUtil.LINE_TYPE.ONTOLOGY_LINE.getDescription())) {
|
||||
|
||||
// 本体
|
||||
return queryRepairProduceSnByPager(workOrderNo, sn, organizeCode, pager);
|
||||
|
||||
} else {
|
||||
|
||||
// 组件
|
||||
return queryRepairPackageByPager(workOrderNo, sn, organizeCode, pager);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private MesWorkCenterExt getMesWorkCenterExt4WorkOrderNo(String workOrderNo) {
|
||||
MesWorkOrderExt workOrderExt = workOrderExtRepository.getByProperty(
|
||||
new String[]{MesExtConstWords.ORDER_NO, MesExtConstWords.ORGANIZE_CODE, MesExtConstWords.IS_DELETED, MesExtConstWords.IS_VALID},
|
||||
new Object[]{workOrderNo, AuthUtil.getOrganize().getOrganizeCode(), CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()});
|
||||
|
||||
if (workOrderExt == null) {
|
||||
throw ImppExceptionBuilder.newInstance()
|
||||
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
|
||||
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_EXIT.getCode())
|
||||
.setErrorDetail("工单[%s]不存在", workOrderNo)
|
||||
.build();
|
||||
}
|
||||
|
||||
if (StringUtils.isEmpty(workOrderExt.getWorkCenterCode())) {
|
||||
throw ImppExceptionBuilder.newInstance()
|
||||
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
|
||||
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_EXIT.getCode())
|
||||
.setErrorDetail("工单[%s]未维护产线")
|
||||
.build();
|
||||
}
|
||||
|
||||
MesWorkCenterExt workCenterExt = workCenterExtRepository.getByProperty(
|
||||
new String[]{MesExtConstWords.WORK_CENTER_CODE, MesExtConstWords.ORGANIZE_CODE, MesExtConstWords.IS_DELETED, MesExtConstWords.IS_VALID},
|
||||
new Object[]{workOrderExt.getWorkCenterCode(), AuthUtil.getOrganize().getOrganizeCode(), CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()});
|
||||
|
||||
if (workCenterExt == null) {
|
||||
throw ImppExceptionBuilder.newInstance()
|
||||
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
|
||||
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_EXIT.getCode())
|
||||
.setErrorDetail("产线[%s]不存在", workOrderExt.getWorkCenterCode())
|
||||
.build();
|
||||
}
|
||||
return workCenterExt;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ListPager queryRepairPackageByPager(String workOrderNo, String packageNo, String organizeCode, Pager pager) {
|
||||
DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
|
||||
DdlPreparedPack.getStringEqualPack(workOrderNo, MesExtConstWords.WORK_ORDER_NO, packBean);
|
||||
DdlPreparedPack.getStringEqualPack(packageNo, MesExtConstWords.PACKAGENO, packBean);
|
||||
pager = PagerHelper.getPager(pager, subassemblyRemadeRecordRepository.findByHqlWhereCount(packBean));
|
||||
packBean.setOrderByStr(" order by modifyDatetime desc ");
|
||||
List<MesSubassemblyRemadeRecord> subassemblyRemadeRecordList = subassemblyRemadeRecordRepository.findByHqlWherePage(packBean, pager);
|
||||
|
||||
List<JxReworkSnModel> jxReworkSnModels = new ArrayList<>();
|
||||
|
||||
for (MesSubassemblyRemadeRecord subassemblyRemadeRecord : subassemblyRemadeRecordList) {
|
||||
JxReworkSnModel jxReworkSnModel = new JxReworkSnModel();
|
||||
jxReworkSnModel.setWorkOrderNo(workOrderNo);
|
||||
jxReworkSnModel.setSn(subassemblyRemadeRecord.getPackageNo());
|
||||
jxReworkSnModels.add(jxReworkSnModel);
|
||||
}
|
||||
|
||||
return new ListPager(jxReworkSnModels, pager);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ListPager queryRepairProduceSnByPager(String workOrderNo, String sn, String organizeCode, Pager pager) {
|
||||
DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
|
||||
DdlPreparedPack.getStringEqualPack(workOrderNo, MesExtConstWords.WORK_ORDER_NO, packBean);
|
||||
DdlPreparedPack.getStringEqualPack(sn, MesExtConstWords.PRODUCT_SN, packBean);
|
||||
pager = PagerHelper.getPager(pager, produceSnRepairRepository.findByHqlWhereCount(packBean));
|
||||
packBean.setOrderByStr(" order by modifyDatetime desc ");
|
||||
List<MesProduceSnRepair> produceSnRepairList = produceSnRepairRepository.findByHqlWherePage(packBean, pager);
|
||||
List<JxReworkSnModel> jxReworkSnModels = new ArrayList<>();
|
||||
|
||||
for (MesProduceSnRepair produceSnRepair : produceSnRepairList) {
|
||||
JxReworkSnModel jxReworkSnModel = new JxReworkSnModel();
|
||||
jxReworkSnModel.setWorkOrderNo(workOrderNo);
|
||||
jxReworkSnModel.setSn(produceSnRepair.getProductSn());
|
||||
jxReworkSnModels.add(jxReworkSnModel);
|
||||
}
|
||||
|
||||
return new ListPager(jxReworkSnModels, pager);
|
||||
}
|
||||
|
||||
private void updateProduceSn(String[] productSnArr, Map<String, MesProduceSnRepair> produceSnRepairListByPs,
|
||||
String organizeCode, String userName, String nowTime) {
|
||||
DdlPackBean packBean1 = DdlPackBean.getDdlPackBean(organizeCode);
|
||||
DdlPreparedPack.getInPackArray(productSnArr, MesExtConstWords.PRODUCT_SN, packBean1);
|
||||
List<MesProduceSnExt> produceSnExtList = produceSnExtRepository.findByHqlWhere(packBean1);
|
||||
|
||||
for (MesProduceSnExt produceSnExt : produceSnExtList) {
|
||||
if (produceSnRepairListByPs.containsKey(produceSnExt.getProductSn())) {
|
||||
produceSnExt.setLastWorkOrderNo(produceSnRepairListByPs.get(produceSnExt.getProductSn()).getInitWorkOrderNo());
|
||||
produceSnExt.setModifyUser(userName);
|
||||
produceSnExt.setModifyUserExt(userName);
|
||||
produceSnExt.setModifyDatetime(nowTime);
|
||||
produceSnExt.setModifyUserExt(nowTime);
|
||||
produceSnExt.setSystemSyncStatus(MesExtEnumUtil.IF_SYNC_STATUS.NO_SYNC.getValue());
|
||||
produceSnExt.setSystemSyncStatusExt(MesExtEnumUtil.IF_SYNC_STATUS.NO_SYNC.getValue());
|
||||
} else {
|
||||
throw ImppExceptionBuilder.newInstance()
|
||||
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
|
||||
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_EXIT.getCode())
|
||||
.setErrorDetail("返工条码[%s]不存在", produceSnExt.getProductSn())
|
||||
.build();
|
||||
}
|
||||
}
|
||||
|
||||
produceSnExtRepository.saveAll(produceSnExtList);
|
||||
}
|
||||
}
|
@ -0,0 +1,26 @@
|
||||
package cn.estsh.i3plus.ext.mes.pojo.model.jx;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @author wangjie
|
||||
* @version 1.0
|
||||
* @date 2021/1/15 15:32
|
||||
**/
|
||||
@Data
|
||||
@ApiModel("返工条码 展示 model")
|
||||
public class JxReworkSnModel implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 6923519092290828111L;
|
||||
|
||||
@ApiParam("工单")
|
||||
private String workOrderNo;
|
||||
|
||||
@ApiParam("条码")
|
||||
private String sn;
|
||||
|
||||
}
|
Loading…
Reference in New Issue