装车单 发运单 问题修改

tags/yfai-pcn-ext-v1.0
王杰 10 months ago
parent 32c3626e6f
commit 8ea2581ab3

@ -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);

@ -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);

@ -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);

@ -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);

@ -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<MesLoadingListDetail> 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<MesLoadingListDetail> 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);

@ -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<MesShippingOrderManagementDetail> orderManagementDetailList = shippingOrderManagementDetailRepository.findByHqlWhere(orderManagementDetailPackBean);
List<MesShippingOrderManagementDetail> detailList = model.getDetailList();
@ -462,7 +458,7 @@ public class MesSortShippingCheckService implements IMesSortShippingCheckService
List<MesProduceSn> 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<MesJisShipping> jisShippingList=new ArrayList<>();
DdlPackBean jisBean = DdlPackBean.getDdlPackBean(org);
DdlPackBean jisBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getStringEqualPack(orderManagement.getOrderCode(), "orderCode", jisBean);
List<MesShippingOrderManagement> 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<MesShippingOrderManagementDetail> 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);
}
}

@ -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();
}
}

@ -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

@ -16,6 +16,11 @@ import java.util.List;
@Data
public class MesShippingLoadingCheckModel {
@ApiParam("操作人")
private String userInfo;
@ApiParam("组织代码")
private String organizeCode;
@ApiParam("装车单")
private String orderCode;

@ -16,6 +16,11 @@ import java.util.List;
@Data
public class MesSortShippingCheckModel {
@ApiParam("操作人")
private String userInfo;
@ApiParam("组织代码")
private String organizeCode;
@ApiParam("发运单号")
private String shippingCode;

Loading…
Cancel
Save