手动报工修改、工单查询增加工单状态多选条件、工程巡检根据条件获取物料

tags/yfai-pcn-ext-v1.0
yxw 1 year ago
parent f70c179102
commit 95162def50

@ -7,6 +7,7 @@ import cn.estsh.i3plus.pojo.mes.bean.MesWorkOrder;
import io.swagger.annotations.ApiOperation;
import java.util.List;
import java.util.Map;
/**
* @Author: wangjie
@ -68,7 +69,7 @@ public interface IProcedureOnSiteService {
* @return
*/
@ApiOperation(value = "修改巡检单明细数据", notes = "修改巡检单明细数据")
Boolean updateMesOnSiteOrderDetail(MesOnSiteOrderDetail mesOnSiteOrderDetail, String userName);
Map<String, Object> updateMesOnSiteOrderDetail(MesOnSiteOrderDetail mesOnSiteOrderDetail, String userName);
List<MesProjectSort> findProjectSort(MesProjectSort procedureProject);
}

@ -166,7 +166,7 @@ public interface IProduceSnExtService {
* @Date 2021/5/21 13:54
**/
@ApiOperation(value = "手动生成包装条码", notes = "手动生成包装条码")
void doWorkOrderHandCreatePackage(Long id, String organizeCode, String userInfo);
List<MesPackageExt> doWorkOrderHandCreatePackage(Long id, String organizeCode, String userInfo, Integer operateType, Integer qty);
/**
* @Description: ***N&&&

@ -1,5 +1,6 @@
package cn.estsh.i3plus.ext.mes.pcn.api.job;
import cn.estsh.i3plus.ext.mes.pcn.pojo.bean.MesPackageExt;
import cn.estsh.i3plus.ext.mes.pcn.pojo.bean.MesPartExt;
import cn.estsh.i3plus.ext.mes.pcn.pojo.bean.MesProdPackExt;
import cn.estsh.i3plus.ext.mes.pcn.pojo.bean.MesWorkOrderExt;
@ -62,5 +63,14 @@ public interface ISxWorkOrderAutoCreateSnService {
* @Date 2021/5/24 9:52
**/
@ApiOperation(value = "插入包装", notes = "插入包装")
void insertPackage(List<String> packageNoList, MesWorkOrderExt workOrder, MesPartExt partDb, Integer codeType, MesProdPackExt prodPackDb,Double num, String userInfo);
List<MesPackageExt> insertPackage(List<String> packageNoList, MesWorkOrderExt workOrder, MesPartExt partDb, Integer codeType, MesProdPackExt prodPackDb, Double num, String userInfo);
/**
* @Description:
* @Param [packageNoList, workOrder, partDb, codeType, prodPackDb, userInfo]
* @return void
* @Date 2021/5/24 9:52
**/
@ApiOperation(value = "插入封箱包装", notes = "插入封箱包装")
List<MesPackageExt> insertSealedPackage(List<String> packageNoList, MesWorkOrderExt workOrder, MesPartExt partDb, Integer codeType, MesProdPackExt prodPackDb, Double num, String userInfo);
}

@ -17,6 +17,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
/**
* @Author: wangjie
@ -140,8 +141,12 @@ public class ProcedureOnSiteController extends MesPcnBaseController {
@ApiOperation(value = "修改巡检单明细数据")
public ResultBean updateMesOnSiteOrderDetail(MesOnSiteOrderDetail mesOnSiteOrderDetail, String userName) {
try {
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode())
.setResultObject(procedureOnSiteService.updateMesOnSiteOrderDetail(mesOnSiteOrderDetail, userName));
Map<String, Object> resultMap = procedureOnSiteService.updateMesOnSiteOrderDetail(mesOnSiteOrderDetail, userName);
return ResultBean.success(!resultMap.containsKey("UPDATE_MEMO_RESULT") ? "操作成功" : (String) resultMap.get("UPDATE_MEMO_RESULT"))
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode())
.setResultObject(resultMap.get("RESULT"));
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {

@ -108,7 +108,7 @@ public class ProduceSnExtController extends MesPcnBaseController {
ValidatorBean.checkNotNull(id);
ValidatorBean.checkNotNull(organizeCode);
ValidatorBean.checkNotNull(userInfo);
produceSnExtService.doWorkOrderHandCreatePackage(id, organizeCode, userInfo);
produceSnExtService.doWorkOrderHandCreatePackage(id, organizeCode, userInfo, 1, 0);
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);

@ -2,10 +2,12 @@ package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.base;
import cn.estsh.i3plus.ext.mes.pcn.api.base.IPartExtService;
import cn.estsh.i3plus.ext.mes.pcn.api.base.IProcedureOnSiteService;
import cn.estsh.i3plus.ext.mes.pcn.api.base.ISxPcnHttpService;
import cn.estsh.i3plus.ext.mes.pcn.pojo.bean.MesOnSiteOrder;
import cn.estsh.i3plus.ext.mes.pcn.pojo.bean.MesOnSiteOrderDetail;
import cn.estsh.i3plus.ext.mes.pcn.pojo.bean.MesProcedureProject;
import cn.estsh.i3plus.ext.mes.pcn.pojo.bean.MesProjectSort;
import cn.estsh.i3plus.ext.mes.pcn.pojo.model.WmsSnInfoModel;
import cn.estsh.i3plus.ext.mes.pcn.pojo.repository.MesOnSiteOrderDetailRepository;
import cn.estsh.i3plus.ext.mes.pcn.pojo.repository.MesOnSiteOrderRepository;
import cn.estsh.i3plus.ext.mes.pcn.pojo.repository.MesProcedureProjectRepository;
@ -13,8 +15,10 @@ import cn.estsh.i3plus.ext.mes.pcn.pojo.repository.MesProjectSortRepository;
import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords;
import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtEnumUtil;
import cn.estsh.i3plus.mes.pcn.api.iservice.busi.ISyncFuncService;
import cn.estsh.i3plus.mes.pcn.util.PcnHttpUtil;
import cn.estsh.i3plus.platform.common.convert.ConvertBean;
import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum;
import cn.estsh.i3plus.platform.common.tool.JsonUtilTool;
import cn.estsh.i3plus.pojo.base.bean.BaseResultBean;
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
@ -26,14 +30,16 @@ import cn.estsh.i3plus.pojo.mes.repository.MesWorkOrderRepository;
import cn.estsh.i3plus.pojo.mes.sqlpack.MesPcnHqlPack;
import cn.estsh.impp.framework.boot.auth.AuthUtil;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import com.alibaba.fastjson.JSONObject;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
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.List;
import java.io.UnsupportedEncodingException;
import java.util.*;
import java.util.stream.Collectors;
/**
@ -42,6 +48,7 @@ import java.util.stream.Collectors;
* @Description:
**/
@Service
@Slf4j
public class ProcedureOnSiteService implements IProcedureOnSiteService {
@Autowired
@ -68,6 +75,9 @@ public class ProcedureOnSiteService implements IProcedureOnSiteService {
@Autowired
private MesProjectSortRepository mesProjectSortRDao;
@Autowired
private ISxPcnHttpService pcnHttpService;
@Override
public List<MesWorkOrder> findMesWorkOrderByWoStatus(String workCenterCode, String organizeCode) {
DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
@ -185,7 +195,8 @@ public class ProcedureOnSiteService implements IProcedureOnSiteService {
}
@Override
public Boolean updateMesOnSiteOrderDetail(MesOnSiteOrderDetail mesOnSiteOrderDetail, String userName) {
public Map<String, Object> updateMesOnSiteOrderDetail(MesOnSiteOrderDetail mesOnSiteOrderDetail, String userName) {
Map<String, Object> updateResultMap = new HashMap<>();
//修改巡检单明细数据
MesOnSiteOrderDetail onSiteOrderDetail = mesOnSiteOrderDetailRDao.getById(mesOnSiteOrderDetail.getId());
if (null == onSiteOrderDetail) {
@ -195,6 +206,13 @@ public class ProcedureOnSiteService implements IProcedureOnSiteService {
.setErrorDetail("数据不存在")
.build();
}
String updateMemoResult = updateOnSiteOrderDetailMemo(mesOnSiteOrderDetail, onSiteOrderDetail);
if (!StringUtils.isEmpty(updateMemoResult)) {
updateResultMap.put("UPDATE_MEMO_RESULT", updateMemoResult);
}
BeanUtils.copyProperties(mesOnSiteOrderDetail, onSiteOrderDetail);
onSiteOrderDetail.setSystemSyncStatus(MesPcnExtEnumUtil.IF_SYNC_STATUS.NO_SYNC.getValue());
ConvertBean.serviceModelUpdate(onSiteOrderDetail, userName);
@ -214,21 +232,55 @@ public class ProcedureOnSiteService implements IProcedureOnSiteService {
new Object[]{mesOnSiteOrderDetail.getOrganizeCode(), CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(),
MesPcnExtEnumUtil.IS_VAILD.VAILD.getValue(), mesOnSiteOrderDetail.getOrderNo()});
if (oDetailsTotal.size() == oDetails.size()) {
// mesOnSiteOrder.setOrderStatus(MesPcnExtEnumUtil.MES_ORJ_ORDER_STATUS.CHECK_COMPLETE.getValue());
// ConvertBean.serviceModelUpdate(mesOnSiteOrder, userName);
//
// mesOnSiteOrderRDao.save(mesOnSiteOrder);
return true;
updateResultMap.put("RESULT", true);
return updateResultMap;
} else {
mesOnSiteOrder.setOrderStatus(MesPcnExtEnumUtil.MES_ORJ_ORDER_STATUS.CHECKING.getValue());
ConvertBean.serviceModelUpdate(mesOnSiteOrder, userName);
mesOnSiteOrderRDao.save(mesOnSiteOrder);
}
}
return false;
updateResultMap.put("RESULT", false);
return updateResultMap;
}
private String updateOnSiteOrderDetailMemo(MesOnSiteOrderDetail mesOnSiteOrderDetail, MesOnSiteOrderDetail onSiteOrderDetail) {
if (!StringUtils.isEmpty(mesOnSiteOrderDetail.getMemo())) {
String requestUrl = pcnHttpService.getRequestUrl(mesOnSiteOrderDetail.getOrganizeCode(), MesPcnExtConstWords.FIND_PART_NO);
Map<String, String> params = new HashMap<>();
params.put(MesPcnExtConstWords.SN, mesOnSiteOrderDetail.getMemo());
params.put(MesPcnExtConstWords.ORGANIZE_CODE, mesOnSiteOrderDetail.getOrganizeCode());
WmsSnInfoModel wmsSnInfoModel = null;
try {
String data = PcnHttpUtil.doGet(requestUrl, params);
BaseResultBean baseResultBean = null;
if (!StringUtils.isEmpty(data)) baseResultBean = JsonUtilTool.decode(data, BaseResultBean.class);
else log.error("updateMesOnSiteOrderDetail --- HTTP[{}]调用主接口失败 --- THREAD:[{}]", requestUrl, Thread.currentThread().getName());
log.error("updateMesOnSiteOrderDetail --- 工程巡检校验物料[{}]时获取WMS数据[{}] --- THREAD:[{}]", mesOnSiteOrderDetail.getMemo(), data, Thread.currentThread().getName());
if (null != baseResultBean && baseResultBean.success) {
LinkedHashMap resultObject = (LinkedHashMap) baseResultBean.getResultObject();
wmsSnInfoModel= JsonUtilTool.decode(JSONObject.toJSONString(resultObject), WmsSnInfoModel.class);
}
if (wmsSnInfoModel == null) {
log.error("updateMesOnSiteOrderDetail --- 工程巡检校验物料[{}]时获取WMS数据失败 HTTP[{}]调用主接口 无法获取此条码信息 --- THREAD:[{}]", mesOnSiteOrderDetail.getMemo(),requestUrl, Thread.currentThread().getName());
}
} catch (UnsupportedEncodingException e) {
log.error("updateMesOnSiteOrderDetail --- 工程巡检校验物料[{}]时获取WMS数据失败 HTTP[{}]调用主接口失败 --- THREAD:[{}]", mesOnSiteOrderDetail.getMemo(), requestUrl, Thread.currentThread().getName());
}
if (wmsSnInfoModel == null) {
onSiteOrderDetail.setMemo(mesOnSiteOrderDetail.getMemo());
return String.format("条码[%s]不存在", mesOnSiteOrderDetail.getMemo());
} else {
onSiteOrderDetail.setMemo(wmsSnInfoModel.getPartNo());
return "";
}
}
return "";
}
@Override

@ -1,6 +1,7 @@
package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.base;
import cn.estsh.i3plus.ext.mes.pcn.api.base.*;
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IProduceSnExtService;
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IWorkOrderLogExtService;
import cn.estsh.i3plus.ext.mes.pcn.pojo.bean.*;
import cn.estsh.i3plus.ext.mes.pcn.pojo.model.*;
@ -137,6 +138,9 @@ public class SxWorkOrderExtService implements ISxWorkOrderExtService {
@Autowired
private MesBomPendingPartRepository bomPendingPartRepository;
@Autowired
private IProduceSnExtService produceSnExtService;
@Resource(name = MesPcnExtConstWords.REDIS_RES_PCN)
private ImppRedis redisMesPcn;
@ -443,6 +447,7 @@ public class SxWorkOrderExtService implements ISxWorkOrderExtService {
DdlPreparedPack.getStringLikerPack(workOrderQueryDto.getPartNo(), "partNo", ddlPackBean);
DdlPreparedPack.getStringEqualPack(workOrderQueryDto.getWorkCenterCode(), "workCenterCode", ddlPackBean);
DdlPreparedPack.getNumEqualPack(workOrderQueryDto.getWorkOrderStatus(), "workOrderStatus", ddlPackBean);
DdlPreparedPack.getInPackArray(workOrderQueryDto.getWorkOrderStatusArray(), "workOrderStatus", ddlPackBean);
DdlPreparedPack.getNumEqualPack(workOrderQueryDto.getWorkOrderType(), "workOrderType", ddlPackBean);
DdlPreparedPack.getStringLikerPack(workOrderQueryDto.getCreateUser(), "createUser", ddlPackBean);
@ -1536,11 +1541,13 @@ public class SxWorkOrderExtService implements ISxWorkOrderExtService {
double sumQty = getSumQty(qty, workOrder);
List<MesPackageExt> packageExtList = produceSnExtService.doWorkOrderHandCreatePackage(workOrder.getId(), organizeCode, userName, 2, qty.intValue());
saveWorkOrderExt(userName, workOrder, sumQty);
insertManualReportTravel(organizeCode, userName, workOrder, qty, workCenterExt, shiftName);
insertSxProductOffLine(workOrderNo, qty, organizeCode, userName, workOrder, partExt);
insertSxProductOffLine(workOrderNo, qty, organizeCode, userName, workOrder, partExt, packageExtList);
}
@ -1554,6 +1561,15 @@ public class SxWorkOrderExtService implements ISxWorkOrderExtService {
.setErrorDetail("报工数量[%s]与当前完工数量[%s]之和[%s]大于工单计划数量[%s]", workOrder.getCompleteQty(), qty, sumQty, workOrder.getQty())
.build();
}
//if (qty % partExt.getQty2() != 0) {
// throw ImppExceptionBuilder.newInstance()
// .setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode())
// .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
// .setErrorDetail("报工数量[%s]与物料包装数量", workOrder.getCompleteQty(), qty, sumQty, workOrder.getQty())
// .build();
//}
return sumQty;
}
@ -1617,13 +1633,13 @@ public class SxWorkOrderExtService implements ISxWorkOrderExtService {
.build();
}
if (StringUtils.isEmpty(workCenterExt.getWorkTime())) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("产线[%s]未启动班次", workOrder.getWorkCenterCode())
.build();
}
//if (StringUtils.isEmpty(workCenterExt.getWorkTime())) {
// throw ImppExceptionBuilder.newInstance()
// .setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode())
// .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
// .setErrorDetail("产线[%s]未启动班次", workOrder.getWorkCenterCode())
// .build();
//}
return workCenterExt;
}
@ -1682,40 +1698,49 @@ public class SxWorkOrderExtService implements ISxWorkOrderExtService {
mesManualReportTravelRepository.save(manualReportTravel);
}
private void insertSxProductOffLine(String workOrderNo, Double qty, String organizeCode, String userName, MesWorkOrderExt workOrder, MesPartExt partExt) {
private void insertSxProductOffLine(String workOrderNo, Double qty, String organizeCode, String userName, MesWorkOrderExt workOrder, MesPartExt partExt, List<MesPackageExt> packageExtList) {
List<SxProductOffLine> productOffLineList = new ArrayList<>();
for (MesPackageExt mesPackageExt : packageExtList) {
SxProductOffLine productOffLine = new SxProductOffLine();
productOffLine.setWorkOrderNo(workOrderNo);
productOffLine.setPartNo(workOrder.getPartNo());
productOffLine.setPartName(workOrder.getPartNameRdd());
productOffLine.setQty(mesPackageExt.getQty());
productOffLine.setWorkCenterCode(workOrder.getWorkCenterCode());
productOffLine.setErpWarehouse(workOrder.getErpWarehouse());
productOffLine.setPackageNo(mesPackageExt.getPackageNo());
//取物料信息中的类型
if (null != partExt) {
productOffLine.setUnit(partExt.getUnit());
productOffLine.setProdType(getProdType(partExt.getCategoryCode1()));
productOffLine.setProdType(Integer.parseInt(partExt.getCategoryCode1()));
}
if (MesPcnExtEnumUtil.WORK_ORDER_TYPE.REWORK_ORDER.getValue() == workOrder.getWorkOrderType()) {
productOffLine.setSnType(MesPcnExtEnumUtil.PRODUCE_SN_TYPE.REWORK_SN.getValue());
} else if (MesPcnExtEnumUtil.WORK_ORDER_TYPE.STANDARD_ORDER.getValue() == workOrder.getWorkOrderType() ) {
productOffLine.setSnType(MesPcnExtEnumUtil.PRODUCE_SN_TYPE.STANDARD_SN.getValue());
} else {
productOffLine.setSnType(MesPcnExtEnumUtil.PRODUCE_SN_TYPE.ATTEMPT_SN.getValue());
}
SxProductOffLine productOffLine = new SxProductOffLine();
productOffLine.setWorkOrderNo(workOrderNo);
productOffLine.setPartNo(workOrder.getPartNo());
productOffLine.setPartName(workOrder.getPartNameRdd());
productOffLine.setQty(qty);
productOffLine.setWorkCenterCode(workOrder.getWorkCenterCode());
productOffLine.setErpWarehouse(workOrder.getErpWarehouse());
//取物料信息中的类型
productOffLine.setSyncStatus(MesPcnExtEnumUtil.IF_SYNC_STATUS.NO_SYNC.getValue());
MesWorkCenterExt workCenterExt = getWorkCenterExtByWorkCenterCode(workOrder.getWorkCenterCode(), organizeCode);
productOffLine.setShiftCode(workCenterExt.getShiftCode());
productOffLine.setLotNo(workCenterExt.getWorkTime());
productOffLine.setIsWaterPurifier(MesPcnExtEnumUtil.IS_WATER_PURIFIER.NO.getValue());
productOffLine.setOrganizeCode(organizeCode);
ConvertBean.serviceModelUpdate(productOffLine, userName);
productOffLineList.add(productOffLine);
if (null != partExt) {
productOffLine.setUnit(partExt.getUnit());
productOffLine.setProdType(getProdType(partExt.getCategoryCode1()));
productOffLine.setProdType(Integer.parseInt(partExt.getCategoryCode1()));
}
if (MesPcnExtEnumUtil.WORK_ORDER_TYPE.REWORK_ORDER.getValue() == workOrder.getWorkOrderType()) {
productOffLine.setSnType(MesPcnExtEnumUtil.PRODUCE_SN_TYPE.REWORK_SN.getValue());
} else if (MesPcnExtEnumUtil.WORK_ORDER_TYPE.STANDARD_ORDER.getValue() == workOrder.getWorkOrderType() ) {
productOffLine.setSnType(MesPcnExtEnumUtil.PRODUCE_SN_TYPE.STANDARD_SN.getValue());
} else {
productOffLine.setSnType(MesPcnExtEnumUtil.PRODUCE_SN_TYPE.ATTEMPT_SN.getValue());
}
productOffLine.setSyncStatus(MesPcnExtEnumUtil.IF_SYNC_STATUS.NO_SYNC.getValue());
MesWorkCenterExt workCenterExt = getWorkCenterExtByWorkCenterCode(workOrder.getWorkCenterCode(), organizeCode);
productOffLine.setShiftCode(workCenterExt.getShiftCode());
productOffLine.setLotNo(workCenterExt.getWorkTime());
productOffLine.setPartNo(partExt.getPartNo());
productOffLine.setIsWaterPurifier(MesPcnExtEnumUtil.IS_WATER_PURIFIER.NO.getValue());
productOffLine.setOrganizeCode(organizeCode);
ConvertBean.serviceModelUpdate(productOffLine, userName);
productOffLineRepository.insert(productOffLine);
productOffLineRepository.saveAll(productOffLineList);
}
private MesWorkCenterExt getWorkCenterExtByWorkCenterCode(String workCenterCode, String organizeCode) {

@ -658,7 +658,7 @@ public class ProduceSnExtService implements IProduceSnExtService {
}
@Override
public void doWorkOrderHandCreatePackage(Long id, String organizeCode, String userInfo) {
public List<MesPackageExt> doWorkOrderHandCreatePackage(Long id, String organizeCode, String userInfo, Integer operateType, Integer packageQty) {
MesWorkOrderExt workOrder = getWorkOrderByIdPackage(id, organizeCode);
MesPartExt partDb = partExtService.getPartExt(workOrder.getOrganizeCode(), workOrder.getPartNo());
if (null == partDb) {
@ -730,7 +730,7 @@ public class ProduceSnExtService implements IProduceSnExtService {
while (true) {
count++;
//工单数量
Double qty = workOrder.getQty();
Double qty = operateType == 1 ? workOrder.getQty() : packageQty;
//包装数量
Double qty2 = partDb.getQty2();
@ -785,7 +785,9 @@ public class ProduceSnExtService implements IProduceSnExtService {
.setErrorDetail("工单[%s]批量生成包装条码时没有返回包装条码集合,操作失败", workOrder.getOrderNo())
.build();
}
workOrderAutoCreateSnService.insertPackage(resultBean.getResultList(), workOrder, partDb, codeType.getCodeType(), prodPackDb, num, userInfo);
if (operateType == 1) return workOrderAutoCreateSnService.insertPackage(resultBean.getResultList(), workOrder, partDb, codeType.getCodeType(), prodPackDb, num, userInfo);
else return workOrderAutoCreateSnService.insertSealedPackage(resultBean.getResultList(), workOrder, partDb, codeType.getCodeType(), prodPackDb, num, userInfo);
} else {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode())

@ -242,7 +242,8 @@ public class SxWorkOrderAutoCreateSnService implements ISxWorkOrderAutoCreateSnS
}
@Override
public void insertPackage(List<String> packageNoList, MesWorkOrderExt workOrder, MesPartExt partDb, Integer codeType, MesProdPackExt prodPackDb,Double num, String userInfo) {
public List<MesPackageExt> insertPackage(List<String> packageNoList, MesWorkOrderExt workOrder, MesPartExt partDb, Integer codeType, MesProdPackExt prodPackDb,Double num, String userInfo) {
List<MesPackageExt> packageExtList = new ArrayList<>();
//物料设置的包装数量
Double qty2 = partDb.getQty2();
for (String o : packageNoList) {
@ -273,8 +274,49 @@ public class SxWorkOrderAutoCreateSnService implements ISxWorkOrderAutoCreateSnS
ConvertBean.serviceModelInitialize(pack, userInfo);
pack.setSystemSyncStatus(MesPcnExtEnumUtil.IF_SYNC_STATUS.NO_SYNC.getValue());
new ConvertBeanExt(pack).convertBean(pack);
packageExtRepository.insert(pack);
packageExtList.add(packageExtRepository.insert(pack));
}
return packageExtList;
}
@Override
public List<MesPackageExt> insertSealedPackage(List<String> packageNoList, MesWorkOrderExt workOrder, MesPartExt partDb, Integer codeType, MesProdPackExt prodPackDb, Double num, String userInfo) {
List<MesPackageExt> packageExtList = new ArrayList<>();
//物料设置的包装数量
Double qty2 = partDb.getQty2();
for (String o : packageNoList) {
MesPackageExt pack = new MesPackageExt();
pack.setPackageNo(o);
pack.setWorkOrderNo(workOrder.getOrderNo());
pack.setLastWorkOrderNo(workOrder.getOrderNo());
pack.setPartNo(partDb.getPartNo());
pack.setPartNameRdd(partDb.getPartName());
if (o.equals(packageNoList.get(packageNoList.size()-1))) {
if (num!=0) {
pack.setQty(num);
} else {
pack.setQty(qty2);
}
} else {
pack.setQty(qty2);
}
pack.setPackSpec(prodPackDb.getPackSpec());
pack.setPackSpecQty(qty2);
pack.setIsSealed(MesPcnExtEnumUtil.PACKAGE_IS_SEALED.SEALED.getValue());
pack.setPackageLabelTemplate(prodPackDb.getPackLabelTemplate());
pack.setUnit(partDb.getUnit());
pack.setPrintStatus(MesPcnEnumUtil.PACKAGE_PRINT_STATUS.UNPRINTED.getValue());
pack.setPackLevel(MesPcnEnumUtil.PACKAGE_PACKLEVEL.FIRST.getValue());
pack.setWorkCenterCode(workOrder.getWorkCenterCode());
pack.setOrganizeCode(workOrder.getOrganizeCode());
ConvertBean.serviceModelInitialize(pack, userInfo);
pack.setSystemSyncStatus(MesPcnExtEnumUtil.IF_SYNC_STATUS.NO_SYNC.getValue());
new ConvertBeanExt(pack).convertBean(pack);
packageExtList.add(pack);
}
return packageExtRepository.saveAll(packageExtList);
}
@Override

@ -4,6 +4,8 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiParam;
import lombok.Data;
import java.util.List;
/**
* @author yumingxing
* @version 1.0
@ -28,6 +30,9 @@ public class WorkOrderQueryDto {
@ApiParam("工单状态")
private Integer workOrderStatus;
@ApiParam("工单状态数组")
private Integer[] workOrderStatusArray;
@ApiParam("生产线代码")
private String workCenterCode;

Loading…
Cancel
Save