diff --git a/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesLoadingListService.java b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesLoadingListService.java index fff194e..df22ebf 100644 --- a/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesLoadingListService.java +++ b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesLoadingListService.java @@ -15,7 +15,7 @@ public interface IMesLoadingListService extends IBaseMesService @ApiOperation("根据发运单号查询装车单信息") MesLoadingList getMesLoadingListByShippingCode(String organizeCode, String shippingCode); - void submit(List ids); + void doSubmit(List ids); - void createVolvoAsn(List ids); + void doCreateVolvoAsn(List ids); } diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesLoadingListController.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesLoadingListController.java index 33541ea..9d06a2d 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesLoadingListController.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesLoadingListController.java @@ -2,10 +2,7 @@ package cn.estsh.i3plus.ext.mes.apiservice.controller.base; import cn.estsh.i3plus.ext.mes.api.base.IMesLoadingListService; import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant; -import cn.estsh.i3plus.pojo.base.bean.ListPager; -import cn.estsh.i3plus.pojo.base.common.Pager; import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; -import cn.estsh.i3plus.pojo.mes.bean.MesPartPtrDetail; import cn.estsh.i3plus.pojo.mes.bean.shipping.MesLoadingList; import cn.estsh.impp.framework.boot.exception.ImppBusiException; import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; @@ -33,7 +30,7 @@ public class MesLoadingListController extends BaseMesController @ApiOperation(value = "确认") public ResultBean submit(@RequestBody List ids) { try { - mesLoadingListService.submit(ids); + mesLoadingListService.doSubmit(ids); return ResultBean.success("确认成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); } catch (ImppBusiException busExcep) { return ResultBean.fail(busExcep); @@ -46,7 +43,7 @@ public class MesLoadingListController extends BaseMesController @ApiOperation(value = "创建沃尔沃的ASN") public ResultBean createVolvoAsn(@RequestBody List ids) { try { - mesLoadingListService.createVolvoAsn(ids); + mesLoadingListService.doCreateVolvoAsn(ids); return ResultBean.success("确认成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); } catch (ImppBusiException busExcep) { return ResultBean.fail(busExcep); diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesLoadingListService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesLoadingListService.java index c60ad24..861b522 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesLoadingListService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesLoadingListService.java @@ -32,6 +32,7 @@ import org.springframework.util.StringUtils; import java.util.ArrayList; import java.util.List; import java.util.Objects; +import java.util.stream.Collectors; @Service @Slf4j @@ -173,7 +174,7 @@ public class MesLoadingListService extends BaseMesService implem } } - + @Override protected void onInsertBean(MesLoadingList item) { List shippingOrderNoList = new ArrayList<>(); @@ -225,6 +226,7 @@ public class MesLoadingListService extends BaseMesService implem } + @Override protected void setPackQueryBean(MesLoadingList bean, DdlPackBean packBean) { DdlPreparedPack.getStringEqualPack(bean.getOrderCode(), "orderCode", packBean); DdlPreparedPack.getStringEqualPack(bean.getCustCode(), "custCode", packBean); @@ -245,17 +247,66 @@ public class MesLoadingListService extends BaseMesService implem } @Override - public void submit(List ids) { + public void doSubmit(List ids) { + List loadingLists = getMesLoadingListByIds(ids); + for (MesLoadingList loadingList : loadingLists) { + if (loadingList.getStatus() > MesExtEnumUtil.MES_LOADING_STATUS.PUBLISH.getValue()) { + throw ImppExceptionBuilder.newInstance() + .setErrorCode(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getCode()) + .setErrorDetail(String.format("装车单已扫描,不能再确认或取消确认!")) + .setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode()) + .build(); + } + } + for (MesLoadingList loading : loadingLists) { + List orderManagements = getMesShippingOrderManagement(loading); + if (loading.getStatus() == MesExtEnumUtil.MES_LOADING_STATUS.CREATE.getValue()) { + loading.setStatus(MesExtEnumUtil.MES_LOADING_STATUS.PUBLISH.getValue()); + for (MesShippingOrderManagement orderManagement : orderManagements) { + orderManagement.setStatus(MesExtEnumUtil.SHIPPING_ORDER_STATUS.LOADING.getValue()); + } + baseRDao.update(loading); + shippingOrderManagementRepository.update(orderManagements); + } else if (loading.getStatus() == MesExtEnumUtil.MES_LOADING_STATUS.PUBLISH.getValue()) { + loading.setStatus(MesExtEnumUtil.MES_LOADING_STATUS.CREATE.getValue()); + for (MesShippingOrderManagement orderManagement : orderManagements) { + orderManagement.setStatus(MesExtEnumUtil.SHIPPING_ORDER_STATUS.SHIPPED.getValue()); + } + baseRDao.update(loading); + shippingOrderManagementRepository.update(orderManagements); + } + } } @Override - public void createVolvoAsn(List ids) { - + public void doCreateVolvoAsn(List ids) { + List loadingLists = getMesLoadingListByIds(ids); } private List getMesLoadingListByIds(List ids) { - List loadingLists = new ArrayList<>(); - return loadingLists; + String organizeCode = AuthUtilExt.getOrganizeCode(); + DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode); + DdlPreparedPack.getInPackList(ids, "id", packBean); + return baseRDao.findByHqlWhere(packBean); + } + + private List getMesShippingOrderManagement(MesLoadingList loading) { + List orderManagements = new ArrayList<>(); + String organizeCode = AuthUtilExt.getOrganizeCode(); + DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode); + DdlPreparedPack.getNumEqualPack(loading.getId(), "pid", packBean); + List details = listDetailRepository.findByHqlWhere(packBean); + if (!CollectionUtils.isEmpty(details)) { + for (MesLoadingListDetail detail : details) { + DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode); + DdlPreparedPack.getStringEqualPack(detail.getShippingCode(), "shippingCode", ddlPackBean); + MesShippingOrderManagement orderManagement = shippingOrderManagementRepository.getByProperty(ddlPackBean); + if (orderManagement != null) { + orderManagements.add(orderManagement); + } + } + } + return orderManagements; } }