fix bug 44258 芜湖发运单打印

dev-temp-nht-202502180000-customprint
臧学普 5 months ago
parent b775ab0fa1
commit 20b69531e1

@ -4,6 +4,7 @@ import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.mes.bean.MesPartShippingGroup;
import cn.estsh.i3plus.pojo.mes.bean.MesPartShippingGroupDetail;
import cn.estsh.i3plus.pojo.mes.bean.shipping.MesShippingOrderManagement;
import cn.estsh.i3plus.pojo.mes.model.MesShippingOrderManagementModel;
import io.swagger.annotations.ApiOperation;
import java.util.List;
@ -23,7 +24,7 @@ public interface IMesPartShippingGroupService {
MesPartShippingGroup getMesPartShippingGroup(String organizeCode,String shippingGroupCode);
@ApiOperation(value = "打印发运单数据")
List<MesShippingOrderManagement> doMesMesShippingOrderManagementPrint(MesShippingOrderManagement model, String userName);
List<MesShippingOrderManagementModel> doMesMesShippingOrderManagementPrint(MesShippingOrderManagement model);
@ApiOperation(value = "发运组明细")
MesPartShippingGroupDetail getMesPartShippingGroupDetail(String organizeCode, String shippingGroupCode, String partNo, String custPartNo);

@ -6,6 +6,7 @@ import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
import cn.estsh.i3plus.pojo.mes.bean.MesPartShippingGroup;
import cn.estsh.i3plus.pojo.mes.bean.shipping.MesShippingOrderManagement;
import cn.estsh.i3plus.pojo.mes.model.MesShippingOrderManagementModel;
import cn.estsh.impp.framework.boot.auth.AuthUtil;
import cn.estsh.impp.framework.boot.exception.ImppBusiException;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
@ -54,13 +55,13 @@ public class MesPartShippingGroupController {
}
}
@PostMapping(value = "/doPrint")
@ApiOperation(value = "打印未打印拉动单后修改状态")
@ApiOperation(value = "打印未打印发运单后修改状态")
public ResultBean doMesMesShippingOrderManagementPrint(@RequestBody MesShippingOrderManagement model) {
try {
// 数据校验
ValidatorBean.checkNotNull(model.getShippingGroupCode(), "发运组代码不能为空");
List<MesShippingOrderManagement> shippingOrderManagementList = shippingGroupService.doMesMesShippingOrderManagementPrint(model, AuthUtil.getSessionUser().getUserName());
return ResultBean.success("拉动单打印成功")
List<MesShippingOrderManagementModel> shippingOrderManagementList = shippingGroupService.doMesMesShippingOrderManagementPrint(model);
return ResultBean.success("发运单打印成功")
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode())
.setResultList(shippingOrderManagementList);
} catch (ImppBusiException e) {

@ -7,19 +7,20 @@ import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
import cn.estsh.i3plus.pojo.base.util.StringUtil;
import cn.estsh.i3plus.pojo.mes.bean.MesConfig;
import cn.estsh.i3plus.pojo.mes.bean.MesPartShippingGroup;
import cn.estsh.i3plus.pojo.mes.bean.MesPartShippingGroupDetail;
import cn.estsh.i3plus.pojo.mes.bean.edi.wuhu.MesCimCheryOrder;
import cn.estsh.i3plus.pojo.mes.bean.shipping.MesShippingOrderManagement;
import cn.estsh.i3plus.pojo.mes.bean.shipping.MesShippingOrderManagementDetail;
import cn.estsh.i3plus.pojo.mes.repository.MesPartShippingGroupDetailRepository;
import cn.estsh.i3plus.pojo.mes.repository.MesPartShippingGroupRepository;
import cn.estsh.i3plus.pojo.mes.repository.MesShippingOrderManagementDetailRepository;
import cn.estsh.i3plus.pojo.mes.repository.MesShippingOrderManagementRepository;
import cn.estsh.i3plus.pojo.mes.model.MesShippingOrderManagementModel;
import cn.estsh.i3plus.pojo.mes.repository.*;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@ -40,6 +41,12 @@ public class MesPartShippingGroupService implements IMesPartShippingGroupService
@Autowired
private MesPartShippingGroupDetailRepository mesPartShippingGroupDetailRepository;
@Autowired
private MesCimCheryOrderRepository cheryOrderRao;
@Autowired
private MesConfigRepository mesConfigRao;
public List<MesPartShippingGroup> findAll(DdlPackBean packBean) {
return shippingGroupRepository.findByHqlWhere(packBean);
}
@ -53,7 +60,8 @@ public class MesPartShippingGroupService implements IMesPartShippingGroupService
}
@Override
public List<MesShippingOrderManagement> doMesMesShippingOrderManagementPrint(MesShippingOrderManagement bean, String userName) {
public List<MesShippingOrderManagementModel> doMesMesShippingOrderManagementPrint(MesShippingOrderManagement bean) {
List<MesShippingOrderManagementModel> modelList = new ArrayList<>();
DdlPackBean packBean = DdlPackBean.getDdlPackBean(bean.getOrganizeCode());
//多选
if (!StringUtil.isEmpty(bean.getShippingGroupCode())) {
@ -62,29 +70,61 @@ public class MesPartShippingGroupService implements IMesPartShippingGroupService
DdlPreparedPack.getStringEqualPack(bean.getShippingCode(), "shippingCode", packBean);
DdlPreparedPack.getIsNull("lastPrintTime", packBean);
DdlPreparedPack.getOrderByPack(new Object[]{CommonEnumUtil.ASC_OR_DESC.DESC.getValue()}, new String[]{"createDatetime"}, packBean);
List<MesShippingOrderManagement> pullingOrderInfos = shippingOrderManagementRepository.findByHqlWhere(packBean);
DdlPreparedPack.getOrderByPack(new Object[]{CommonEnumUtil.ASC_OR_DESC.ASC.getValue()}, new String[]{"createDatetime"}, packBean);
List<MesShippingOrderManagement> pullingOrderInfos = shippingOrderManagementRepository.findByHqlTopWhere(packBean,10);
if (!CollectionUtils.isEmpty(pullingOrderInfos)) {
//把查出来的拉动单打印并修改打印状态为已打印
for (MesShippingOrderManagement pullingOrderInfo : pullingOrderInfos) {
//查询拉动组明细
DdlPackBean partPackBean = DdlPackBean.getDdlPackBean(pullingOrderInfo.getOrganizeCode());
DdlPreparedPack.getNumEqualPack(pullingOrderInfo.getId(), "pid", partPackBean);
//把查出来的发运单打印并修改打印状态为已打印
for (MesShippingOrderManagement shippingOrder : pullingOrderInfos) {
MesShippingOrderManagementModel model = new MesShippingOrderManagementModel();
model.setShippingCode(shippingOrder.getShippingCode());
//查询原始报文
MesCimCheryOrder cheryOrder = getCheryOrder(shippingOrder.getOrganizeCode(), shippingOrder.getShippingCode());
if (cheryOrder != null) {
model.setPlantName(cheryOrder.getPlantName());
model.setPartkitName(cheryOrder.getPartkitName());
model.setDeliverySendSequence(cheryOrder.getDeliverySendSequence());
model.setReceiveDockName(cheryOrder.getReceiveDockNo()+"--"+cheryOrder.getReceiveDockName());
//根据cheryOrder的workshopNo获取对应的车间名称
String workshopName = getWorkshopName(cheryOrder.getOrganizeCode(), cheryOrder.getWorkshopNo());
model.setWorkShop(workshopName);
}
//查询发运单明细
DdlPackBean partPackBean = DdlPackBean.getDdlPackBean(shippingOrder.getOrganizeCode());
DdlPreparedPack.getNumEqualPack(shippingOrder.getId(), "pid", partPackBean);
List<MesShippingOrderManagementDetail> shipOrderPartInfos = shippingOrderManagementDetailRepository.findByHqlWhere(partPackBean);
if (!CollectionUtils.isEmpty(shipOrderPartInfos)) {
pullingOrderInfo.setShipOrderPartInfos(shipOrderPartInfos);
model.setShippingDetails(shipOrderPartInfos);
}
pullingOrderInfo.setPrintCount(StringUtil.isEmpty(pullingOrderInfo.getPrintCount())?1:pullingOrderInfo.getPrintCount()+1);
pullingOrderInfo.setLastPrintTime(TimeTool.getNowTime(true));
pullingOrderInfo.setLastPrintUser(userName);
ConvertBean.serviceModelUpdate(pullingOrderInfo, userName);
//查询原有报文 根据shippingCode;
shippingOrder.setPrintCount(StringUtil.isEmpty(shippingOrder.getPrintCount())?1:shippingOrder.getPrintCount()+1);
shippingOrder.setLastPrintTime(TimeTool.getNowTime(true));
shippingOrder.setLastPrintUser(bean.getUserInfo());
ConvertBean.serviceModelUpdate(shippingOrder, bean.getUserInfo());
modelList.add(model);
}
shippingOrderManagementRepository.saveAll(pullingOrderInfos);
}
return pullingOrderInfos;
// return pullingOrderInfos;
return modelList;
}
private String getWorkshopName(String organizeCode, String workshopNo) {
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getStringEqualPack(workshopNo, "cfgKey", ddlPackBean);
List<MesConfig> configList = mesConfigRao.findByHqlWhere(ddlPackBean);
return configList.isEmpty() ? "" : configList.get(0).getCfgValue();
}
private MesCimCheryOrder getCheryOrder(String organizeCode, String sheetNo) {
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getStringEqualPack(sheetNo, "sheetNo", ddlPackBean);
List<MesCimCheryOrder> cheryOrderList = cheryOrderRao.findByHqlTopWhere(ddlPackBean,1);
return cheryOrderList.isEmpty() ? null : cheryOrderList.get(0);
}
@Override
public MesPartShippingGroupDetail getMesPartShippingGroupDetail(String organizeCode, String shippingGroupCode, String partNo, String custPartNo) {
if(StringUtil.isEmpty(organizeCode) || StringUtil.isEmpty(shippingGroupCode) || StringUtil.isEmpty(partNo) || StringUtil.isEmpty(custPartNo)) return null;

Loading…
Cancel
Save