diff --git a/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/IMesPartShippingGroupService.java b/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/IMesPartShippingGroupService.java index 02f55c0..96f668e 100644 --- a/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/IMesPartShippingGroupService.java +++ b/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/IMesPartShippingGroupService.java @@ -2,6 +2,8 @@ package cn.estsh.i3plus.ext.mes.pcn.api.busi; import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; import cn.estsh.i3plus.pojo.mes.bean.MesPartShippingGroup; +import cn.estsh.i3plus.pojo.mes.bean.MesPullingOrderInfo; +import cn.estsh.i3plus.pojo.mes.bean.shipping.MesShippingOrderManagement; import io.swagger.annotations.ApiOperation; import java.util.List; @@ -20,4 +22,6 @@ public interface IMesPartShippingGroupService { @ApiOperation(value = "查询发运组数据") MesPartShippingGroup getMesPartShippingGroup(String organizeCode,String shippingGroupCode); + @ApiOperation(value = "打印发运单数据") + List doMesMesShippingOrderManagementPrint(MesShippingOrderManagement model, String userName); } diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/busi/MesPartShippingGroupController.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/busi/MesPartShippingGroupController.java index ef62414..f9e92d7 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/busi/MesPartShippingGroupController.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/busi/MesPartShippingGroupController.java @@ -3,18 +3,21 @@ package cn.estsh.i3plus.ext.mes.pcn.apiservice.controller.busi; import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesPartShippingGroupService; import cn.estsh.i3plus.ext.mes.pcn.pojo.constant.MesCommonConstant; 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.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.util.StringUtils; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; + +import java.util.List; /** * @Description : @@ -50,5 +53,20 @@ public class MesPartShippingGroupController { return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } } - + @PostMapping(value = "/doPrint") + @ApiOperation(value = "打印未打印拉动单后修改状态") + public ResultBean doMesMesShippingOrderManagementPrint(@RequestBody MesShippingOrderManagement model) { + try { + // 数据校验 + ValidatorBean.checkNotNull(model.getShippingGroupCode(), "发运组代码不能为空"); + List shippingOrderManagementList = shippingGroupService.doMesMesShippingOrderManagementPrint(model, AuthUtil.getSessionUser().getUserName()); + return ResultBean.success("拉动单打印成功") + .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()) + .setResultList(shippingOrderManagementList); + } catch (ImppBusiException e) { + return ResultBean.fail(e).build(); + } catch (Exception e) { + return ResultBean.fail(e); + } + } } diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesPartShippingGroupService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesPartShippingGroupService.java index 998b4f6..1fa5b6a 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesPartShippingGroupService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesPartShippingGroupService.java @@ -1,14 +1,24 @@ package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.busi; import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesPartShippingGroupService; +import cn.estsh.i3plus.platform.common.convert.ConvertBean; +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; +import cn.estsh.i3plus.pojo.base.util.StringUtil; import cn.estsh.i3plus.pojo.mes.bean.MesPartShippingGroup; +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.MesPartShippingGroupRepository; +import cn.estsh.i3plus.pojo.mes.repository.MesShippingOrderManagementDetailRepository; +import cn.estsh.i3plus.pojo.mes.repository.MesShippingOrderManagementRepository; 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.Arrays; import java.util.List; @Service @@ -19,6 +29,11 @@ public class MesPartShippingGroupService implements IMesPartShippingGroupService @Autowired private MesPartShippingGroupRepository shippingGroupRepository; + @Autowired + private MesShippingOrderManagementRepository shippingOrderManagementRepository; + + @Autowired + private MesShippingOrderManagementDetailRepository shippingOrderManagementDetailRepository; public List findAll( DdlPackBean packBean) { List detailDeleteList = shippingGroupRepository.findByHqlWhere(packBean); return detailDeleteList; @@ -31,4 +46,36 @@ public class MesPartShippingGroupService implements IMesPartShippingGroupService return shippingGroupRepository.getByProperty(packBean); } + @Override + public List doMesMesShippingOrderManagementPrint(MesShippingOrderManagement bean, String userName) { + DdlPackBean packBean = DdlPackBean.getDdlPackBean(bean.getOrganizeCode()); + //多选 + if (!StringUtil.isEmpty(bean.getShippingGroupCode())) { + DdlPreparedPack.getInPackList(Arrays.asList(bean.getShippingGroupCode().split(",")), "shippingGroupCode", packBean); + } + + 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 pullingOrderInfos = shippingOrderManagementRepository.findByHqlWhere(packBean); + if (!CollectionUtils.isEmpty(pullingOrderInfos)) { + //把查出来的拉动单打印并修改打印状态为已打印 + for (MesShippingOrderManagement pullingOrderInfo : pullingOrderInfos) { + //查询拉动组明细 + DdlPackBean partPackBean = DdlPackBean.getDdlPackBean(pullingOrderInfo.getOrganizeCode()); + DdlPreparedPack.getNumEqualPack(pullingOrderInfo.getId(), "pid", partPackBean); + List shipOrderPartInfos = shippingOrderManagementDetailRepository.findByHqlWhere(partPackBean); + if (!CollectionUtils.isEmpty(shipOrderPartInfos)) { + pullingOrderInfo.setShipOrderPartInfos(shipOrderPartInfos); + } + + pullingOrderInfo.setPrintCount(StringUtil.isEmpty(pullingOrderInfo.getPrintCount())?1:pullingOrderInfo.getPrintCount()+1); + pullingOrderInfo.setLastPrintTime(TimeTool.getNowTime(true)); + pullingOrderInfo.setLastPrintUser(userName); + ConvertBean.serviceModelUpdate(pullingOrderInfo, userName); + } + shippingOrderManagementRepository.saveAll(pullingOrderInfos); + } + return pullingOrderInfos; + } }