From 8ea2581ab36932377f9a8e48019a2e6b1780d910 Mon Sep 17 00:00:00 2001 From: "jhforever.wang@estsh.com" Date: Sat, 20 Jul 2024 18:22:45 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A3=85=E8=BD=A6=E5=8D=95=20=E5=8F=91?= =?UTF-8?q?=E8=BF=90=E5=8D=95=20=E9=97=AE=E9=A2=98=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/busi/IMesShippingLoadingCheckService.java | 6 +- .../pcn/api/busi/IMesSortShippingCheckService.java | 8 +- .../busi/MesShippingLoadingCheckController.java | 68 +++++-- .../busi/MesSortShippingCheckController.java | 92 ++++++--- .../busi/MesShippingLoadingCheckService.java | 25 ++- .../busi/MesSortShippingCheckService.java | 52 +++-- .../mes/pcn/apiservice/util/MesPcnException.java | 13 ++ .../src/main/resources/application-239.properties | 215 +++++++++++++++++++++ .../pojo/model/MesShippingLoadingCheckModel.java | 5 + .../pcn/pojo/model/MesSortShippingCheckModel.java | 5 + 10 files changed, 401 insertions(+), 88 deletions(-) create mode 100644 modules/i3plus-ext-mes-pcn-apiservice/src/main/resources/application-239.properties diff --git a/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/IMesShippingLoadingCheckService.java b/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/IMesShippingLoadingCheckService.java index abae46c..1524f5c 100644 --- a/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/IMesShippingLoadingCheckService.java +++ b/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/IMesShippingLoadingCheckService.java @@ -18,13 +18,13 @@ import java.util.List; public interface IMesShippingLoadingCheckService { @ApiOperation(value = "查询装车单") - public MesShippingLoadingCheckModel queryLoadingOrderNo(MesLoadingList loadingVehiclesOrder); + MesShippingLoadingCheckModel queryLoadingOrderNo(MesLoadingList loadingVehiclesOrder); @ApiOperation(value = "查询装车单-自动推单") - public MesLoadingList queryLoadingOrderNoByAutoPushOrder(String shippingGroupNo, String org); + MesLoadingList queryLoadingOrderNoByAutoPushOrder(String shippingGroupNo, String org); @ApiOperation(value = "扫描发运单") - public MesShippingLoadingCheckModel saveVehiclesOrderAndDetail(MesShippingLoadingCheckModel model, String org); + MesShippingLoadingCheckModel saveVehiclesOrderAndDetail(MesShippingLoadingCheckModel model, String organizeCode, String userInfo); MesLoadingList insert(MesLoadingList item); diff --git a/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/IMesSortShippingCheckService.java b/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/IMesSortShippingCheckService.java index 378beb6..d33ccdb 100644 --- a/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/IMesSortShippingCheckService.java +++ b/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/IMesSortShippingCheckService.java @@ -16,16 +16,16 @@ import io.swagger.annotations.ApiOperation; public interface IMesSortShippingCheckService { @ApiOperation(value = "扫描发运单") - public MesSortShippingCheckModel queryShippingOrderNo(MesShippingOrderManagement shippingOrderManagement); + MesSortShippingCheckModel queryShippingOrderNo(MesShippingOrderManagement shippingOrderManagement); @ApiOperation(value = "保存条码") - public MesSortShippingCheckModel saveSn(MesSortShippingCheckModel model, String org); + MesSortShippingCheckModel saveSn(MesSortShippingCheckModel model, String organizeCode, String userInfo); @ApiOperation(value = "保存条码和位置码") - public MesSortShippingCheckModel saveSnAndLocationCode(MesSortShippingCheckModel model, String org); + MesSortShippingCheckModel saveSnAndLocationCode(MesSortShippingCheckModel model, String organizeCode, String userInfo); @ApiOperation(value = "查询发运单-自动推单") - public MesShippingOrderManagement queryShippingOrderNoByAutoPushOrder(String shippingGroupNo, String org); + MesShippingOrderManagement queryShippingOrderNoByAutoPushOrder(String shippingGroupNo, String org); void update(MesShippingOrderManagement item); diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/busi/MesShippingLoadingCheckController.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/busi/MesShippingLoadingCheckController.java index 6972ecf..2d09707 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/busi/MesShippingLoadingCheckController.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/busi/MesShippingLoadingCheckController.java @@ -2,6 +2,7 @@ package cn.estsh.i3plus.ext.mes.pcn.apiservice.controller.busi; import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesShippingLoadingCheckService; +import cn.estsh.i3plus.ext.mes.pcn.apiservice.util.MesPcnException; import cn.estsh.i3plus.ext.mes.pcn.apiservice.util.MesRedisLockUtil; import cn.estsh.i3plus.ext.mes.pcn.pojo.constant.MesCommonConstant; import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesShippingLoadingCheckModel; @@ -15,6 +16,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; @RestController @@ -29,22 +31,36 @@ public class MesShippingLoadingCheckController { @Autowired private MesRedisLockUtil redisLockUtil; + private static final String key = ":BUSI_LOCK:SHIPPING_LOADING_CHECK:"; + @GetMapping("/query-loading-order") @ApiOperation(value = "查询装车单") public ResultBean queryLoadingOrderNo(MesLoadingList loadingVehiclesOrder) { - String moduleKey = "shipping:loadingOrderNo:" + loadingVehiclesOrder.getOrderCode(); - - //加锁 - boolean lockFlg = false; + Boolean lockFlg = false; + String moduleKey = null; + String organizeCode = null; + String userInfo = null; try { + if (StringUtils.isEmpty(loadingVehiclesOrder.getOrderCode())) MesPcnException.throwBusiException("请扫描装车单!"); + + organizeCode = !StringUtils.isEmpty(loadingVehiclesOrder.getOrganizeCode()) ? loadingVehiclesOrder.getOrganizeCode() : AuthUtil.getOrganize().getOrganizeCode(); + + userInfo = !StringUtils.isEmpty(loadingVehiclesOrder.getUserInfo()) ? loadingVehiclesOrder.getUserInfo() : AuthUtil.getSessionUser().getUserName(); + + moduleKey = organizeCode + key + "ORDER_CODE:" + loadingVehiclesOrder.getOrderCode(); + + log.info("工厂:{} 装车校验扫描装车单 --- {} --- START --- 操作人:{} --- THREAD:{}", organizeCode, moduleKey, userInfo, Thread.currentThread().getName()); + //加锁 lockFlg = redisLockUtil.redisLock(moduleKey); + log.info("工厂:{} 装车校验扫描装车单 --- {} --- LOCKED --- 操作人:{} --- THREAD:{}", organizeCode, moduleKey, userInfo, Thread.currentThread().getName()); + // 数据校验 ValidatorBean.checkNotNull(loadingVehiclesOrder.getOrderCode(), "装车单不能为空"); - loadingVehiclesOrder.setOrganizeCode(AuthUtil.getOrganizeCode()); + loadingVehiclesOrder.setOrganizeCode(organizeCode); MesShippingLoadingCheckModel model = shippingLoadingCheckService.queryLoadingOrderNo(loadingVehiclesOrder); return ResultBean.success("查询成功").setResultObject(model); @@ -54,7 +70,10 @@ public class MesShippingLoadingCheckController { return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } finally { //解锁 - redisLockUtil.redisUnLock(lockFlg, moduleKey); + if (lockFlg) { + redisLockUtil.redisUnLock(lockFlg, moduleKey); + log.info("工厂:{} 装车校验扫描装车单 --- {} --- UNLOCK --- 操作人:{} --- THREAD:{}", organizeCode, moduleKey, userInfo, Thread.currentThread().getName()); + } } } @@ -62,20 +81,32 @@ public class MesShippingLoadingCheckController { @ApiOperation(value = "扫描装车单明细-发运单号") public ResultBean saveLoadingOrderNoDetail(@RequestBody MesShippingLoadingCheckModel model) { - String moduleKey = "shipping:shippingOrderNo:" + model.getShippingCode(); - - //加锁 - boolean lockFlg = false; + Boolean lockFlg = false; + String moduleKey = null; + String organizeCode = null; + String userInfo = null; try { + if (StringUtils.isEmpty(model.getShippingCode())) MesPcnException.throwBusiException("请扫描发运单!"); + + organizeCode = !StringUtils.isEmpty(model.getOrganizeCode()) ? model.getOrganizeCode() : AuthUtil.getOrganize().getOrganizeCode(); + + userInfo = !StringUtils.isEmpty(model.getUserInfo()) ? model.getUserInfo() : AuthUtil.getSessionUser().getUserName(); + + moduleKey = organizeCode + key + "SHIPPING_CODE:" + model.getShippingCode(); + + log.info("工厂:{} 装车校验扫描发运单 --- {} --- START --- 操作人:{} --- THREAD:{}", organizeCode, moduleKey, userInfo, Thread.currentThread().getName()); + //加锁 lockFlg = redisLockUtil.redisLock(moduleKey); + log.info("工厂:{} 装车校验扫描发运单 --- {} --- LOCKED --- 操作人:{} --- THREAD:{}", organizeCode, moduleKey, userInfo, Thread.currentThread().getName()); + // 数据校验 ValidatorBean.checkNotNull(model.getShippingCode(), "发运单号不能为空"); ValidatorBean.checkNotNull(model.getDetailList(), "装车单明细不能为空"); - String org = AuthUtil.getOrganizeCode(); - shippingLoadingCheckService.saveVehiclesOrderAndDetail(model, org); + + shippingLoadingCheckService.saveVehiclesOrderAndDetail(model, organizeCode, userInfo); return ResultBean.success("查询成功").setResultObject(model); } catch (ImppBusiException imppException) { return ResultBean.fail(imppException); @@ -83,18 +114,21 @@ public class MesShippingLoadingCheckController { return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } finally { //解锁 - redisLockUtil.redisUnLock(lockFlg, moduleKey); + if (lockFlg) { + redisLockUtil.redisUnLock(lockFlg, moduleKey); + log.info("工厂:{} 装车校验扫描发运单 --- {} --- UNLOCK --- 操作人:{} --- THREAD:{}", organizeCode, moduleKey, userInfo, Thread.currentThread().getName()); + } + } } @GetMapping("/query-auto-push-order") @ApiOperation(value = "自动推单") - public ResultBean queryAutoPushOrder(String shippingGroupNo) { + public ResultBean queryAutoPushOrder(String shippingGroupNo, String organizeCode) { try { - -// MesLoadingList order = shippingLoadingCheckService.queryLoadingOrderNoByAutoPushOrder(shippingGroupNo, "CK01"); - MesLoadingList order = shippingLoadingCheckService.queryLoadingOrderNoByAutoPushOrder(shippingGroupNo, AuthUtil.getOrganizeCode()); + organizeCode = !StringUtils.isEmpty(organizeCode) ? organizeCode : AuthUtil.getOrganize().getOrganizeCode(); + MesLoadingList order = shippingLoadingCheckService.queryLoadingOrderNoByAutoPushOrder(shippingGroupNo, organizeCode); return ResultBean.success("查询成功").setResultObject(order); } catch (ImppBusiException imppException) { return ResultBean.fail(imppException); diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/busi/MesSortShippingCheckController.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/busi/MesSortShippingCheckController.java index fc1fc00..ebe612b 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/busi/MesSortShippingCheckController.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/busi/MesSortShippingCheckController.java @@ -2,6 +2,7 @@ package cn.estsh.i3plus.ext.mes.pcn.apiservice.controller.busi; import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesSortShippingCheckService; +import cn.estsh.i3plus.ext.mes.pcn.apiservice.util.MesPcnException; import cn.estsh.i3plus.ext.mes.pcn.apiservice.util.MesRedisLockUtil; import cn.estsh.i3plus.ext.mes.pcn.pojo.constant.MesCommonConstant; import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesSortShippingCheckModel; @@ -15,6 +16,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; @RestController @@ -29,23 +31,36 @@ public class MesSortShippingCheckController { @Autowired private MesRedisLockUtil redisLockUtil; + private static final String key = ":BUSI_LOCK:SORT_SHIPPING_CHECK:"; + @GetMapping("/query-loading-order") @ApiOperation(value = "查询发运单") public ResultBean queryLoadingOrderNo(MesShippingOrderManagement shippingOrderManagement) { - String moduleKey = "sortShippingCheck:loadingOrderNo:" + shippingOrderManagement.getShippingCode(); - - //加锁 - boolean lockFlg = false; + Boolean lockFlg = false; + String moduleKey = null; + String organizeCode = null; + String userInfo = null; try { + if (StringUtils.isEmpty(shippingOrderManagement.getShippingCode())) MesPcnException.throwBusiException("请扫描发运单!"); + + organizeCode = !StringUtils.isEmpty(shippingOrderManagement.getOrganizeCode()) ? shippingOrderManagement.getOrganizeCode() : AuthUtil.getOrganize().getOrganizeCode(); + + userInfo = !StringUtils.isEmpty(shippingOrderManagement.getUserInfo()) ? shippingOrderManagement.getUserInfo() : AuthUtil.getSessionUser().getUserName(); + + moduleKey = organizeCode + key + "SHIPPING_CODE:" + shippingOrderManagement.getShippingCode(); + + log.info("工厂:{} 排序发运扫描发运单 --- {} --- START --- 操作人:{} --- THREAD:{}", organizeCode, moduleKey, userInfo, Thread.currentThread().getName()); + //加锁 lockFlg = redisLockUtil.redisLock(moduleKey); + log.info("工厂:{} 排序发运扫描发运单 --- {} --- LOCKED --- 操作人:{} --- THREAD:{}", organizeCode, moduleKey, userInfo, Thread.currentThread().getName()); + // 数据校验 ValidatorBean.checkNotNull(shippingOrderManagement.getShippingCode(), "发运单不能为空"); -// shippingOrderManagement.setOrganizeCode("CK01"); - shippingOrderManagement.setOrganizeCode(AuthUtil.getOrganizeCode()); + shippingOrderManagement.setOrganizeCode(organizeCode); MesSortShippingCheckModel model = sortShippingCheckService.queryShippingOrderNo(shippingOrderManagement); return ResultBean.success("查询成功").setResultObject(model); @@ -55,7 +70,10 @@ public class MesSortShippingCheckController { return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } finally { //解锁 - redisLockUtil.redisUnLock(lockFlg, moduleKey); + if (lockFlg) { + redisLockUtil.redisUnLock(lockFlg, moduleKey); + log.info("工厂:{} 排序发运扫描发运单 --- {} --- UNLOCK --- 操作人:{} --- THREAD:{}", organizeCode, moduleKey, userInfo, Thread.currentThread().getName()); + } } } @@ -63,21 +81,33 @@ public class MesSortShippingCheckController { @ApiOperation(value = "扫描条码") public ResultBean saveSn(@RequestBody MesSortShippingCheckModel model) { - String moduleKey = "sortShippingCheck:sn:" + model.getSn(); - - //加锁 - boolean lockFlg = false; + Boolean lockFlg = false; + String moduleKey = null; + String organizeCode = null; + String userInfo = null; try { + if (StringUtils.isEmpty(model.getSn())) MesPcnException.throwBusiException("请扫描条码!"); + + organizeCode = !StringUtils.isEmpty(model.getOrganizeCode()) ? model.getOrganizeCode() : AuthUtil.getOrganize().getOrganizeCode(); + + userInfo = !StringUtils.isEmpty(model.getUserInfo()) ? model.getUserInfo() : AuthUtil.getSessionUser().getUserName(); + + moduleKey = organizeCode + key + "SN:" + model.getSn(); + + log.info("工厂:{} 排序发运扫描条码 --- {} --- START --- 操作人:{} --- THREAD:{}", organizeCode, moduleKey, userInfo, Thread.currentThread().getName()); + //加锁 lockFlg = redisLockUtil.redisLock(moduleKey); + log.info("工厂:{} 排序发运扫描条码 --- {} --- LOCKED --- 操作人:{} --- THREAD:{}", organizeCode, moduleKey, userInfo, Thread.currentThread().getName()); + // 数据校验 ValidatorBean.checkNotNull(model.getShippingCode(), "发运单不能为空"); ValidatorBean.checkNotNull(model.getDetailList(), "发运明细不能为空"); ValidatorBean.checkNotNull(model.getSn(), "条码不能为空"); - sortShippingCheckService.saveSn(model, AuthUtil.getOrganizeCode()); + sortShippingCheckService.saveSn(model, organizeCode, userInfo); return ResultBean.success("查询成功").setResultObject(model); } catch (ImppBusiException imppException) { return ResultBean.fail(imppException); @@ -85,7 +115,10 @@ public class MesSortShippingCheckController { return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } finally { //解锁 - redisLockUtil.redisUnLock(lockFlg, moduleKey); + if (lockFlg) { + redisLockUtil.redisUnLock(lockFlg, moduleKey); + log.info("工厂:{} 排序发运扫描条码 --- {} --- UNLOCK --- 操作人:{} --- THREAD:{}", organizeCode, moduleKey, userInfo, Thread.currentThread().getName()); + } } } @@ -93,22 +126,34 @@ public class MesSortShippingCheckController { @ApiOperation(value = "扫描位置码") public ResultBean saveLocationCode(@RequestBody MesSortShippingCheckModel model) { - String moduleKey = "sortShippingCheck:sn:" + model.getSn(); - - //加锁 - boolean lockFlg = false; + Boolean lockFlg = false; + String moduleKey = null; + String organizeCode = null; + String userInfo = null; try { + if (StringUtils.isEmpty(model.getSn())) MesPcnException.throwBusiException("请扫描位置码!"); + + organizeCode = !StringUtils.isEmpty(model.getOrganizeCode()) ? model.getOrganizeCode() : AuthUtil.getOrganize().getOrganizeCode(); + + userInfo = !StringUtils.isEmpty(model.getUserInfo()) ? model.getUserInfo() : AuthUtil.getSessionUser().getUserName(); + + moduleKey = organizeCode + key + "LOCATION_CODE:" + model.getSn(); + + log.info("工厂:{} 排序发运扫描位置码 --- {} --- START --- 操作人:{} --- THREAD:{}", organizeCode, moduleKey, userInfo, Thread.currentThread().getName()); + //加锁 lockFlg = redisLockUtil.redisLock(moduleKey); + log.info("工厂:{} 排序发运扫描位置码 --- {} --- LOCKED --- 操作人:{} --- THREAD:{}", organizeCode, moduleKey, userInfo, Thread.currentThread().getName()); + // 数据校验 ValidatorBean.checkNotNull(model.getShippingCode(), "发运单不能为空"); ValidatorBean.checkNotNull(model.getDetailList(), "发运明细不能为空"); ValidatorBean.checkNotNull(model.getSn(), "条码不能为空"); ValidatorBean.checkNotNull(model.getLocationCode(), "位置码不能为空"); - sortShippingCheckService.saveSnAndLocationCode(model, AuthUtil.getOrganizeCode()); + sortShippingCheckService.saveSnAndLocationCode(model, organizeCode, userInfo); return ResultBean.success("查询成功").setResultObject(model); } catch (ImppBusiException imppException) { return ResultBean.fail(imppException); @@ -116,18 +161,21 @@ public class MesSortShippingCheckController { return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } finally { //解锁 - redisLockUtil.redisUnLock(lockFlg, moduleKey); + if (lockFlg) { + redisLockUtil.redisUnLock(lockFlg, moduleKey); + log.info("工厂:{} 排序发运扫描位置码 --- {} --- UNLOCK --- 操作人:{} --- THREAD:{}", organizeCode, moduleKey, userInfo, Thread.currentThread().getName()); + } } } @GetMapping("/query-auto-push-order") @ApiOperation(value = "自动推单") - public ResultBean queryAutoPushOrder(String shippingGroupNo) { + public ResultBean queryAutoPushOrder(String shippingGroupNo, String organizeCode) { try { - - MesShippingOrderManagement order = sortShippingCheckService.queryShippingOrderNoByAutoPushOrder(shippingGroupNo, AuthUtil.getOrganizeCode()); + organizeCode = !StringUtils.isEmpty(organizeCode) ? organizeCode : AuthUtil.getOrganize().getOrganizeCode(); + MesShippingOrderManagement order = sortShippingCheckService.queryShippingOrderNoByAutoPushOrder(shippingGroupNo, organizeCode); return ResultBean.success("查询成功").setResultObject(order); } catch (ImppBusiException imppException) { return ResultBean.fail(imppException); diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesShippingLoadingCheckService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesShippingLoadingCheckService.java index 7c705ba..3aaaeb4 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesShippingLoadingCheckService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesShippingLoadingCheckService.java @@ -11,13 +11,11 @@ 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.mes.bean.MesPartShippingGroup; -import cn.estsh.i3plus.pojo.mes.bean.MesWorkOrder; import cn.estsh.i3plus.pojo.mes.bean.shipping.MesLoadingList; import cn.estsh.i3plus.pojo.mes.bean.shipping.MesLoadingListDetail; import cn.estsh.i3plus.pojo.mes.bean.shipping.MesShippingOrderManagement; import cn.estsh.i3plus.pojo.mes.repository.*; import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil; -import cn.estsh.impp.framework.boot.auth.AuthUtil; import cn.estsh.impp.framework.boot.exception.ImppBusiException; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -59,12 +57,11 @@ public class MesShippingLoadingCheckService implements IMesShippingLoadingCheckS @Override public MesShippingLoadingCheckModel queryLoadingOrderNo(MesLoadingList loadingList) { - //校验装车单 MesLoadingList loadingListResult = checkLoadingList(loadingList.getOrderCode(), loadingList.getOrganizeCode()); //若生成装车单,则一定有装车单明细 - DdlPackBean orderDetailPackBean = DdlPackBean.getDdlPackBean(loadingList.organizeCode); + DdlPackBean orderDetailPackBean = DdlPackBean.getDdlPackBean(loadingList.getOrganizeCode()); DdlPreparedPack.getNumEqualPack(loadingListResult.getId(), "pid", orderDetailPackBean); DdlPreparedPack.getOrderByPack(new Object[]{CommonEnumUtil.ASC_OR_DESC.ASC.getValue()}, new String[]{"seq"}, orderDetailPackBean); List detailList = vehiclesOrderDetailRepository.findByHqlWhere(orderDetailPackBean); @@ -85,7 +82,7 @@ public class MesShippingLoadingCheckService implements IMesShippingLoadingCheckS model.setOrderCode(loadingList.getOrderCode()); //查询最近扫描完成的装车单号 - DdlPackBean recentlyOrderPackBean = DdlPackBean.getDdlPackBean(loadingList.organizeCode); + DdlPackBean recentlyOrderPackBean = DdlPackBean.getDdlPackBean(loadingList.getOrganizeCode()); DdlPreparedPack.getNumEqualPack(MesExtEnumUtil.MES_LOADING_STATUS.SCANNED.getValue(), "status", recentlyOrderPackBean); DdlPreparedPack.getOrderByPack(new Object[]{CommonEnumUtil.ASC_OR_DESC.DESC.getValue()}, new String[]{"modifyDatetime"}, recentlyOrderPackBean); MesLoadingList recentlyVehiclesOrder = vehiclesOrderRepository.getByProperty(recentlyOrderPackBean); @@ -128,13 +125,13 @@ public class MesShippingLoadingCheckService implements IMesShippingLoadingCheckS } @Override - public MesShippingLoadingCheckModel saveVehiclesOrderAndDetail(MesShippingLoadingCheckModel model, String org) { + public MesShippingLoadingCheckModel saveVehiclesOrderAndDetail(MesShippingLoadingCheckModel model, String organizeCode, String userInfo) { //校验装车单 - MesLoadingList loadingList = checkLoadingList(model.getOrderCode(), org); + MesLoadingList loadingList = checkLoadingList(model.getOrderCode(), organizeCode); //校验发运单是否存在 - DdlPackBean orderDetailPackBean = DdlPackBean.getDdlPackBean(org); + DdlPackBean orderDetailPackBean = DdlPackBean.getDdlPackBean(organizeCode); DdlPreparedPack.getNumEqualPack(loadingList.getId(), "pid", orderDetailPackBean); DdlPreparedPack.getStringEqualPack(model.getShippingCode(), "shippingCode", orderDetailPackBean); MesLoadingListDetail vehiclesOrderDetail = vehiclesOrderDetailRepository.getByProperty(orderDetailPackBean); @@ -142,7 +139,7 @@ public class MesShippingLoadingCheckService implements IMesShippingLoadingCheckS throw new ImppBusiException(String.format("【%s】此发运单不存在或还未生成装车单明细,请检查数据!", model.getShippingCode())); } //查询零件发运组 - MesPartShippingGroup shippingGroup = getMesPartShippingGroup(org, loadingList.getPartShippingGroupCode()); + MesPartShippingGroup shippingGroup = getMesPartShippingGroup(organizeCode, loadingList.getPartShippingGroupCode()); //根据扫描的发运单以及前端传的发运单明细,进行匹配,若没有找到扫描的发运单,则提示扫描的发运单号不在此装车单中,请检查数据!。 Boolean scanflg = false; @@ -186,11 +183,11 @@ public class MesShippingLoadingCheckService implements IMesShippingLoadingCheckS } loadingList.setStatus(MesExtEnumUtil.MES_LOADING_STATUS.LOADING.getValue()); - ConvertBean.serviceModelUpdate(loadingList, AuthUtil.getSessionUser().getUserName()); + ConvertBean.serviceModelUpdate(loadingList, userInfo); update(loadingList); loadingListDetail.setStatus(MesExtEnumUtil.LOADING_ORDER_DETAIL_SHIPPING_STATUS.SHIPPINGED.getValue()); - ConvertBean.serviceModelUpdate(loadingListDetail, AuthUtil.getSessionUser().getUserName()); + ConvertBean.serviceModelUpdate(loadingListDetail, userInfo); update(loadingListDetail); } @@ -226,15 +223,15 @@ public class MesShippingLoadingCheckService implements IMesShippingLoadingCheckS loadingList.setEndScanTime(TimeTool.getNowTime(true)); //装车单主表 loadingList.setStatus(MesExtEnumUtil.MES_LOADING_STATUS.SCANNED.getValue()); - ConvertBean.serviceModelUpdate(loadingList, AuthUtil.getSessionUser().getUserName()); + ConvertBean.serviceModelUpdate(loadingList, userInfo); //装车单明细 - DdlPackBean vehiclesOrderDetailPackBean = DdlPackBean.getDdlPackBean(org); + DdlPackBean vehiclesOrderDetailPackBean = DdlPackBean.getDdlPackBean(organizeCode); DdlPreparedPack.getNumEqualPack(loadingList.getId(), "pid", vehiclesOrderDetailPackBean); List vehiclesOrderDetailList = vehiclesOrderDetailRepository.findByHqlWhere(vehiclesOrderDetailPackBean); vehiclesOrderDetailList.forEach(k -> { // k.setStatus(MesExtEnumUtil.LOADING_ORDER_DETAIL_SHIPPING_STATUS.SHIPPINGED.getValue()); todo 不改变为发运状态 - ConvertBean.serviceModelUpdate(k, AuthUtil.getSessionUser().getUserName()); + ConvertBean.serviceModelUpdate(k, userInfo); }); vehiclesOrderDetailRepository.saveAll(vehiclesOrderDetailList); diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesSortShippingCheckService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesSortShippingCheckService.java index 6e1031b..7a1105a 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesSortShippingCheckService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesSortShippingCheckService.java @@ -5,9 +5,7 @@ import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProduceSnExtService; import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesShippingLoadingCheckService; import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesSortShippingCheckService; import cn.estsh.i3plus.ext.mes.pcn.apiservice.aspect.MonitorLog; -import cn.estsh.i3plus.ext.mes.pcn.apiservice.util.MesPcnException; import cn.estsh.i3plus.ext.mes.pcn.pojo.constant.MesCommonConstant; -import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesShippingLoadingCheckModel; import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesSortShippingCheckModel; import cn.estsh.i3plus.platform.common.convert.ConvertBean; import cn.estsh.i3plus.platform.common.tool.TimeTool; @@ -24,7 +22,6 @@ 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.*; import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil; -import cn.estsh.impp.framework.boot.auth.AuthUtil; import cn.estsh.impp.framework.boot.exception.ImppBusiException; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -207,15 +204,15 @@ public class MesSortShippingCheckService implements IMesSortShippingCheckService } @Override - public MesSortShippingCheckModel saveSn(MesSortShippingCheckModel model, String org) { + public MesSortShippingCheckModel saveSn(MesSortShippingCheckModel model, String organizeCode, String userInfo) { //校验条码 - MesProduceSn produceSn = checkSn(model, org); + MesProduceSn produceSn = checkSn(model, organizeCode); //校验发运单是否存在 - MesShippingOrderManagement orderManagement = checkMesShippingOrderManagement(model, org); + MesShippingOrderManagement orderManagement = checkMesShippingOrderManagement(model, organizeCode); //零件发运组 - MesPartShippingGroup shippingGroup = getMesPartShippingGroup(org, orderManagement.getShippingGroupCode()); + MesPartShippingGroup shippingGroup = getMesPartShippingGroup(organizeCode, orderManagement.getShippingGroupCode()); //根据条码找到对应的物料号,若物料号一致,则修改扫描flg,将flg改为true. boolean scanFlg = false; for (MesShippingOrderManagementDetail detail : model.getDetailList()) { @@ -255,17 +252,17 @@ public class MesSortShippingCheckService implements IMesSortShippingCheckService } orderManagement.setStatus(MesExtEnumUtil.SHIPPING_ORDER_STATUS.SHIPPING.getValue()); - ConvertBean.serviceModelUpdate(orderManagement, AuthUtil.getSessionUser().getUserName()); + ConvertBean.serviceModelUpdate(orderManagement, userInfo); update(orderManagement); detail.setActualQty(1); detail.setStatus(MesExtEnumUtil.SHIPPING_ORDER_DETAIL_SHIPPING_STATUS.SHIPPINGED.getValue()); - ConvertBean.serviceModelUpdate(detail, AuthUtil.getSessionUser().getUserName()); + ConvertBean.serviceModelUpdate(detail, userInfo); updateDetail(detail); //内部条码更新条码状态 if (!Objects.isNull(produceSn.getId())) { produceSn.setSnStatus(MesExtEnumUtil.PRODUCE_SN_STATUS.SHIPPED.getValue()); - ConvertBean.serviceModelUpdate(detail, AuthUtil.getSessionUser().getUserName()); + ConvertBean.serviceModelUpdate(detail, userInfo); produceSnExtService.update(produceSn); } } @@ -285,21 +282,21 @@ public class MesSortShippingCheckService implements IMesSortShippingCheckService if (count.intValue() == model.getDetailList().size() && StringUtils.isEmpty(orderManagement.getCheckSeqCode())) { //保存数据库 - saveDate(orderManagement, model, org); + saveDate(orderManagement, model, organizeCode, userInfo); } return model; } @Override - public MesSortShippingCheckModel saveSnAndLocationCode(MesSortShippingCheckModel model, String org) { + public MesSortShippingCheckModel saveSnAndLocationCode(MesSortShippingCheckModel model, String organizeCode, String userInfo) { //校验条码 - MesProduceSn produceSn = checkMesProduceSn(model, org); + MesProduceSn produceSn = checkMesProduceSn(model, organizeCode); //校验发运单是否存在 - MesShippingOrderManagement orderManagement = checkMesShippingOrderManagement(model, org); + MesShippingOrderManagement orderManagement = checkMesShippingOrderManagement(model, organizeCode); //根据条码找到对应的物料号,若物料号一致,则修改扫描flg,将flg改为true. boolean scanFlg = false; @@ -322,7 +319,7 @@ public class MesSortShippingCheckService implements IMesSortShippingCheckService if (count.intValue() == model.getDetailList().size()) { //保存数据库 - saveDate(orderManagement, model, org); + saveDate(orderManagement, model, organizeCode, userInfo); } @@ -440,8 +437,7 @@ public class MesSortShippingCheckService implements IMesSortShippingCheckService return orderManagement; } - public void saveDate(MesShippingOrderManagement orderManagement, MesSortShippingCheckModel model, String org) { - String userName = AuthUtil.getSessionUser().getUserName(); + public void saveDate(MesShippingOrderManagement orderManagement, MesSortShippingCheckModel model, String organizeCode, String userInfo) { //若发运单状态为创建或发布 则写入开始扫描时间 if (orderManagement.getStatus() == MesExtEnumUtil.SHIPPING_ORDER_STATUS.CREATE.getValue() || orderManagement.getStatus() == MesExtEnumUtil.SHIPPING_ORDER_STATUS.PUBLISHED.getValue()) { @@ -453,7 +449,7 @@ public class MesSortShippingCheckService implements IMesSortShippingCheckService orderManagement.setEndScanTime(TimeTool.getNowTime(true)); //发运单明细状态修改为校验完成 - DdlPackBean orderManagementDetailPackBean = DdlPackBean.getDdlPackBean(org); + DdlPackBean orderManagementDetailPackBean = DdlPackBean.getDdlPackBean(organizeCode); DdlPreparedPack.getNumEqualPack(orderManagement.getId(), "pid", orderManagementDetailPackBean); List orderManagementDetailList = shippingOrderManagementDetailRepository.findByHqlWhere(orderManagementDetailPackBean); List detailList = model.getDetailList(); @@ -462,7 +458,7 @@ public class MesSortShippingCheckService implements IMesSortShippingCheckService List produceSnList = new ArrayList<>(); for (MesShippingOrderManagementDetail detail : orderManagementDetailList) { //根据扫描的条码查询条码是否存在 - DdlPackBean packBean = DdlPackBean.getDdlPackBean(org); + DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode); if (orderManagement.getIsEnableMemory() == MesCommonConstant.TRUE_INTEGER) { detail.setBarcode(StringUtil.isEmpty(detail.getBarcode()) ? model.getSn() : detail.getBarcode()); DdlPreparedPack.getStringEqualPack(StringUtil.isEmpty(detail.getBarcode()) ? model.getSn() : detail.getBarcode(), "productSn", packBean); @@ -475,13 +471,13 @@ public class MesSortShippingCheckService implements IMesSortShippingCheckService } detail.setActualQty(1); detail.setStatus(MesExtEnumUtil.SHIPPING_ORDER_DETAIL_SHIPPING_STATUS.SHIPPINGED.getValue()); - ConvertBean.serviceModelUpdate(detail, userName); + ConvertBean.serviceModelUpdate(detail, userInfo); DdlPreparedPack.getOrderByPack(new Object[]{CommonEnumUtil.ASC_OR_DESC.DESC.getValue()}, new String[]{"createDatetime"}, packBean); MesProduceSn produceSn = produceSnRepository.getByProperty(packBean); if(!Objects.isNull(produceSn)){ produceSn.setSnStatus(MesExtEnumUtil.PRODUCE_SN_STATUS.SHIPPED.getValue()); - ConvertBean.serviceModelUpdate(produceSn, userName); + ConvertBean.serviceModelUpdate(produceSn, userInfo); produceSnList.add(produceSn); } @@ -493,31 +489,31 @@ public class MesSortShippingCheckService implements IMesSortShippingCheckService update(orderManagement); shippingOrderManagementDetailRepository.saveAll(orderManagementDetailList); //1.更新装车单明细对应的发运单状态=发运 - DdlPackBean vehiclesOrderDetailPackBean = DdlPackBean.getDdlPackBean(org); + DdlPackBean vehiclesOrderDetailPackBean = DdlPackBean.getDdlPackBean(organizeCode); DdlPreparedPack.getStringEqualPack(orderManagement.getShippingCode(), "shippingCode", vehiclesOrderDetailPackBean); MesLoadingListDetail vehiclesOrderDetail = vehiclesOrderDetailRepository.getByProperty(vehiclesOrderDetailPackBean); if(!StringUtil.isEmpty(vehiclesOrderDetail)){ vehiclesOrderDetail.setStatus(MesExtEnumUtil.LOADING_ORDER_DETAIL_SHIPPING_STATUS.SHIPPINGED.getValue()); - ConvertBean.serviceModelUpdate(vehiclesOrderDetail, userName); + ConvertBean.serviceModelUpdate(vehiclesOrderDetail, userInfo); vehiclesOrderDetailRepository.save(vehiclesOrderDetail); } - DdlPackBean orderManagementPackBean = DdlPackBean.getDdlPackBean(org); + DdlPackBean orderManagementPackBean = DdlPackBean.getDdlPackBean(organizeCode); DdlPreparedPack.getStringEqualPack(orderManagement.getOrderCode(), "orderCode", orderManagementPackBean); DdlPreparedPack.getNumNOEqualPack(MesExtEnumUtil.SHIPPING_ORDER_STATUS.SHIPPED.getValue(), "status", orderManagementPackBean); boolean exitByHql = shippingOrderManagementRepository.isExitByHql(orderManagementPackBean); //2.装车单中所有发运单全部变成发运回传 if(!exitByHql){ List jisShippingList=new ArrayList<>(); - DdlPackBean jisBean = DdlPackBean.getDdlPackBean(org); + DdlPackBean jisBean = DdlPackBean.getDdlPackBean(organizeCode); DdlPreparedPack.getStringEqualPack(orderManagement.getOrderCode(), "orderCode", jisBean); List shippingOrderManagementList = shippingOrderManagementRepository.findByHqlWhere(jisBean); for (MesShippingOrderManagement mesShippingOrderManagement : shippingOrderManagementList) { - DdlPackBean detailPackBean = DdlPackBean.getDdlPackBean(org); + DdlPackBean detailPackBean = DdlPackBean.getDdlPackBean(organizeCode); DdlPreparedPack.getNumEqualPack(mesShippingOrderManagement.getId(), "pid", detailPackBean); List shippingOrderManagementDetails = shippingOrderManagementDetailRepository.findByHqlWhere(detailPackBean); //当前装车单所有发运单明细 需要报工的数据 - jisShippingList = jisShippingService.getJisShipping(mesShippingOrderManagement, shippingOrderManagementDetails, org); + jisShippingList = jisShippingService.getJisShipping(mesShippingOrderManagement, shippingOrderManagementDetails, organizeCode); } //保存当前发运单明细报工 jisShippingRepository.saveAll(jisShippingList); @@ -526,7 +522,7 @@ public class MesSortShippingCheckService implements IMesSortShippingCheckService MesLoadingList loadingList = vehiclesOrderRepository.getById(vehiclesOrderDetail.getPid()); if (!StringUtils.isEmpty(loadingList)) { loadingList.setStatus(MesExtEnumUtil.MES_LOADING_STATUS.ASN.getValue()); - ConvertBean.serviceModelUpdate(loadingList, userName); + ConvertBean.serviceModelUpdate(loadingList, userInfo); shippingLoadingCheckService.update(loadingList); } } diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/util/MesPcnException.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/util/MesPcnException.java index 94aed72..dcc721c 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/util/MesPcnException.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/util/MesPcnException.java @@ -68,4 +68,17 @@ public class MesPcnException { .setErrorDetail(errorDetailString,args) .build(); } + + /** + * 抛出业务异常 + * @param errorDetail 错误详情 + */ + public static void throwBusiException(String errorDetail, Object...args){ + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) + .setErrorDetail(errorDetail, args) + .build(); + } + } diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/resources/application-239.properties b/modules/i3plus-ext-mes-pcn-apiservice/src/main/resources/application-239.properties new file mode 100644 index 0000000..7f5570d --- /dev/null +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/resources/application-239.properties @@ -0,0 +1,215 @@ +#\u9879\u76EE\u7AEF\u53E3 +server.port=8350 +#\u672C\u673Aip +impp.server.ip=localhost +#impp.server.ip=192.168.0.105 +#andon ip +impp.andon.url=http://10.195.88.71:8750 +#ptl-pcn ip +impp.ptl-pcn.url=http://10.195.88.71:8750 +#pcn plc\u5168\u5C40\u4E1A\u52A1\u5F00\u5173 1.yfai-hnc +mes.plc.callback.open=123 +#console\u63A7\u5236\u53F0\u670D\u52A1\uFF08zipkin\u8FFD\u8E2A\u5168\u8DEF\u5F84\uFF09 +impp.console.ip=http://10.195.88.71:8010 +################ \u529F\u80FD\u914D\u7F6E1 ################ +#\u5DE5\u4F5C\u533AID,\u4E0D\u540C\u670D\u52A1\u5668\u4E0D\u540CID 0 - 31 +impp.snowflake.work.id=22 +#\u6570\u636E\u4ED3\u533AID 0 - 31 \u6709\u9ED8\u8BA4\u56FA\u5B9AID +impp.snowflake.database.id=22 +#\u82E5\u65E0\u6CD5\u8FDE\u63A5\u6CE8\u518C\u4E2D\u5FC3\uFF0C\u662F\u5426\u9700\u8981\u4E00\u76F4\u68C0\u6D4B\u52A0\u5165 +impp.cluster.fetch=false +#\u670D\u52A1\u6CE8\u518C\u4E2D\u5FC3 +impp.cluster.regist.center=http://10.195.88.71:8000/eureka/ +#\u65E5\u5FD7\u9ED8\u8BA4\u4F7F\u7528log4j2 +logging.config=classpath:log4j2-spring.xml +mes.ws=ws://10.196.77.248:8300/ws/pcn-regist/ +#mes-pcn.ws.path=ws://10.197.176.77:8350 +mes-pcn.ws.path=ws://${impp.server.ip}:8350 +pcn.code=PCN-U7 +########\u5E73\u53F0\u76F8\u5173\u53C2\u6570########## +#\u662F\u5426\u5F00\u542Fredis\u7F13\u5B58 +impp.config.redis=true +#\u662F\u5426\u5F00\u542FrabbitMQ +impp.config.rabbitmq=false +#\u662F\u5426\u5F00\u542Fswagger +impp.config.swagger=true +#\u662F\u5426\u5F00\u542Fwebsocket +impp.config.websocket=true +#\u662F\u5426\u5F00\u542F\u6587\u4EF6\u670D\u52A1 +impp.config.fileserver=false +#\u662F\u5426\u5BF9\u53D1\u5E03\u670D\u52A1\u8FDB\u884C\u8BE6\u7EC6\u65E5\u5FD7\u5206\u6790 +impp.log.detail.controller=true +#\u662F\u5426\u5BF9\u8C03\u7528\u670D\u52A1\u8FDB\u884C\u8BE6\u7EC6\u65E5\u5FD7\u5206\u6790 +impp.log.detail.service=true +################ \u961F\u5217\u5904\u7406 ################ +#\u7AD9\u5185\u4FE1 +impp.mq.queue.letter=true +#\u90AE\u4EF6 +impp.mq.queue.mail=true +#\u5B9A\u65F6\u4EFB\u52A1 +impp.mq.queue.schedule=true +#SWEB\u901A\u77E5\u5904\u7406\u961F\u5217 +impp.mq.queue.sweb.notice=true +################################ \u5176\u4ED6\u529F\u80FD\u8BBE\u7F6E ################################ +#redisIP +redis.hostName=10.195.88.71 +#\u7AEF\u53E3\u53F7 +redis.port=6379 +#\u5982\u679C\u6709\u5BC6\u7801 +redis.password=Admin123! +##\u5176\u4ED6redis\u914D\u7F6E\u9700\u8981\u8C03\u6574\u7684\u52A0\u5728\u6B64\u5904 +################## rabbitMQ\u914D\u7F6E #################### +spring.rabbitmq.vhost=/ +spring.rabbitmq.host=10.195.88.71 +spring.rabbitmq.port=5672 +spring.rabbitmq.username=estsh +spring.rabbitmq.password=estsh123 +##\u5176\u4ED6rabbitMq\u914D\u7F6E\u9700\u8981\u8C03\u6574\u7684\u52A0\u5728\u6B64\u5904 +################ \u529F\u80FD\u914D\u7F6E2 ################ +#\u662F\u5426\u5F00\u542Fredis +mes.pcn.redis.open=true +#\u662F\u5426\u5141\u8BB8\u524D\u7AEF\u8DE8\u57DF\u63D0\u4EA4 +impp.web.cross=true +################ \u6388\u6743\u8FC7\u6EE4\u914D\u7F6E ################ +#\u7528\u6237\u6388\u6743\u8FC7\u6EE4\u8DEF\u5F84 +filter.shiro.user.filteruri=/mes-pcn/operate/* +#\u7528\u6237\u6388\u6743\u8FC7\u6EE4\u8DEF\u5F84 +filter.shiro.admin.filteruri=/mes-pcn/adoperate/* +#\u7528\u6237\u6388\u6743\u8FC7\u6EE4\u8DEF\u5F84 +filter.shiro.saadmin.filteruri=/mes-pcn/saoperate/* +################ \u4E91\u914D\u7F6E \uFF08\u4EE5projectName\u4F5C\u4E3A\u5E94\u7528\u540D\uFF09 ################ +#\u662F\u5426\u5F00\u542F\u5FAE\u670D +eureka.client.enabled=false +#\uFF08\u53C2\u6570\u914D\u7F6E\uFF09\u6CE8\u518C\u4E2D\u5FC3\u5730\u5740 -\u300B i3plus-ics\uFF0C\u591A\u4E2A\u7528\u9017\u53F7\u5206\u9694 +eureka.client.service-url.defaultZone=${impp.cluster.regist.center} +#\u533A\u57DF\uFF08\u6E90\u7801\u4E2D\u5305\u542BdefaultZone\uFF0C\u6241\u4EE5\u9ED8\u8BA4\u4F7F\u7528defaultZone\uFF09 +#eureka.client.region=estsh +#eureka.client.service-url.estsh:http://192.168.1.20:8000/eureka/,http://192.168.1.20:8001/eureka/ +################ \u672C\u673A\u5FAE\u670D\u914D\u7F6E ################ +#\u672C\u670D\u52A1\u4E3B\u673Aip\uFF08\u82E5\u591A\u4E2A\u7F51\u5361\uFF0C\u5219\u9700\u8981\u8BBE\u7F6E\u672C\u670D\u52A1ip\uFF09 +eureka.instance.ip-address=${impp.server.ip} +#\u672C\u670D\u52A1\u5B9E\u4F8BID +eureka.instance.instance-id=${impp.server.ip}:${server.port} +#\u672C\u670D\u52A1\u4E3B\u673A\u540D +eureka.instance.hostname=${impp.server.ip} +#\u672C\u670D\u52A1\u72B6\u6001\u9875\u9762 +eureka.instance.status-page-url=http://${impp.server.ip}:${server.port}/swagger-ui.html +#\u5C06\u81EA\u5DF1\u7684IP\u6CE8\u518C\u5230Eureka Server\u3002\u82E5\u4E0D\u914D\u7F6E\u6216\u8BBE\u7F6E\u4E3Afalse\uFF0C\u8868\u793A\u6CE8\u518C\u5FAE\u670D\u52A1\u6241\u5728\u64CD\u4F5C\u7CFB\u7EDF\u7684hostname\u5230Eureka Server +eureka.instance.prefer-ip-address=false +#\u662F\u5426\u8FDB\u884C\u5065\u5EB7\u68C0\u67E5 +eureka.client.healthcheck.enabled=true +################ \u68C0\u6D4B\u673A\u5236 ################ +#\u5FC3\u8DF3\u95F4\u9694\u5468\u671F\uFF0C\u5B95\u673A\u9650\u5236\uFF08\u79D2\uFF09\uFF0C30\u79D2\u6CA1\u53CD\u5E94\u89C6\u4E3A\u5B95\u673A +eureka.instance.lease-expiration-duration-in-seconds=30 +#\u5FC3\u8DF3\u5468\u671F +eureka.instance.lease-renewal-interval-in-seconds=20 +#client\u8FDE\u63A5Eureka\u670D\u52A1\u7AEF\u540E\u7684\u7A7A\u95F2\u7B49\u5F85\u65F6\u95F4\uFF0C\u9ED8\u8BA4\u4E3A30 \u79D2 +eureka.client.eureka-connection-idle-timeout-seconds=1 +#\u6700\u521D\u590D\u5236\u5B9E\u4F8B\u4FE1\u606F\u5230eureka\u670D\u52A1\u5668\u6241\u9700\u7684\u65F6\u95F4\uFF08s\uFF09\uFF0C\u9ED8\u8BA4\u4E3A40\u79D2 +eureka.client.initial-instance-info-replication-interval-seconds=1 +#\u95F4\u9694\u591A\u957F\u65F6\u95F4\u518D\u6B21\u590D\u5236\u5B9E\u4F8B\u4FE1\u606F\u5230eureka\u670D\u52A1\u5668\uFF0C\u9ED8\u8BA4\u4E3A30\u79D2 +eureka.client.instance-info-replication-interval-seconds=1 +#\u4ECEeureka\u670D\u52A1\u5668\u6CE8\u518C\u8868\u4E2D\u83B7\u53D6\u6CE8\u518C\u4FE1\u606F\u7684\u65F6\u95F4\u95F4\u9694\uFF08s\uFF09\uFF0C\u9ED8\u8BA4\u4E3A30\u79D2 +eureka.client.registry-fetch-interval-seconds=1 +################ \u6253\u5F00feign\u7684\u7194\u65AD ################ +feign.hystrix.enabled=true +#\u8BFB\u53D6\u6570\u636E\u65F6\u957F +ribbon.ReadTimeout=10000 +#\u8FDE\u63A5\u65F6\u957F +ribbon.ConnectTimeout=10000 +#\u91CD\u8BD5 +ribbon.maxAutoRetries=2 +#\u54CD\u5E94\u8D85\u8FC7\u65F6\u957F\uFF0C\u8FDB\u884C\u7194\u65AD\uFF08\u7194\u65AD\u8D85\u65F6\u9700\u8981\u5927\u4E8E\u8BFB\u53D6\u65F6\u957F\u53CA\u8FDE\u63A5\u65F6\u957F\uFF09 +hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds=15000 +#\u96C6\u7FA4\u540D +eureka.instance.metadata-map.cluster=impp_cluster +################ \u94FE\u8DEF\u8FFD\u8E2A ################ +#\u4F7F\u7528web\u65B9\u5F0F\u4F20\u8F93\u4FE1\u606F +spring.zipkin.sender.type=web +#\u94FE\u8DEF\u8FFD\u8E2A\u670D\u52A1\u7684\u5730\u5740 +spring.zipkin.base-url=${impp.console.ip} +#\u8FFD\u8E2A\u6DF1\u5EA6\uFF0C\u767E\u5206\u6BD4\uFF0C1\u662F\u5168\u90E8 +spring.sleuth.sampler.probability=1.0 + +# mysql +impp.write.datasource.type=com.zaxxer.hikari.HikariDataSource +impp.write.datasource.driver-class-name=com.mysql.jdbc.Driver +impp.write.datasource.jdbc-url=jdbc:mysql://10.195.88.71:3316/impp_i3_mes?autoReconnect=true&useSSL=false&characterEncoding=utf-8 +impp.write.datasource.username=root +impp.write.datasource.password=estsh123 +impp.read.datasource.type=com.zaxxer.hikari.HikariDataSource +impp.read.datasource.driver-class-name=com.mysql.jdbc.Driver +impp.read.datasource.jdbc-url=jdbc:mysql://10.195.88.71:3316/impp_i3_mes?autoReconnect=true&useSSL=false&characterEncoding=utf-8 +impp.read.datasource.username=root +impp.read.datasource.password=estsh123 +# + + +#\u4E2D\u822A\u6570\u636E\u6E90 +##############\u5B9A\u65F6\u4EFB\u52A1\u6301\u4E45\u5316############## +impp.schedule.open=true +impp.schedule.datasource.driver-class-name=com.mysql.jdbc.Driver +impp.schedule.datasource.jdbc-url=jdbc:mysql://10.195.88.71:3306/impp_i3_schedule?autoReconnect=true&useSSL=false&characterEncoding=utf-8 +impp.schedule.datasource.username=root +impp.schedule.datasource.password=estsh123 +impp.schedule.datasource.max-connections=20 +#\u5B9A\u65F6\u4EFB\u52A1\u5728\u670D\u52A1\u542F\u52A8\u540E\u591A\u5C11\u79D2\u6267\u884C +impp.schedule.start.after-second=20 +#\u662F\u5426\u96C6\u7FA4\u90E8\u7F72 +impp.schedule.datasource.is-clustered=true +#\u6267\u884C\u68C0\u6D4B\uFF08\u6BEB\u79D2\uFF09\uFF0C\u82E5\u5B95\u673A\u7531\u5176\u4ED6\u5B9A\u65F6\u5668\u6267\u884C +impp.schedule.datasource.cluster-checkin-interval=30000 +#\u7EBF\u7A0B\u6570 +impp.schedule.thread-count=10 +#\u7EBF\u7A0B\u4F18\u5148\u7EA7\uFF081-10\uFF09\u9ED8\u8BA4\u4E3A5 +impp.schedule.thread-priority=5 +################ \u6570\u636E\u6C60\u8BBE\u7F6E ################ +## \u8FDE\u63A5\u6C60\u6700\u5927\u8FDE\u63A5\u6570\uFF0C\u9ED8\u8BA4\u662F10 +spring.datasource.maximum-pool-size=100 +## \u6700\u5C0F\u7A7A\u95F2\u8FDE\u63A5\u6570\u91CF +spring.datasource.min-idle=10 +################ JPA\u8BBE\u7F6E\u8BBE\u7F6E ################ +# mysql +spring.jpa.database=MYSQL +spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect +##Sql-server## +#spring.jpa.database=sql_server +#spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.SQLServerDialect +##oracle## +#spring.jpa.database=oracle +#spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.Oracle10gDialect +# mysql +#spring.datasource.validationQuery=SELECT 1 +##Sql-server## +spring.datasource.validationQuery=SELECT 1 +##oracle## +# spring.datasource.validationQuery=SELECT 1 FROM DUAL +#ImprovedNamingStrategy / physical_naming_strategy java\u5C5E\u6027\u6620\u5C04\u5230\u6570\u636E\u5E93\u5B57\u6BB5\u65F6\u547D\u540D\u89C4\u5219 +# spring.jpa.properties.hibernate.physical_naming_strategy=org.hibernate.cfg.ImprovedNamingStrategy/org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl +#\u8868\u5173\u7CFBcreate,create-drop,update,validate +spring.jpa.properties.hibernate.hbm2ddl.auto=none +#spring.jpa.hibernate.naming.physical-strategy=org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy +#spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl +#\u662F\u5426\u663E\u793Asql +spring.jpa.show-sql=true +################ \u6388\u6743\u914D\u7F6E ################ +slm.api.password=4C9479EBEFA6FA6E232EF25EFA49C4D2 +slm.app.id=20190513 +# \u811A\u672C\u5728\u7EBF\u8C03\u8BD5\u751F\u6210\u7684\u65E5\u5FD7\u6587\u4EF6\u76F8\u5BF9\u8DEF\u5F84\uFF0Cclasspath:xx +pcn.script.logger.path=pluginlogs +pcn.schedule.job=true + +server.tomcat.max-threads=300 +server.tomcat.max-connections=300 +plugin.mainPackage=cn.estsh.i3plus + +mqtt.host=tcp://localhost:1883 +mqtt.userName=admin +mqtt.passWord=123456 +mqtt.qos=1 +mqtt.clientId=ClientId_local +mqtt.timeout=10 +mqtt.keepalive=30 +mqtt.clearSession=true +mqtt.topic=ABC +mqtt.topic.list=ABC,ABD,ADE \ No newline at end of file diff --git a/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/model/MesShippingLoadingCheckModel.java b/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/model/MesShippingLoadingCheckModel.java index 7f91fa4..7231022 100644 --- a/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/model/MesShippingLoadingCheckModel.java +++ b/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/model/MesShippingLoadingCheckModel.java @@ -16,6 +16,11 @@ import java.util.List; @Data public class MesShippingLoadingCheckModel { + @ApiParam("操作人") + private String userInfo; + + @ApiParam("组织代码") + private String organizeCode; @ApiParam("装车单") private String orderCode; diff --git a/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/model/MesSortShippingCheckModel.java b/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/model/MesSortShippingCheckModel.java index 82c7d2f..f072ee4 100644 --- a/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/model/MesSortShippingCheckModel.java +++ b/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/model/MesSortShippingCheckModel.java @@ -16,6 +16,11 @@ import java.util.List; @Data public class MesSortShippingCheckModel { + @ApiParam("操作人") + private String userInfo; + + @ApiParam("组织代码") + private String organizeCode; @ApiParam("发运单号") private String shippingCode;