|
|
@@ -5,7 +5,10 @@ import com.alibaba.fastjson.JSON;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
+import com.sckw.contract.api.RemoteContractService;
|
|
|
+import com.sckw.contract.api.model.dto.res.ContractCommonInfoResDto;
|
|
|
import com.sckw.core.common.enums.NumberConstant;
|
|
|
+import com.sckw.core.common.enums.StringConstant;
|
|
|
import com.sckw.core.common.enums.enums.DictTypeEnum;
|
|
|
import com.sckw.core.model.enums.CarWaybillEnum;
|
|
|
import com.sckw.core.model.enums.LogisticsOrderEnum;
|
|
|
@@ -71,6 +74,9 @@ public class LogisticsConsignmentService {
|
|
|
@DubboReference(version = "2.0.0", group = "design", check = false, timeout = 6000)
|
|
|
RemoteFleetService remoteFleetService;
|
|
|
|
|
|
+ @DubboReference(version = "2.0.0", group = "design", check = false, timeout = 6000)
|
|
|
+ RemoteContractService remoteContractService;
|
|
|
+
|
|
|
@Autowired
|
|
|
public KwtLogisticsOrderGoodsMapper kwtLogisticsOrderGoodsMapper;
|
|
|
|
|
|
@@ -92,7 +98,12 @@ public class LogisticsConsignmentService {
|
|
|
@Autowired
|
|
|
public KwtWaybillOrderMapper waybillOrderMapper;
|
|
|
|
|
|
-
|
|
|
+ /**
|
|
|
+ * 采购订单-物流托运生成托运订单
|
|
|
+ *
|
|
|
+ * @param bo
|
|
|
+ * @return
|
|
|
+ */
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public HttpResult purchaseLogisticsConsignment(LogisticsConsignmentParam bo) {
|
|
|
HttpResult httpResult = ValidUtil.serviceValid(bo);
|
|
|
@@ -117,6 +128,11 @@ public class LogisticsConsignmentService {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 销售订单-物流托运生成托运订单
|
|
|
+ * @param bo
|
|
|
+ * @return
|
|
|
+ */
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public HttpResult sellLogisticsConsignment(LogisticsConsignmentParam bo) {
|
|
|
HttpResult httpResult = ValidUtil.serviceValid(bo);
|
|
|
@@ -152,24 +168,55 @@ public class LogisticsConsignmentService {
|
|
|
}
|
|
|
String lOrderNo = com.sckw.transport.utils.StringUtils.getLOrderNo();
|
|
|
Long orderId = new IdWorker(NumberConstant.ONE).nextId();
|
|
|
+ /**判断生成物流订单应生成哪一种单据状态*/
|
|
|
+ List<Long> contractList = new ArrayList<>();
|
|
|
+ contractList.add(Long.parseLong(bo.getContractId()));
|
|
|
+ Map<Long, ContractCommonInfoResDto> longContractCommonInfoResDtoMap = remoteContractService.queryContractBaseInfo(contractList);
|
|
|
+ if (CollectionUtils.isEmpty(longContractCommonInfoResDtoMap)) {
|
|
|
+ throw new RuntimeException("并未有对应合同,应先签约合同");
|
|
|
+ }
|
|
|
+ if (longContractCommonInfoResDtoMap.get(Long.parseLong(bo.getContractId())) == null) {
|
|
|
+ throw new RuntimeException("并未有对应合同,应先签约合同");
|
|
|
+ }
|
|
|
+ ContractCommonInfoResDto infoResDto = longContractCommonInfoResDtoMap.get(Long.parseLong(bo.getContractId()));
|
|
|
+ /**状态判断
|
|
|
+ * 是否是已签约合同
|
|
|
+ * */
|
|
|
+ // 0 已签约 1待签约
|
|
|
+ Integer status = infoResDto.getStatus();
|
|
|
+ Integer orderStatus = LogisticsOrderEnum.PENDING_ORDER.getCode();
|
|
|
+ if (NumberConstant.ONE == status) {
|
|
|
+ orderStatus = LogisticsOrderEnum.TO_BE_PLANNED.getCode();
|
|
|
+ } else if (NumberConstant.ZERO == status) {
|
|
|
+ orderStatus = LogisticsOrderEnum.PENDING_ORDER.getCode();
|
|
|
+ } else {
|
|
|
+ log.info("采购/销售生成物流托运 贸易订单id:{}," +
|
|
|
+ "贸易订单编号:{},合同id:{},合同信息:{}",
|
|
|
+ bo.getTOrderId(), bo.getTOrderNo(),
|
|
|
+ bo.getContractId(), JSONObject.toJSONString(infoResDto));
|
|
|
+ throw new RuntimeException("生成物流托运合同异常");
|
|
|
+ }
|
|
|
insertLogisticsGoods(bo, lOrderNo, orderId);
|
|
|
- insertLogisticsOrder(bo, lOrderNo, order, tradeOrder, orderId);
|
|
|
+ insertLogisticsOrder(bo, lOrderNo, order, tradeOrder, orderId, orderStatus);
|
|
|
insertLogisticsOrderContract(bo, orderId);
|
|
|
insertLogisticsOrderUnit(bo, orderId);
|
|
|
insertLogisticsOrderAddress(bo, orderId);
|
|
|
- insertLogisticsOrderTrack(bo, orderId);
|
|
|
- sendMongoDB(lOrderNo, orderId, bo, tradeOrder);
|
|
|
+ insertLogisticsOrderTrack(bo, orderId, orderStatus);
|
|
|
+ sendMongoDB(lOrderNo, orderId, bo, tradeOrder, orderStatus);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 组装数据发送至mongoDb
|
|
|
*
|
|
|
- * @param lOrderNo
|
|
|
- * @param orderId
|
|
|
- * @param bo
|
|
|
+ * @param lOrderNo 物流订单编号
|
|
|
+ * @param orderId 物流订单id
|
|
|
+ * @param bo 页面请求数据
|
|
|
+ * @param tradeOrder 贸易单据
|
|
|
+ * @param orderStatus 物流订单状态
|
|
|
*/
|
|
|
- private void sendMongoDB(String lOrderNo, Long orderId, LogisticsConsignmentParam bo, OrderDetailRes tradeOrder) {
|
|
|
+ private void sendMongoDB(String lOrderNo, Long orderId, LogisticsConsignmentParam bo, OrderDetailRes tradeOrder, Integer orderStatus) {
|
|
|
SckwLogisticsOrder logisticsOrder = new SckwLogisticsOrder();
|
|
|
+ logisticsOrder.setStatus(String.valueOf(orderStatus));
|
|
|
logisticsOrder.setLOrderId(orderId);
|
|
|
logisticsOrder.setLOrderNo(lOrderNo);
|
|
|
logisticsOrder.setLOrderPid(null);
|
|
|
@@ -312,7 +359,7 @@ public class LogisticsConsignmentService {
|
|
|
* @param bo
|
|
|
* @param orderId
|
|
|
*/
|
|
|
- private void insertLogisticsOrderTrack(LogisticsConsignmentParam bo, Long orderId) {
|
|
|
+ private void insertLogisticsOrderTrack(LogisticsConsignmentParam bo, Long orderId, Integer orderStatus) {
|
|
|
KwtLogisticsOrderTrack entity = new KwtLogisticsOrderTrack();
|
|
|
entity.setId(new IdWorker(NumberConstant.ONE).nextId());
|
|
|
entity.setLOrderId(orderId);
|
|
|
@@ -328,8 +375,9 @@ public class LogisticsConsignmentService {
|
|
|
/**
|
|
|
* 物流订单-商品信息
|
|
|
*
|
|
|
- * @param bo
|
|
|
- * @param lOrderNo
|
|
|
+ * @param bo 页面请求数据
|
|
|
+ * @param lOrderNo 物流订单编号
|
|
|
+ * @param orderId 物流订单表编号
|
|
|
*/
|
|
|
private void insertLogisticsGoods(LogisticsConsignmentParam bo, String lOrderNo, Long orderId) {
|
|
|
KwtLogisticsOrderGoods kwtLogisticsOrderGoods = new KwtLogisticsOrderGoods();
|
|
|
@@ -349,20 +397,21 @@ public class LogisticsConsignmentService {
|
|
|
/**
|
|
|
* 物流订单-主体
|
|
|
*
|
|
|
- * @param bo
|
|
|
- * @param lOrderNo
|
|
|
- * @param order
|
|
|
- * @param tradeOrder
|
|
|
+ * @param bo 页面请求参数
|
|
|
+ * @param lOrderNo 物流订单编号
|
|
|
+ * @param order 物流订单数据
|
|
|
+ * @param tradeOrder 贸易订单数据
|
|
|
+ * @param orderId 物流订单id
|
|
|
+ * @param orderStatus 物流订单状态
|
|
|
*/
|
|
|
- private void insertLogisticsOrder(LogisticsConsignmentParam bo, String lOrderNo, KwtLogisticsOrder order, OrderDetailRes tradeOrder, Long orderId) {
|
|
|
+ private void insertLogisticsOrder(LogisticsConsignmentParam bo, String lOrderNo, KwtLogisticsOrder order, OrderDetailRes tradeOrder, Long orderId, Integer orderStatus) {
|
|
|
order.setId(orderId);
|
|
|
order.setEntId(LoginUserHolder.getEntId());
|
|
|
order.setTOrderId(Long.parseLong(bo.getTOrderId()));
|
|
|
order.setTOrderNo(bo.getTOrderNo());
|
|
|
order.setLOrderNo(lOrderNo);
|
|
|
order.setPid(null);
|
|
|
-// order.setPids(orderId + StringConstant.COMMA);
|
|
|
- order.setPids(orderId.toString());
|
|
|
+ order.setPids(orderId + StringConstant.COMMA);
|
|
|
order.setSettlementCycle(bo.getSettlementCycle());
|
|
|
order.setPrice(new BigDecimal(bo.getPrice()));
|
|
|
order.setPriceType(remoteSystemService.queryDictByTypeAndValue(DictTypeEnum.PRICE_TYPE.getType(), bo.getPriceType()) == null ?
|
|
|
@@ -387,7 +436,7 @@ public class LogisticsConsignmentService {
|
|
|
order.setCreateTime(new Date());
|
|
|
order.setUpdateBy(LoginUserHolder.getUserId());
|
|
|
order.setUpdateTime(new Date());
|
|
|
- order.setStatus(LogisticsOrderEnum.PENDING_ORDER.getCode());
|
|
|
+ order.setStatus(orderStatus);
|
|
|
BigDecimal decimal = new BigDecimal(NumberConstant.ZERO);
|
|
|
/**补充默认值*/
|
|
|
order.setEntrustAmount(decimal);
|
|
|
@@ -505,7 +554,7 @@ public class LogisticsConsignmentService {
|
|
|
public HttpResult logisticsOrder(String id, Integer page, Integer pageSize) {
|
|
|
HttpResult httpResult = new HttpResult();
|
|
|
OrderDetailRes orderDetailRes = tradeOrderInfoService.getOrderDetailById(Long.parseLong(id));
|
|
|
- /**根据下单方式决定托运数据是否展示*/
|
|
|
+ /**根据下单方式(代客下单/自主下单)决定托运数据是否展示*/
|
|
|
boolean flag = false;
|
|
|
if (String.valueOf(NumberConstant.ONE).equals(orderDetailRes.getSource())) {
|
|
|
flag = true;
|
|
|
@@ -705,6 +754,7 @@ public class LogisticsConsignmentService {
|
|
|
* @param type 类型
|
|
|
* @return
|
|
|
*/
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
public HttpResult orderFinish(OrderFinishDTO orderFinishDTO, String type) {
|
|
|
HttpResult httpResult = ValidUtil.serviceValid(orderFinishDTO);
|
|
|
if (!String.valueOf(httpResult.getCode()).equals(String.valueOf(HttpStatus.SUCCESS_CODE))) {
|
|
|
@@ -727,66 +777,7 @@ public class LogisticsConsignmentService {
|
|
|
* @param orderFinishDTO
|
|
|
*/
|
|
|
private void sellOrderFinish(OrderFinishDTO orderFinishDTO) {
|
|
|
- /** 订单完结 物流运单状态为【待派车】、【运输中】可操作*/
|
|
|
- /**完结拦截 必须车辆运单无正在运输中的单据才能完结 状态有 待接单之后已核弹之前的状态 都不能完结*/
|
|
|
- /**完结订单 不做页面填写数量与数据库数量进行计算验证-直接获取页面填写数据进行保存处理*/
|
|
|
- //物流订单id
|
|
|
- String id = orderFinishDTO.getId();
|
|
|
- KwtLogisticsOrder logisticsOrder = kwtLogisticsOrderMapper.selectOne(new LambdaQueryWrapper<KwtLogisticsOrder>()
|
|
|
- .eq(KwtLogisticsOrder::getId, id));
|
|
|
- if (logisticsOrder == null) {
|
|
|
- throw new RuntimeException("采购订单-完结订单-物流单据不存在!");
|
|
|
- }
|
|
|
- /**订单状态验证*/
|
|
|
- if (!LogisticsOrderEnum.WAIT_DELIVERY.getStatus().equals(String.valueOf(logisticsOrder.getStatus()))
|
|
|
- && !LogisticsOrderEnum.IN_TRANSIT.getStatus().equals(String.valueOf(logisticsOrder.getStatus()))) {
|
|
|
- throw new RuntimeException("当前运单并不属于【待派车】,【运输中】状态");
|
|
|
- }
|
|
|
- /**完结拦截*/
|
|
|
- List<Integer> statusList = new ArrayList<>();
|
|
|
- statusList.add(CarWaybillEnum.PENDING_VEHICLE.getCode());
|
|
|
- statusList.add(CarWaybillEnum.EXIT_COMPLETED.getCode());
|
|
|
- statusList.add(CarWaybillEnum.WAIT_LOADING.getCode());
|
|
|
- statusList.add(CarWaybillEnum.COMPLETION_LOADING.getCode());
|
|
|
- statusList.add(CarWaybillEnum.WAIT_UNLOADING.getCode());
|
|
|
- statusList.add(CarWaybillEnum.COMPLETION_UNLOADING.getCode());
|
|
|
- int count = waybillOrderMapper.selectDataByLorderId(id, statusList);
|
|
|
- if (count > NumberConstant.ZERO) {
|
|
|
- throw new RuntimeException("检测您现在有运单正在执行中,该订单目前不可完结,请先将运单执行完毕");
|
|
|
- }
|
|
|
- /**单据完结修改状态以及数据*/
|
|
|
- logisticsOrder.setStatus(LogisticsOrderEnum.HAVE_FINISHED.getCode());
|
|
|
- logisticsOrder.setLoadAmount(orderFinishDTO.getLoadAmount());
|
|
|
- logisticsOrder.setUnloadAmount(orderFinishDTO.getUnloadAmount());
|
|
|
- logisticsOrder.setCreateBy(LoginUserHolder.getUserId());
|
|
|
- logisticsOrder.setUpdateTime(new Date());
|
|
|
- logisticsOrder.setRemark(orderFinishDTO.getRemark());
|
|
|
- kwtLogisticsOrderMapper.updateById(logisticsOrder);
|
|
|
- KwtLogisticsOrderTrack track = new KwtLogisticsOrderTrack();
|
|
|
- track.setId(new IdWorker(NumberConstant.ONE).nextId());
|
|
|
- track.setLOrderId(logisticsOrder.getId());
|
|
|
- track.setStatus(LogisticsOrderEnum.HAVE_FINISHED.getCode());
|
|
|
- track.setCreateTime(new Date());
|
|
|
- track.setRemark(orderFinishDTO.getRemark());
|
|
|
- track.setCreateBy(LoginUserHolder.getUserId());
|
|
|
- track.setUpdateBy(LoginUserHolder.getUserId());
|
|
|
- track.setUpdateTime(new Date());
|
|
|
- kwtLogisticsOrderTrackMapper.insert(track);
|
|
|
- /**单据完结修改Mongodb*/
|
|
|
- SckwLogisticsOrder updateParam = new SckwLogisticsOrder();
|
|
|
- updateParam.setLOrderId(Long.parseLong(id))
|
|
|
- .setStatus(LogisticsOrderEnum.HAVE_FINISHED.getStatus())
|
|
|
- .setUpdateBy(LoginUserHolder.getUserId())
|
|
|
- .setUpdateByName(LoginUserHolder.getUserName())
|
|
|
- .setUpdateTime(new Date())
|
|
|
- .setLoadAmount(orderFinishDTO.getLoadAmount())
|
|
|
- .setUnloadAmount(orderFinishDTO.getUnloadAmount())
|
|
|
- ;
|
|
|
- SckwBusSum busSum = new SckwBusSum();
|
|
|
- busSum.setBusSumType(BusinessTypeEnum.LOGISTICS_ORDER_TYPE.getName());
|
|
|
- busSum.setMethod(2);
|
|
|
- busSum.setObject(updateParam);
|
|
|
- streamBridge.send("sckw-busSum", com.alibaba.fastjson2.JSON.toJSONString(busSum));
|
|
|
+ purchaseOrderFinish(orderFinishDTO);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -797,6 +788,7 @@ public class LogisticsConsignmentService {
|
|
|
private void purchaseOrderFinish(OrderFinishDTO orderFinishDTO) {
|
|
|
/** 订单完结 物流运单状态为【待派车】、【运输中】可操作*/
|
|
|
/**完结拦截 必须车辆运单无正在运输中的单据才能完结 状态有 待接单之后已核弹之前的状态 都不能完结*/
|
|
|
+ /**完结订单-对应物流订单下子订单都要进行完结*/
|
|
|
/**完结订单 不做页面填写数量与数据库数量进行计算验证-直接获取页面填写数据进行保存处理*/
|
|
|
//物流订单id
|
|
|
String id = orderFinishDTO.getId();
|
|
|
@@ -822,11 +814,77 @@ public class LogisticsConsignmentService {
|
|
|
if (count > NumberConstant.ZERO) {
|
|
|
throw new RuntimeException("检测您现在有运单正在执行中,该订单目前不可完结,请先将运单执行完毕");
|
|
|
}
|
|
|
- /**单据完结修改状态以及数据*/
|
|
|
+ /**完结订单-对应物流订单下子订单都要进行完结*/
|
|
|
+ List<KwtLogisticsOrder> kwtLogisticsOrders = kwtLogisticsOrderMapper.selectList(new LambdaQueryWrapper<KwtLogisticsOrder>()
|
|
|
+ .in(KwtLogisticsOrder::getPids, Long.parseLong(orderFinishDTO.getId())));
|
|
|
+ if (CollectionUtils.isNotEmpty(kwtLogisticsOrders)) {
|
|
|
+ for (KwtLogisticsOrder kwtLogisticsOrder : kwtLogisticsOrders) {
|
|
|
+ String[] split = kwtLogisticsOrder.getPids().split(StringConstant.COMMA);
|
|
|
+ if (split.length > NumberConstant.ONE) {
|
|
|
+ for (String s : split) {
|
|
|
+ if (String.valueOf(kwtLogisticsOrder.getId()).equals(s)) {
|
|
|
+ //本身订单
|
|
|
+ //只存在当前订单无分包订单
|
|
|
+ /**单据完结修改状态以及数据*/
|
|
|
+ updateDataByItself(logisticsOrder, orderFinishDTO);
|
|
|
+ } else {
|
|
|
+ //修改分包后的订单-代表存在分包订单
|
|
|
+ /**单据完结修改状态以及数据*/
|
|
|
+ updateDataBySubset(orderFinishDTO, s);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ //只存在当前订单无分包订单
|
|
|
+ /**单据完结修改状态以及数据*/
|
|
|
+ updateDataByItself(logisticsOrder, orderFinishDTO);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private void updateDataBySubset(OrderFinishDTO orderFinishDTO, String orderId) {
|
|
|
+ KwtLogisticsOrder kwtLogisticsOrder = kwtLogisticsOrderMapper.selectOne(new LambdaQueryWrapper<KwtLogisticsOrder>()
|
|
|
+ .eq(KwtLogisticsOrder::getId, Long.parseLong(orderId)));
|
|
|
+ if (kwtLogisticsOrder != null) {
|
|
|
+ kwtLogisticsOrder.setStatus(LogisticsOrderEnum.HAVE_FINISHED.getCode());
|
|
|
+ kwtLogisticsOrder.setUpdateBy(LoginUserHolder.getUserId());
|
|
|
+ kwtLogisticsOrder.setUpdateTime(new Date());
|
|
|
+ kwtLogisticsOrder.setRemark(orderFinishDTO.getRemark());
|
|
|
+ kwtLogisticsOrderMapper.updateById(kwtLogisticsOrder);
|
|
|
+ KwtLogisticsOrderTrack track = new KwtLogisticsOrderTrack();
|
|
|
+ track.setId(new IdWorker(NumberConstant.ONE).nextId());
|
|
|
+ track.setLOrderId(kwtLogisticsOrder.getId());
|
|
|
+ track.setStatus(LogisticsOrderEnum.HAVE_FINISHED.getCode());
|
|
|
+ track.setCreateTime(new Date());
|
|
|
+ track.setRemark(orderFinishDTO.getRemark());
|
|
|
+ track.setCreateBy(LoginUserHolder.getUserId());
|
|
|
+ track.setUpdateBy(LoginUserHolder.getUserId());
|
|
|
+ track.setUpdateTime(new Date());
|
|
|
+ kwtLogisticsOrderTrackMapper.insert(track);
|
|
|
+ /**单据完结修改Mongodb*/
|
|
|
+ SckwLogisticsOrder updateParam = new SckwLogisticsOrder();
|
|
|
+ updateParam.setLOrderId(kwtLogisticsOrder.getId())
|
|
|
+ .setStatus(LogisticsOrderEnum.HAVE_FINISHED.getStatus())
|
|
|
+ .setUpdateBy(LoginUserHolder.getUserId())
|
|
|
+ .setUpdateByName(LoginUserHolder.getUserName())
|
|
|
+ .setUpdateTime(new Date())
|
|
|
+ ;
|
|
|
+ SckwBusSum busSum = new SckwBusSum();
|
|
|
+ busSum.setBusSumType(BusinessTypeEnum.LOGISTICS_ORDER_TYPE.getName());
|
|
|
+ busSum.setMethod(2);
|
|
|
+ busSum.setObject(updateParam);
|
|
|
+ streamBridge.send("sckw-busSum", com.alibaba.fastjson2.JSON.toJSONString(busSum));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 完结订单-修改本身数据
|
|
|
+ */
|
|
|
+ private void updateDataByItself(KwtLogisticsOrder logisticsOrder, OrderFinishDTO orderFinishDTO) {
|
|
|
logisticsOrder.setStatus(LogisticsOrderEnum.HAVE_FINISHED.getCode());
|
|
|
logisticsOrder.setLoadAmount(orderFinishDTO.getLoadAmount());
|
|
|
logisticsOrder.setUnloadAmount(orderFinishDTO.getUnloadAmount());
|
|
|
- logisticsOrder.setCreateBy(LoginUserHolder.getUserId());
|
|
|
+ logisticsOrder.setUpdateBy(LoginUserHolder.getUserId());
|
|
|
logisticsOrder.setUpdateTime(new Date());
|
|
|
logisticsOrder.setRemark(orderFinishDTO.getRemark());
|
|
|
kwtLogisticsOrderMapper.updateById(logisticsOrder);
|
|
|
@@ -842,7 +900,7 @@ public class LogisticsConsignmentService {
|
|
|
kwtLogisticsOrderTrackMapper.insert(track);
|
|
|
/**单据完结修改Mongodb*/
|
|
|
SckwLogisticsOrder updateParam = new SckwLogisticsOrder();
|
|
|
- updateParam.setLOrderId(Long.parseLong(id))
|
|
|
+ updateParam.setLOrderId(Long.parseLong(orderFinishDTO.getId()))
|
|
|
.setStatus(LogisticsOrderEnum.HAVE_FINISHED.getStatus())
|
|
|
.setUpdateBy(LoginUserHolder.getUserId())
|
|
|
.setUpdateByName(LoginUserHolder.getUserName())
|