排序拆解

tags/yfai-pcn-ext-v2.6
王杰 5 months ago
parent b775ab0fa1
commit 6e83356ec4

@ -41,8 +41,12 @@ public interface IMesReworkTaskService {
void doReworkSuccess(MesReworkTaskRequestModel requestModel);
@ApiOperation(value = "排序拆解")
void doSortOrderDismantle(MesReworkTaskRequestModel requestModel);
MesProduceSnPrintModel doPrint(MesReworkTaskRequestModel requestModel);
@ApiOperation(value = "扫描条码替换装配件")
void doAssemblySnRepeatByScan(MesReworkTaskRequestModel requestModel);
}

@ -3,6 +3,7 @@ package cn.estsh.i3plus.ext.mes.pcn.api.busi;
import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesProdRuleContext;
import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesProductionAssemblyNosortContext;
import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesProductionAssemblySortContext;
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.mes.bean.*;
import io.swagger.annotations.ApiOperation;
@ -29,6 +30,9 @@ public interface IMesAssemblyExtService {
@ApiOperation(value = "获取装配件规则且唯一绑定记录")
List<MesProductionAssemblyUnique> getProductionAssemblyUniqueList(String organizeCode, String assemblySn);
@ApiOperation(value = "根据零件条码或者加工单获取装配件规则且唯一绑定记录")
List<MesProductionAssemblyUnique> getProductionAssemblyUniqueListByProductSn(String organizeCode, String productSn);
@ApiOperation(value = "获取非排序装配件配置信息")
List<MesProductionAssemblyNosortContext> getProductionAssemblyNosortContextList(MesProdRuleContext prodRuleContext);
@ -47,4 +51,16 @@ public interface IMesAssemblyExtService {
@ApiOperation(value = "【排序线】获取生产工单装配件清单")
List<MesWorkOrderAssembly> getWorkOrderAssemblyList(String organizeCode, String workCenterCode, String workCellCode, String workOrderNo, List<String> productSnList);
@ApiOperation(value = "获取工单装配件记录")
List<MesWorkOrderAssembly> getWorkOrderAssemblyList(String organizeCode, String workOrderNo);
@ApiOperation(value = "根据条件修改装配件绑定记录的装配状态")
void saveProductionAssemblyStatusByDdlPackBean(DdlPackBean packBean, String userInfo, Integer assemblyStatus);
@ApiOperation(value = "根据条件修改装配件绑定唯一性记录的装配状态")
void saveProductionAssemblyUniqueStatusByDdlPackBean(DdlPackBean packBean, String userInfo, Integer assemblyStatus);
@ApiOperation(value = "根据条件修改工单装配件记录的装配状态")
void saveWorkOrderAssemblyStatusByDdlPackBean(DdlPackBean packBean, String userInfo, Integer assemblyStatus);
}

@ -1,5 +1,6 @@
package cn.estsh.i3plus.ext.mes.pcn.api.busi;
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.mes.bean.MesProduceSn;
@ -18,6 +19,9 @@ public interface IMesProduceSnExtService {
@ApiOperation(value = "根据零件条码查询零件条码信息")
List<MesProduceSn> getProduceSnList(String organizeCode, String productSn);
@ApiOperation(value = "根据产品条码查询零件条码信息[非排序],创建时间最新")
MesProduceSn getProduceSnCreateDatetimeDesc(String organizeCode, String productSn);
@ApiOperation(value = "根据客户条码查询零件条码信息[排序]")
MesProduceSn getProduceSnByCustSn(String organizeCode, String custSn);
@ -51,6 +55,9 @@ public interface IMesProduceSnExtService {
@ApiOperation(value = "根据零件条码ID修改条码状态,工位")
void saveProduceSnList(StationRequestBean reqBean, Integer snStatus, List<Long> idList);
@ApiOperation(value = "根据条件修改条码状态")
void saveProduceSntatusByDdlPackBean(DdlPackBean packBean, String userInfo, Integer snStatus);
MesProduceSn insert(MesProduceSn item);
void update(MesProduceSn item);

@ -161,6 +161,22 @@ public class MesReworkTaskController {
}
}
@PostMapping("/sort-order-dismantle/do")
@ApiOperation(value = "排序拆解")
public ResultBean doSortOrderDismantle(@RequestBody MesReworkTaskRequestModel requestModel) {
try {
ValidatorBean.checkNotNull(requestModel.getReworkOrder(), "返工单不能为空");
ValidatorBean.checkNotNull(requestModel.getOrganizeCode(), "工厂代码不能为空");
ValidatorBean.checkNotNull(requestModel.getUserName(), "操作人不能为空");
mesReworkTaskService.doSortOrderDismantle(requestModel);
return ResultBean.success("排序拆解成功");
} catch (ImppBusiException imppException) {
return ResultBean.fail(imppException);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@GetMapping("/doPrint")
@ApiOperation(value = "打印")
public ResultBean doPrint(MesReworkTaskRequestModel requestModel) {

@ -47,6 +47,7 @@ import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
@ -201,7 +202,9 @@ public class MesReworkTaskServiceImpl implements IMesReworkTaskService {
.sn(res.getSn())
.mesPartTypePicture(mesPartTypePicture)
.mesPartInspection(mesPartInspection)
.mesPartInspectionDetails(mesPartInspectionDetails).build();
.mesPartInspectionDetails(mesPartInspectionDetails)
.centerType(StringUtils.isEmpty(requestModel.getCenterType()) ? MesExtEnumUtil.WORK_CENTER_TYPE.NOSORT.getValue() : requestModel.getCenterType())
.build();
return mesReworkTaskModel;
@ -335,6 +338,85 @@ public class MesReworkTaskServiceImpl implements IMesReworkTaskService {
}
@Override
public void doSortOrderDismantle(MesReworkTaskRequestModel requestModel) {
DdlPackBean packBean = DdlPackBean.getDdlPackBean(requestModel.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(requestModel.getReworkOrder(), MesPcnExtConstWords.REWORK_ORDER, packBean);
DdlPreparedPack.getNumEqualPack(MesExtEnumUtil.REWORK_TASK_STATUS.CREATE.getValue(), MesPcnExtConstWords.STATUS, packBean);
MesReworkTask reworkTask = mesReworkTaskRepository.getByProperty(packBean);
if (null == reworkTask) MesPcnException.throwBusiException(String.format("返工单[%s]信息不存在!", requestModel.getReworkOrder()));
MesProduceSn produceSn = (MesProduceSn) workOrderExtService.getWorkOrderSort(requestModel.getOrganizeCode(), reworkTask.getSn(), false);
if (null == produceSn) MesPcnException.throwBusiException(String.format("返工单[%s]关联的条码[%s]信息不存在!", requestModel.getReworkOrder(), reworkTask.getSn()));
MesWorkOrder workOrder = workOrderExtService.getWorkOrder(requestModel.getOrganizeCode(), produceSn.getWorkOrderNo());
if (null == produceSn) MesPcnException.throwBusiException(String.format("返工单[%s]关联的条码[%s]对应的加工单[%s]信息不存在!", requestModel.getReworkOrder(), reworkTask.getSn(), produceSn.getWorkOrderNo()));
if (workOrder.getWorkOrderStatus().compareTo(MesExtEnumUtil.ORDER_STATUS.DISMANTLE.getValue()) == 0)
MesPcnException.throwBusiException(String.format("返工单[%s]关联的条码[%s]对应的加工单[%s]信息当前状态已为[%s]!",
requestModel.getReworkOrder(), reworkTask.getSn(), produceSn.getWorkOrderNo(), MesExtEnumUtil.ORDER_STATUS.valueOfDescription(workOrder.getWorkOrderStatus())));
//修改返工表状态为完成
reworkTask.setStatus(MesExtEnumUtil.REWORK_TASK_STATUS.FINISH.getValue());
ConvertBean.serviceModelUpdate(reworkTask, requestModel.getUserName());
reworkTask.setSystemSyncStatus(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue());
mesReworkTaskRepository.updateNoSync(reworkTask);
//修改NC-零件检测-单据表 NC状态为拆解; qmsSync状态是否变更待确认
packBean = DdlPackBean.getDdlPackBean(requestModel.getOrganizeCode());
DdlPreparedPack.getNumEqualPack(reworkTask.getId(), MesPcnExtConstWords.REWORK_TASK_ID, packBean);
mesPartInspectionRepository.updateByPropertiesNoSync(
new String[]{MesPcnExtConstWords.MODIFY_USER, MesPcnExtConstWords.MODIFY_DATE_TIME, MesPcnExtConstWords.SYSTEM_SYNC_STATUS, MesPcnExtConstWords.NC_STATUS},
new Object[]{requestModel.getUserName(), TimeTool.getNowTime(true), CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), MesExtEnumUtil.PART_INSPECTION_NC_STATUS.DISASSEMBLY.getValue()},
packBean);
//修改工单状态为已拆解
workOrder.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.DISMANTLE.getValue());
workOrder.setModifyUser(requestModel.getUserName());
workOrder.setModifyDatetime((new SimpleDateFormat(MesPcnExtConstWords.DATE_FORMAT_SSS)).format(new Date()));
workOrder.setSystemSyncStatus(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue());
workOrderRepository.updateNoSync(workOrder);
//修改条码状态为总成拆解
packBean = DdlPackBean.getDdlPackBean(requestModel.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(produceSn.getProductSn(), MesPcnExtConstWords.PRODUCT_SN, packBean);
DdlPreparedPack.getStringEqualPack(produceSn.getWorkOrderNo(), MesPcnExtConstWords.WORK_ORDER_NO, packBean);
produceSnExtService.saveProduceSntatusByDdlPackBean(packBean, requestModel.getUserName(), MesExtEnumUtil.PRODUCE_SN_STATUS.ASSEMBLY_DISASSEMBLY.getValue());
//查询装配件绑定记录表
List<MesProductionAssembly> productionAssemblyList = mesAssemblyExtService.getProductionAssemblyList(requestModel.getOrganizeCode(), workOrder.getWorkOrderNo());
productionAssemblyList = CollectionUtils.isEmpty(productionAssemblyList) ? null :
productionAssemblyList.stream().filter(o -> (null != o && o.getAssemblyStatus().compareTo(MesExtEnumUtil.ASSEMBLY_STATUS.ASSEMBLY_STATUS_20.getValue()) != 0)).collect(Collectors.toList());
if (CollectionUtils.isEmpty(productionAssemblyList)) return;
//将自制件类型的装配件对应的零件条码状态改成已拆解
for (MesProductionAssembly productionAssembly : productionAssemblyList) {
if (null == productionAssembly) continue;
if (productionAssembly.getMatchType().compareTo(MesExtEnumUtil.ASSEMBLY_MATCH_TYPE.MATCH_TYPE_10.getValue()) != 0) continue;
if (StringUtils.isEmpty(productionAssembly.getProductSn()) || StringUtils.isEmpty(productionAssembly.getPartNo())) continue;
packBean = DdlPackBean.getDdlPackBean(requestModel.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(productionAssembly.getProductSn(), MesPcnExtConstWords.PRODUCT_SN, packBean);
DdlPreparedPack.getStringEqualPack(productionAssembly.getPartNo(), MesPcnExtConstWords.PART_NO, packBean);
DdlPreparedPack.getNumEqualPack(MesExtEnumUtil.PRODUCE_SN_STATUS.ASSEMBLY.getValue(), MesPcnExtConstWords.SN_STATUS, packBean);
produceSnExtService.saveProduceSntatusByDdlPackBean(packBean, requestModel.getUserName(), MesExtEnumUtil.PRODUCE_SN_STATUS.ASSEMBLY_BACK.getValue());
}
//将装配件绑定记录表的非解绑状态的记录改为解绑状态
packBean = DdlPackBean.getDdlPackBean(requestModel.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(produceSn.getProductSn(), MesPcnExtConstWords.PRODUCT_SN, packBean);
DdlPreparedPack.getNumNOEqualPack(MesExtEnumUtil.ASSEMBLY_STATUS.ASSEMBLY_STATUS_20.getValue(), MesPcnExtConstWords.ASSEMBLY_STATUS, packBean);
mesAssemblyExtService.saveProductionAssemblyStatusByDdlPackBean(packBean, requestModel.getUserName(), MesExtEnumUtil.ASSEMBLY_STATUS.ASSEMBLY_STATUS_20.getValue());
//将装配件绑定唯一性记录表的非解绑状态的记录改为解绑状态;条件公用
mesAssemblyExtService.saveProductionAssemblyUniqueStatusByDdlPackBean(packBean, requestModel.getUserName(), MesExtEnumUtil.ASSEMBLY_STATUS.ASSEMBLY_STATUS_20.getValue());
//将工单装配件表的非解绑状态的记录改为解绑状态;条件公用,增加工单条件
DdlPreparedPack.getStringEqualPack(produceSn.getWorkOrderNo(), MesPcnExtConstWords.WORK_ORDER_NO, packBean);
mesAssemblyExtService.saveWorkOrderAssemblyStatusByDdlPackBean(packBean, requestModel.getUserName(), MesExtEnumUtil.ASSEMBLY_STATUS.ASSEMBLY_STATUS_20.getValue());
}
@Override
public MesProduceSnPrintModel doPrint(MesReworkTaskRequestModel requestModel) {
String organizeCode = requestModel.getOrganizeCode();
String userName = requestModel.getUserName();
@ -864,10 +946,15 @@ public class MesReworkTaskServiceImpl implements IMesReworkTaskService {
}
private MesReworkTask getMesReworkTask(MesReworkTaskRequestModel requestModel) {
String workCenterCode = null;
DdlPackBean packBean = DdlPackBean.getDdlPackBean(requestModel.getOrganizeCode());
if (!StringUtils.isEmpty(requestModel.getSn())) {
MesProduceSn produceSn = (MesProduceSn) workOrderExtService.getWorkOrderSort(requestModel.getOrganizeCode(), requestModel.getSn(), false);
if(!StringUtil.isEmpty(produceSn)){
//根据零件条码查询
MesProduceSn produceSn = produceSnExtService.getProduceSnCreateDatetimeDesc(requestModel.getOrganizeCode(), requestModel.getSn());
//不存在则进行二次查询排序条码
if (null == produceSn) produceSn = (MesProduceSn) workOrderExtService.getWorkOrderSort(requestModel.getOrganizeCode(), requestModel.getSn(), false);
if (null != produceSn) {
workCenterCode = produceSn.getWorkCenterCode();
DdlPreparedPack.getStringEqualPack(produceSn.getProductSn(), "sn", packBean);
}else {
DdlPreparedPack.getStringEqualPack(requestModel.getSn(), "sn", packBean);
@ -882,6 +969,19 @@ public class MesReworkTaskServiceImpl implements IMesReworkTaskService {
if (res == null) {
throw new ImppBusiException("返工单信息不存在");
}
//选择返工工单场景下 根据返工工单信息里面的条码进行反查生产线
if (!StringUtils.isEmpty(requestModel.getReworkOrder())) {
MesProduceSn produceSn = produceSnExtService.getProduceSnCreateDatetimeDesc(requestModel.getOrganizeCode(), res.getSn());
if (null == produceSn) produceSn = (MesProduceSn) workOrderExtService.getWorkOrderSort(requestModel.getOrganizeCode(), res.getSn(), false);
if (null != produceSn) workCenterCode = produceSn.getWorkCenterCode();
}
if (!StringUtils.isEmpty(workCenterCode)) {
//获取生产线类型, 用于前端判断, 支持点击 拆解按钮 还是 排序拆解按钮, 同时 返工完成按钮 根据生产线类型调用的接口不一样
MesWorkCenter workCenter = prodOrgExtService.getWorkCenterDb(requestModel.getOrganizeCode(), workCenterCode);
if (null != workCenter) requestModel.setCenterType(workCenter.getCenterType());
}
return res;
}
private List<MesReworkTaskDetail> getMesReworkTaskDetail(MesReworkTask mesReworkTask) {

@ -7,6 +7,7 @@ import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesProdRuleContext;
import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesProductionAssemblyNosortContext;
import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesProductionAssemblySortContext;
import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords;
import cn.estsh.i3plus.platform.common.tool.TimeTool;
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
@ -165,6 +166,13 @@ public class MesAssemblyExtService implements IMesAssemblyExtService {
new Object[]{organizeCode, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), CommonEnumUtil.IS_VAILD.VAILD.getValue(), assemblySn});
}
@Override
public List<MesProductionAssemblyUnique> getProductionAssemblyUniqueListByProductSn(String organizeCode, String productSn) {
return productionAssemblyUniqueRepository.findByProperty(
new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.IS_VALID, MesPcnExtConstWords.PRODUCT_SN},
new Object[]{organizeCode, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), CommonEnumUtil.IS_VAILD.VAILD.getValue(), productSn});
}
//获取非排序装配件配置信息
@Override
public List<MesProductionAssemblyNosortContext> getProductionAssemblyNosortContextList(MesProdRuleContext prodRuleContext) {
@ -247,6 +255,15 @@ public class MesAssemblyExtService implements IMesAssemblyExtService {
return workOrderAssemblyRepository.findByHqlWhere(packBean);
}
//获取工单装配件记录【排序】
@Override
public List<MesWorkOrderAssembly> getWorkOrderAssemblyList(String organizeCode, String workOrderNo) {
if (StringUtils.isEmpty(organizeCode) || StringUtils.isEmpty(workOrderNo)) return null;
DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getStringEqualPack(workOrderNo, MesPcnExtConstWords.WORK_ORDER_NO, packBean);
return workOrderAssemblyRepository.findByHqlWhere(packBean);
}
//搜集非排序文件ID集合
private List<Long> filterNosortFileIdList(List<MesAssemblyNosortCfg> assemblyNosortCfgList) {
if (CollectionUtils.isEmpty(assemblyNosortCfgList)) return null;
@ -299,4 +316,34 @@ public class MesAssemblyExtService implements IMesAssemblyExtService {
return CollectionUtils.isEmpty(workCellMap) ? null : workCellMap.get(workCellCode);
}
//根据条件修改装配件绑定记录的装配状态
@Override
public void saveProductionAssemblyStatusByDdlPackBean(DdlPackBean packBean, String userInfo, Integer assemblyStatus) {
if (StringUtils.isEmpty(userInfo) || StringUtils.isEmpty(assemblyStatus)) return;
productionAssemblyRepository.updateByPropertiesNoSync(
new String[]{MesPcnExtConstWords.MODIFY_USER, MesPcnExtConstWords.MODIFY_DATE_TIME, MesPcnExtConstWords.SYSTEM_SYNC_STATUS, MesPcnExtConstWords.ASSEMBLY_STATUS},
new Object[]{userInfo, TimeTool.getNowTime(true), CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), assemblyStatus},
packBean);
}
//根据条件修改装配件绑定唯一性记录的装配状态
@Override
public void saveProductionAssemblyUniqueStatusByDdlPackBean(DdlPackBean packBean, String userInfo, Integer assemblyStatus) {
if (StringUtils.isEmpty(userInfo) || StringUtils.isEmpty(assemblyStatus)) return;
productionAssemblyUniqueRepository.updateByPropertiesNoSync(
new String[]{MesPcnExtConstWords.MODIFY_USER, MesPcnExtConstWords.MODIFY_DATE_TIME, MesPcnExtConstWords.SYSTEM_SYNC_STATUS, MesPcnExtConstWords.ASSEMBLY_STATUS},
new Object[]{userInfo, TimeTool.getNowTime(true), CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), assemblyStatus},
packBean);
}
//根据条件修改工单装配件记录的装配状态
@Override
public void saveWorkOrderAssemblyStatusByDdlPackBean(DdlPackBean packBean, String userInfo, Integer assemblyStatus) {
if (StringUtils.isEmpty(userInfo) || StringUtils.isEmpty(assemblyStatus)) return;
workOrderAssemblyRepository.updateByPropertiesNoSync(
new String[]{MesPcnExtConstWords.MODIFY_USER, MesPcnExtConstWords.MODIFY_DATE_TIME, MesPcnExtConstWords.SYSTEM_SYNC_STATUS, MesPcnExtConstWords.ASSEMBLY_STATUS},
new Object[]{userInfo, TimeTool.getNowTime(true), CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), assemblyStatus},
packBean);
}
}

@ -60,6 +60,16 @@ public class MesProduceSnExtService implements IMesProduceSnExtService {
return produceSnRepository.findByHqlWhere(packBean);
}
//根据产品条码查询零件条码信息[非排序],创建时间最新
@Override
public MesProduceSn getProduceSnCreateDatetimeDesc(String organizeCode, String productSn) {
if (StringUtils.isEmpty(organizeCode) || StringUtils.isEmpty(productSn)) return null;
DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getStringEqualPack(productSn, MesPcnExtConstWords.PRODUCT_SN, packBean);
DdlPreparedPack.getOrderByPack(new Object[]{CommonEnumUtil.ASC_OR_DESC.DESC.getValue()}, new String[]{MesPcnExtConstWords.CREATE_DATE_TIME}, packBean);
return produceSnRepository.getByProperty(packBean);
}
@Override
public MesProduceSn getProduceSnByCustSn(String organizeCode, String custSn) {
@ -189,7 +199,7 @@ public class MesProduceSnExtService implements IMesProduceSnExtService {
DdlPackBean packBean = DdlPackBean.getDdlPackBean(reqBean.getOrganizeCode());
if (idList.size() == 1) DdlPreparedPack.getNumEqualPack(idList.get(0), MesPcnExtConstWords.ID, packBean);
else DdlPreparedPack.getInPackList(idList, MesPcnExtConstWords.ID, packBean);
produceSnRepository.updateByProperties(
produceSnRepository.updateByPropertiesNoSync(
new String[]{MesPcnExtConstWords.MODIFY_USER, MesPcnExtConstWords.MODIFY_DATE_TIME, MesPcnExtConstWords.SYSTEM_SYNC_STATUS, MesPcnExtConstWords.WORK_CENTER_CODE, MesPcnExtConstWords.WORK_CELL_CODE, MesPcnExtConstWords.SN_STATUS},
new Object[]{reqBean.getUserInfo(), TimeTool.getNowTime(true), CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), reqBean.getWorkCenterCode(), reqBean.getWorkCellCode(), snStatus},
packBean);
@ -197,6 +207,15 @@ public class MesProduceSnExtService implements IMesProduceSnExtService {
}
@Override
public void saveProduceSntatusByDdlPackBean(DdlPackBean packBean, String userInfo, Integer snStatus) {
if (StringUtils.isEmpty(userInfo) || StringUtils.isEmpty(snStatus)) return;
produceSnRepository.updateByPropertiesNoSync(
new String[]{MesPcnExtConstWords.MODIFY_USER, MesPcnExtConstWords.MODIFY_DATE_TIME, MesPcnExtConstWords.SYSTEM_SYNC_STATUS, MesPcnExtConstWords.SN_STATUS},
new Object[]{userInfo, TimeTool.getNowTime(true), CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), snStatus},
packBean);
}
@Override
@MonitorLog
public MesProduceSn insert(MesProduceSn item) {
return produceSnRepository.insert(item);

@ -4,6 +4,7 @@ import cn.estsh.i3plus.pojo.mes.bean.MesPartTypePicture;
import cn.estsh.i3plus.pojo.mes.bean.nc.MesPartInspection;
import cn.estsh.i3plus.pojo.mes.bean.nc.MesPartInspectionDetail;
import cn.estsh.i3plus.pojo.mes.bean.rework.MesReworkTask;
import io.swagger.annotations.ApiModelProperty;
import lombok.Builder;
import lombok.Data;
@ -38,4 +39,9 @@ public class MesReworkTaskModel {
*/
private List<MesPartInspectionDetail> mesPartInspectionDetails;
/**
* 线
*/
private Integer centerType;
}

@ -64,4 +64,7 @@ public class MesReworkTaskRequestModel {
@ApiModelProperty("装配拆解List")
private List<MesProductionAssemblyModel> assemblyModelList;
@ApiModelProperty("生产线类型")
private Integer centerType;
}

@ -279,6 +279,12 @@ public class MesPcnExtConstWords {
public static final String REPORT_TYPE = "reportType";
//发运时间
public static final String SHIPPING_TIME = "shippingTime";
//返工单
public static final String REWORK_ORDER = "reworkOrder";
//返工单ID
public static final String REWORK_TASK_ID = "reworkTaskId";
//nc状态
public static final String NC_STATUS = "nc_status";
//BaseBean字段不包含工厂, 用于对象复制剔除属性BeanUtils.copyProperties(Object source, Object target, String... ignoreProperties)

Loading…
Cancel
Save