diff --git a/src/main/java/com/glxp/api/controller/TestController.java b/src/main/java/com/glxp/api/controller/TestController.java index d9748f00d..9efdb307a 100644 --- a/src/main/java/com/glxp/api/controller/TestController.java +++ b/src/main/java/com/glxp/api/controller/TestController.java @@ -97,10 +97,10 @@ public class TestController { return ResultVOUtils.success(""); } - @GetMapping("/test/scanInvGhOrderGenerateGhOrder") - public BaseResponse scanInvGhOrderGenerateGhOrder() { - thrInvOrderService.scanInvGhOrderGenerateGhOrder(); - return ResultVOUtils.success(""); - } +// @GetMapping("/test/scanInvSfOrderGenerateSfOrder") +// public BaseResponse scanInvSfOrderGenerateSfOrder() { +// thrInvOrderService.scanInvSfOrderGenerateSfOrder(); +// return ResultVOUtils.success(""); +// } } diff --git a/src/main/java/com/glxp/api/entity/thrsys/ThrInvOrder.java b/src/main/java/com/glxp/api/entity/thrsys/ThrInvOrder.java index bb8651282..3b04332fb 100644 --- a/src/main/java/com/glxp/api/entity/thrsys/ThrInvOrder.java +++ b/src/main/java/com/glxp/api/entity/thrsys/ThrInvOrder.java @@ -120,6 +120,11 @@ public class ThrInvOrder implements Serializable { private String fromCorp; + /** + * 生成单据号 + */ + private String toBillNo; + private static final long serialVersionUID = 1L; } diff --git a/src/main/java/com/glxp/api/entity/thrsys/ThrInvOrderDetail.java b/src/main/java/com/glxp/api/entity/thrsys/ThrInvOrderDetail.java index 636118c4b..67683abfb 100644 --- a/src/main/java/com/glxp/api/entity/thrsys/ThrInvOrderDetail.java +++ b/src/main/java/com/glxp/api/entity/thrsys/ThrInvOrderDetail.java @@ -179,6 +179,11 @@ public class ThrInvOrderDetail implements Serializable { */ private Integer handleStatus; + /** + * 生成单据号 + */ + private String toBillNo; + private static final long serialVersionUID = 1L; diff --git a/src/main/java/com/glxp/api/res/thrsys/ThrInvOrderResponse.java b/src/main/java/com/glxp/api/res/thrsys/ThrInvOrderResponse.java index 506bbfe67..ba4caad16 100644 --- a/src/main/java/com/glxp/api/res/thrsys/ThrInvOrderResponse.java +++ b/src/main/java/com/glxp/api/res/thrsys/ThrInvOrderResponse.java @@ -111,4 +111,9 @@ public class ThrInvOrderResponse { */ private String fromCorp; + /** + * 生成单据号 + */ + private String toBillNo; + } diff --git a/src/main/java/com/glxp/api/service/thrsys/impl/ThrInvOrderServiceImpl.java b/src/main/java/com/glxp/api/service/thrsys/impl/ThrInvOrderServiceImpl.java index d68d9606d..79f469470 100644 --- a/src/main/java/com/glxp/api/service/thrsys/impl/ThrInvOrderServiceImpl.java +++ b/src/main/java/com/glxp/api/service/thrsys/impl/ThrInvOrderServiceImpl.java @@ -451,6 +451,7 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService { List updateThrInvOrderDetails = new ArrayList<>(value.size()); value.forEach( x -> { x.setHandleStatus(1); + x.setToBillNo(newBillNo); updateThrInvOrderDetails.add(x); }); @@ -459,6 +460,15 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService { thrInvOrder.setStatus(ConstantStatus.SFIO_CFMD);//已确认 thrInvOrder.setUpdateTime(new Date()); thrInvOrder.setUpdateUser(userId + ""); + + String toBillNo = (thrInvOrder.getToBillNo()==null?"":thrInvOrder.getToBillNo() + "," + newBillNo); + // 检查字符串是否以逗号开始 + if (toBillNo.startsWith(",")) { + // 使用substring()去掉第一个字符 + toBillNo = toBillNo.substring(1); + } + + thrInvOrder.setToBillNo(toBillNo); thrInvOrderMapper.updateById(thrInvOrder); ioOrderDetailBizService.batchInsertBizs(newOrderDetailBiz); @@ -546,11 +556,21 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService { List updateThrInvOrderDetails = new ArrayList<>(value.size()); value.forEach( x -> { x.setHandleStatus(1); + x.setToBillNo(newBillNo); updateThrInvOrderDetails.add(x); }); thrInvOrderDetailMapper.updateBatchById(updateThrInvOrderDetails); ioOrderService.insertOrder(ioOrderEntity); + + String toBillNo = (thrInvOrder.getToBillNo()==null?"":thrInvOrder.getToBillNo() + "," + newBillNo); + // 检查字符串是否以逗号开始 + if (toBillNo.startsWith(",")) { + // 使用substring()去掉第一个字符 + toBillNo = toBillNo.substring(1); + } + + thrInvOrder.setToBillNo(toBillNo); thrInvOrder.setStatus(ConstantStatus.SFIO_CFMD);//已确认 thrInvOrder.setUpdateTime(new Date()); thrInvOrder.setUpdateUser(userId + ""); @@ -802,36 +822,105 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService { .collect(Collectors.groupingBy(ThrInvOrderDetail::getOrderIdFk)); for (Map.Entry> entry : grouped.entrySet()) { String orderIdFk = entry.getKey(); + log.info("扫描处理第三方收费明细生成单据定时任务==orderIdFk==:[" + orderIdFk + "]"); List thrInvOrderDetails = entry.getValue(); - List generatethrInvOrderDetails = new ArrayList<>(entry.getValue().size());//需要生成的明细 + //新单号 + String newBillNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER, "yyyyMMdd")); - thrInvOrderDetails.forEach(item -> { - Long relId = item.getRelId(); - if (ObjectUtil.isNull(relId)) { - String nameCode = item.getNameCode(); - List productsEntities = udiRelevanceDao.getProductsEntitiesByNameCode(nameCode); - if (CollectionUtil.isNotEmpty(productsEntities)) { - BasicProductsEntity basicProductsEntity = productsEntities.get(0); - item.setRelId(basicProductsEntity.getId()); - item.setHandleStatus(1); - generatethrInvOrderDetails.add(item); - } else { + //通过单号获取单据信息 + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("billNo", orderIdFk); + ThrInvOrder thrInvOrder = thrInvOrderMapper.selectOne(qw); + BasicBussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findByAction(thrInvOrder.getBillType()); + List addThrInvOrderDetails = new ArrayList<>(); + List updateThrInvOrderDetails = new ArrayList<>(); + List delThrInvOrderDetailIds = new ArrayList<>(); + List delThrCodes = new ArrayList<>(); + + if (thrInvOrder.getSourceType() == Constant.THR_INV_SF_ORDER_TYPE) {//走组套 + log.info("走组套"); + thrInvOrderDetails.forEach(item -> { + Long relId = item.getRelId(); + if (ObjectUtil.isNull(relId)) { + //通过thrCode获取到项目组套 + String thrCode = item.getThrCode(); + Integer count = Integer.valueOf(item.getReCount()); + List skProjectDetailEntityList = basicDestinyRelService.filterDestinyRelListByPId(thrCode); + if (CollectionUtil.isNotEmpty(skProjectDetailEntityList) && count > 0) { + delThrInvOrderDetailIds.add(item.getId()); + skProjectDetailEntityList.forEach(sk -> { + ThrInvOrderDetail thrInvOrderDetail = new ThrInvOrderDetail(); + BeanUtils.copyProperties(item, thrInvOrderDetail); + thrInvOrderDetail.setId(null); + thrInvOrderDetail.setOrderIdFk(orderIdFk); + thrInvOrderDetail.setRelId(sk.getRelId()); + thrInvOrderDetail.setSupId(sk.getSupId() + ""); + thrInvOrderDetail.setHandleStatus(1); + thrInvOrderDetail.setToBillNo(newBillNo); + + Integer skCount = sk.getCount(); + if (skCount != null && skCount > 0) { + thrInvOrderDetail.setReCount(String.valueOf(skCount * count)); + } + + addThrInvOrderDetails.add(thrInvOrderDetail); + delThrCodes.add(thrCode); + }); + } else { + } } + }); + + } else {//不走组套 + log.info("不走组套"); + String thirdSysFk = thrInvOrder.getThirdSysFk(); + List thrCodes = thrInvOrderDetails.stream().filter(x -> ObjectUtil.isNull(x.getRelId())) + .map(ThrInvOrderDetail::getThrCode).collect(Collectors.toList()); + if (CollectionUtil.isNotEmpty(thrCodes)) { + MainIdRelIdAndProductResponse map = udiRelevanceService.selectMainIdRelIdAndProductMap(thrCodes, thirdSysFk); + Map mainIdRelIdMap = map.getMainIdRelIdMap(); + + thrInvOrderDetails.forEach(item -> { + if (ObjectUtil.isNull(item.getRelId())) { + String thrCode = item.getThrCode(); + Long relId = mainIdRelIdMap.get(thrCode).getId(); + if (ObjectUtil.isNotNull(relId)) { + item.setRelId(relId); + item.setHandleStatus(1); + item.setToBillNo(newBillNo); + updateThrInvOrderDetails.add(item); + //校验产品是否被供应商关联 + CompanyProductRelevanceEntity udiRlSupEntity = udiRlSupService.selOneByRlId(relId); + if (udiRlSupEntity != null) + item.setSupId(udiRlSupEntity.getCustomerId()); + } else { + } + } + }); } - }); - if (generatethrInvOrderDetails.size() >0 ){ - thrInvOrderDetailMapper.updateBatchById(generatethrInvOrderDetails);//先进行 回写已处理状态 + } - //通过单号获取单据信息 - QueryWrapper qw = new QueryWrapper<>(); - qw.eq("billNo", orderIdFk); - ThrInvOrder thrInvOrder = thrInvOrderMapper.selectOne(qw); - BasicBussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findByAction(thrInvOrder.getBillType()); + //删除原来的明细 + if (CollectionUtil.isNotEmpty(delThrInvOrderDetailIds)) { + thrInvOrderDetailMapper.deleteBatchIds(delThrInvOrderDetailIds); + } + //删除原来的明细 + if (CollectionUtil.isNotEmpty(delThrCodes)) { + thrInvOrderDetailMapper.deleteBatchByThrCodeIds(delThrCodes); + } + //新增明细 + if (CollectionUtil.isNotEmpty(addThrInvOrderDetails)) { + thrInvOrderDetailMapper.insertBatch(addThrInvOrderDetails); + } + //更新明细 + if (CollectionUtil.isNotEmpty(updateThrInvOrderDetails)) { + thrInvOrderDetailMapper.updateBatchById(updateThrInvOrderDetails); + } + + if (updateThrInvOrderDetails.size() > 0 || addThrInvOrderDetails.size() > 0) { - //新单号 - String newBillNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER, "yyyyMMdd")); IoOrderEntity ioOrderEntity = new IoOrderEntity(); ioOrderEntity.setBillNo(newBillNo); ioOrderEntity.setMainAction(thrInvOrder.getMainAction()); @@ -843,7 +932,7 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService { ioOrderEntity.setFromType(ConstantStatus.FROM_WEBNEW);//网页新增 ioOrderEntity.setStatus(ConstantStatus.ORDER_STATUS_TEMP_SAVE);//草稿 ioOrderEntity.setDealStatus(ConstantStatus.ORDER_DEAL_DRAFT);//草稿 - ioOrderEntity.setCorpOrderId(UUID.randomUUID()+"");//单据号 + ioOrderEntity.setCorpOrderId(UUID.randomUUID() + "");//单据号 ioOrderEntity.setThrOrderIdFk(thrInvOrder.getBillNo());//单据号 ioOrderEntity.setUpdateTime(new Date()); ioOrderEntity.setCreateTime(new Date()); @@ -852,21 +941,34 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService { ioOrderEntity.setCreateUser(userId + ""); ioOrderEntity.setUpdateUser(userId + ""); ioOrderEntity.setOrderType(ConstantStatus.ORDER_TYPE_SCAN);//正常单据处理 + List newOrderDetailBiz = new ArrayList<>(updateThrInvOrderDetails.size()); - List newOrderDetailBiz = new ArrayList<>(generatethrInvOrderDetails.size()); - if (!copyOrderDetailBiz(generatethrInvOrderDetails, newOrderDetailBiz, newBillNo)) { - throw new JsonException("第三方收费明细自动转化单据异常"); + if (updateThrInvOrderDetails.size() > 0) { + if (!copyOrderDetailBiz(updateThrInvOrderDetails, newOrderDetailBiz, newBillNo)) { + throw new JsonException("第三方收费明细自动转化单据异常"); + } + } + if (addThrInvOrderDetails.size() > 0) { + if (!copyOrderDetailBiz(addThrInvOrderDetails, newOrderDetailBiz, newBillNo)) { + throw new JsonException("第三方收费明细自动转化单据异常"); + } } - thrInvOrderDetailMapper.updateBatchById(generatethrInvOrderDetails); + String toBillNo = (thrInvOrder.getToBillNo()==null?"":thrInvOrder.getToBillNo() + "," + newBillNo); + // 检查字符串是否以逗号开始 + if (toBillNo.startsWith(",")) { + // 使用substring()去掉第一个字符 + toBillNo = toBillNo.substring(1); + } + thrInvOrder.setToBillNo(toBillNo); + + thrInvOrderMapper.updateById(thrInvOrder); ioOrderService.insertOrder(ioOrderEntity); ioOrderDetailBizService.batchInsertBizs(newOrderDetailBiz); - //自动处理业务单据 ioAddInoutService.dealBusProcess(ioOrderEntity, bussinessTypeEntity); } } - log.info("扫描处理第三方收费明细生成单据定时任务结束"); } @@ -885,36 +987,104 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService { .collect(Collectors.groupingBy(ThrInvOrderDetail::getOrderIdFk)); for (Map.Entry> entry : grouped.entrySet()) { String orderIdFk = entry.getKey(); + log.info("扫描处理第三方普耗明细生成单据定时任务==orderIdFk==:[" + orderIdFk + "]"); List thrInvOrderDetails = entry.getValue(); - List generatethrInvOrderDetails = new ArrayList<>(entry.getValue().size());//需要生成的明细 + //新单号 + String newBillNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER, "yyyyMMdd")); + //通过单号获取单据信息 + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("billNo", orderIdFk); + ThrInvOrder thrInvOrder = thrInvOrderMapper.selectOne(qw); + BasicBussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findByAction(thrInvOrder.getBillType()); + List addThrInvOrderDetails = new ArrayList<>(); + List updateThrInvOrderDetails = new ArrayList<>(); + List delThrInvOrderDetailIds = new ArrayList<>(); + List delThrCodes = new ArrayList<>(); + + if (thrInvOrder.getSourceType() == Constant.THR_INV_SF_ORDER_TYPE) {//走组套 + log.info("走组套"); + thrInvOrderDetails.forEach(item -> { + Long relId = item.getRelId(); + if (ObjectUtil.isNull(relId)) { + //通过thrCode获取到项目组套 + String thrCode = item.getThrCode(); + Integer count = Integer.valueOf(item.getReCount()); + List skProjectDetailEntityList = basicDestinyRelService.filterDestinyRelListByPId(thrCode); + if (CollectionUtil.isNotEmpty(skProjectDetailEntityList) && count > 0) { + delThrInvOrderDetailIds.add(item.getId()); + skProjectDetailEntityList.forEach(sk -> { + ThrInvOrderDetail thrInvOrderDetail = new ThrInvOrderDetail(); + BeanUtils.copyProperties(item, thrInvOrderDetail); + thrInvOrderDetail.setOrderIdFk(orderIdFk); + thrInvOrderDetail.setRelId(sk.getRelId()); + thrInvOrderDetail.setSupId(sk.getSupId() + ""); + thrInvOrderDetail.setHandleStatus(1); + thrInvOrderDetail.setToBillNo(newBillNo); + + + Integer skCount = sk.getCount(); + if (skCount != null && skCount > 0) { + thrInvOrderDetail.setReCount(String.valueOf(skCount * count)); + } - thrInvOrderDetails.forEach(item -> { - Long relId = item.getRelId(); - if (ObjectUtil.isNull(relId)) { - String nameCode = item.getNameCode(); - List productsEntities = udiRelevanceDao.getProductsEntitiesByNameCode(nameCode); - if (CollectionUtil.isNotEmpty(productsEntities)) { - BasicProductsEntity basicProductsEntity = productsEntities.get(0); - item.setRelId(basicProductsEntity.getId()); - item.setHandleStatus(1); - generatethrInvOrderDetails.add(item); - } else { + addThrInvOrderDetails.add(thrInvOrderDetail); + delThrCodes.add(thrCode); + }); + } else { + } } + }); + + } else {//不走组套 + log.info("不走组套"); + String thirdSysFk = thrInvOrder.getThirdSysFk(); + List thrCodes = thrInvOrderDetails.stream().filter(x -> ObjectUtil.isNull(x.getRelId())) + .map(ThrInvOrderDetail::getThrCode).collect(Collectors.toList()); + if (CollectionUtil.isNotEmpty(thrCodes)) { + MainIdRelIdAndProductResponse map = udiRelevanceService.selectMainIdRelIdAndProductMap(thrCodes, thirdSysFk); + Map mainIdRelIdMap = map.getMainIdRelIdMap(); + + thrInvOrderDetails.forEach(item -> { + if (ObjectUtil.isNull(item.getRelId())) { + String thrCode = item.getThrCode(); + Long relId = mainIdRelIdMap.get(thrCode).getId(); + if (ObjectUtil.isNotNull(relId)) { + item.setRelId(relId); + item.setHandleStatus(1); + item.setToBillNo(newBillNo); + updateThrInvOrderDetails.add(item); + //校验产品是否被供应商关联 + CompanyProductRelevanceEntity udiRlSupEntity = udiRlSupService.selOneByRlId(relId); + if (udiRlSupEntity != null) + item.setSupId(udiRlSupEntity.getCustomerId()); + } else { + } + } + }); } - }); - if (generatethrInvOrderDetails.size() > 0) { - thrInvOrderDetailMapper.updateBatchById(generatethrInvOrderDetails);//先进行 回写已处理状态 + } - //通过单号获取单据信息 - QueryWrapper qw = new QueryWrapper<>(); - qw.eq("billNo", orderIdFk); - ThrInvOrder thrInvOrder = thrInvOrderMapper.selectOne(qw); - BasicBussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findByAction(thrInvOrder.getBillType()); + //删除原来的明细 + if (CollectionUtil.isNotEmpty(delThrInvOrderDetailIds)) { + thrInvOrderDetailMapper.deleteBatchIds(delThrInvOrderDetailIds); + } + //删除原来的明细 + if (CollectionUtil.isNotEmpty(delThrCodes)) { + thrInvOrderDetailMapper.deleteBatchByThrCodeIds(delThrCodes); + } + //新增明细 + if (CollectionUtil.isNotEmpty(addThrInvOrderDetails)) { + thrInvOrderDetailMapper.insertBatch(addThrInvOrderDetails); + } + //更新明细 + if (CollectionUtil.isNotEmpty(updateThrInvOrderDetails)) { + thrInvOrderDetailMapper.updateBatchById(updateThrInvOrderDetails); + } + + if (updateThrInvOrderDetails.size() > 0 || addThrInvOrderDetails.size() > 0) { - //新单号 - String newBillNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER, "yyyyMMdd")); IoOrderEntity ioOrderEntity = new IoOrderEntity(); ioOrderEntity.setBillNo(newBillNo); ioOrderEntity.setMainAction(thrInvOrder.getMainAction()); @@ -935,21 +1105,34 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService { ioOrderEntity.setCreateUser(userId + ""); ioOrderEntity.setUpdateUser(userId + ""); ioOrderEntity.setOrderType(ConstantStatus.ORDER_TYPE_SCAN);//正常单据处理 + List newOrderDetailBiz = new ArrayList<>(updateThrInvOrderDetails.size()); - List newOrderDetailBiz = new ArrayList<>(generatethrInvOrderDetails.size()); - if (!copyOrderDetailBiz(generatethrInvOrderDetails, newOrderDetailBiz, newBillNo)) { - throw new JsonException("第三方普耗明细自动转化单据异常"); + if (updateThrInvOrderDetails.size() > 0) { + if (!copyOrderDetailBiz(updateThrInvOrderDetails, newOrderDetailBiz, newBillNo)) { + throw new JsonException("第三方普耗明细自动转化单据异常"); + } + } + if (addThrInvOrderDetails.size() > 0) { + if (!copyOrderDetailBiz(addThrInvOrderDetails, newOrderDetailBiz, newBillNo)) { + throw new JsonException("第三方普耗明细自动转化单据异常"); + } + } + String toBillNo = (thrInvOrder.getToBillNo()==null?"":thrInvOrder.getToBillNo() + "," + newBillNo); + // 检查字符串是否以逗号开始 + if (toBillNo.startsWith(",")) { + // 使用substring()去掉第一个字符 + toBillNo = toBillNo.substring(1); } + thrInvOrder.setToBillNo(toBillNo); - thrInvOrderDetailMapper.updateBatchById(generatethrInvOrderDetails); + thrInvOrderMapper.updateById(thrInvOrder); ioOrderService.insertOrder(ioOrderEntity); ioOrderDetailBizService.batchInsertBizs(newOrderDetailBiz); - //自动处理业务单据 ioAddInoutService.dealBusProcess(ioOrderEntity, bussinessTypeEntity); } } - log.info("扫描处理第三方普耗明细生成单据定时任务结束"); + log.info("扫描处理第三方普耗明细生成单据定时任务结束"); } @Override @@ -966,6 +1149,8 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService { Map> grouped = list.stream() .collect(Collectors.groupingBy(ThrInvOrderDetail::getOrderIdFk)); for (Map.Entry> entry : grouped.entrySet()) { + //新单号 + String newBillNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER, "yyyyMMdd")); String orderIdFk = entry.getKey(); List thrInvOrderDetails = entry.getValue(); List generatethrInvOrderDetails = new ArrayList<>(entry.getValue().size());//需要生成的明细 @@ -979,6 +1164,7 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService { BasicProductsEntity basicProductsEntity = productsEntities.get(0); item.setRelId(basicProductsEntity.getId()); item.setHandleStatus(1); + item.setToBillNo(newBillNo); generatethrInvOrderDetails.add(item); } else { @@ -994,8 +1180,6 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService { qw.eq("billNo", orderIdFk); ThrInvOrder thrInvOrder = thrInvOrderMapper.selectOne(qw); - //新单号 - String newBillNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER, "yyyyMMdd")); IoOrderEntity ioOrderEntity = new IoOrderEntity(); ioOrderEntity.setBillNo(newBillNo); ioOrderEntity.setMainAction(thrInvOrder.getMainAction()); @@ -1024,6 +1208,15 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService { throw new JsonException("第三方高耗明细自动转化单据异常"); } + String toBillNo = (thrInvOrder.getToBillNo()==null?"":thrInvOrder.getToBillNo() + "," + newBillNo); + // 检查字符串是否以逗号开始 + if (toBillNo.startsWith(",")) { + // 使用substring()去掉第一个字符 + toBillNo = toBillNo.substring(1); + } + thrInvOrder.setToBillNo(toBillNo); + + thrInvOrderMapper.updateById(thrInvOrder); thrInvOrderDetailMapper.updateBatchById(generatethrInvOrderDetails); ioOrderService.insertOrder(ioOrderEntity); ioCodeTempDao.insertBatch(newIoCodeTemps); diff --git a/src/main/resources/schemas/schema_v2.4.sql b/src/main/resources/schemas/schema_v2.4.sql index 43f8f7760..5909c9d75 100644 --- a/src/main/resources/schemas/schema_v2.4.sql +++ b/src/main/resources/schemas/schema_v2.4.sql @@ -1870,4 +1870,11 @@ ALTER TABLE thr_inv_order_detail MODIFY COLUMN `relId` bigint(0) NULL DEFAULT NULL COMMENT '物资字典主键' AFTER `cpmctymc`; INSERT IGNORE INTO sys_scheduled(`id`, `cronName`, `cron`, `customerId`, `remark`) -VALUES (151, 'scanThrOrderGenerateOrderTask', '0 0 5 * * ?', NULL, '定时扫描三方的明细表生成单据'); +VALUES (151, 'scanThrOrderGenerateOrderTask', '0 0 0/1 * * ?', NULL, '定时扫描三方的明细表生成单据'); + +CALL Pro_Temp_ColumnWork('thr_inv_order_detail', 'toBillNo', + ' varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT ''生成的单据号''', + 1); +CALL Pro_Temp_ColumnWork('thr_inv_order', 'toBillNo', + ' varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT ''生成的单据号''', + 1);