diff --git a/src/main/java/com/glxp/api/controller/collect/RelCodeBatchController.java b/src/main/java/com/glxp/api/controller/collect/RelCodeBatchController.java index 641be2605..38d03a979 100644 --- a/src/main/java/com/glxp/api/controller/collect/RelCodeBatchController.java +++ b/src/main/java/com/glxp/api/controller/collect/RelCodeBatchController.java @@ -8,7 +8,9 @@ import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.constant.RedissonCacheKey; import com.glxp.api.controller.BaseController; +import com.glxp.api.dao.inout.IoCodeTempDao; import com.glxp.api.entity.collect.RelCodeBatch; +import com.glxp.api.entity.inout.IoCodeTempEntity; import com.glxp.api.req.collect.RelCodeBatchRequest; import com.glxp.api.req.collect.RelCodeDetailRequest; import com.glxp.api.res.PageSimpleResponse; @@ -32,6 +34,7 @@ public class RelCodeBatchController extends BaseController { /** * 上传文件保存 + * * @param uuid * @param file * @return @@ -39,31 +42,33 @@ public class RelCodeBatchController extends BaseController { @RepeatSubmit() @CusRedissonAnnotation(cacheName = RedissonCacheKey.XML_UPLOAD, key = {"#uuid"}, timeOutMsg = "系统正在处理,请勿重复上传") @PostMapping("/udiwms/relCode/batch/xmlUpload") - public BaseResponse xmlUpload(@RequestParam("uuid") String uuid,@RequestParam("file") MultipartFile file) { + public BaseResponse xmlUpload(@RequestParam("uuid") String uuid, @RequestParam("file") MultipartFile file) { relCodeBatchService.xmlUpload(file); return ResultVOUtils.successMsg("上传成功!"); } /** * 手动添加 + * * @param relCodeBatchRequest * @return */ @RepeatSubmit() @PostMapping("/udiwms/relCode/batch/add") - public BaseResponse add(@RequestBody @Valid RelCodeBatchRequest relCodeBatchRequest,BindingResult bindingResult) { + public BaseResponse add(@RequestBody @Valid RelCodeBatchRequest relCodeBatchRequest, BindingResult bindingResult) { relCodeBatchService.add(relCodeBatchRequest); return ResultVOUtils.successMsg("添加成功!"); } /** * 添加拼箱 + * * @param relCodeBatchRequest * @return */ @RepeatSubmit() @PostMapping("/udiwms/relCode/batch/addRelCodeSpellBox") - public BaseResponse addRelCodeSpellBox(@RequestBody @Valid List relCodeBatchRequest,BindingResult bindingResult) { + public BaseResponse addRelCodeSpellBox(@RequestBody @Valid List relCodeBatchRequest, BindingResult bindingResult) { relCodeBatchService.addRelCodeSpellBox(relCodeBatchRequest); return ResultVOUtils.successMsg("添加成功!"); } @@ -100,7 +105,6 @@ public class RelCodeBatchController extends BaseController { } - @GetMapping("/udiwms/relCode/batch/deleteDetail") public BaseResponse deleteDetail(@RequestParam("curCode") String curCode) { relCodeBatchService.deleteDetail(curCode); @@ -117,26 +121,34 @@ public class RelCodeBatchController extends BaseController { /** * 获取本地是否存在该层级码 + * * @param parentCode * @return */ @GetMapping("/udiwms/relCode/batch/exist") public BaseResponse batchExist(@RequestParam("parentCode") String parentCode) { - if (StrUtil.isBlank(parentCode)) return ResultVOUtils.error(500,"层级编码格式错误!"); + if (StrUtil.isBlank(parentCode)) return ResultVOUtils.error(500, "层级编码格式错误!"); return ResultVOUtils.success(relCodeBatchService.batchExist(parentCode)); } + @Resource + IoCodeTempDao ioCodeTempDao; + /** * 更新明细 + * * @param parentCode * @return */ @GetMapping("/udiwms/relCode/updateIoCodeTempEntity") - public BaseResponse threadUpdateIoCodeTempEntity(@RequestParam("parentCode") String parentCode) { - if (StrUtil.isBlank(parentCode)) return ResultVOUtils.error(500,"层级编码格式错误!"); + public BaseResponse threadUpdateIoCodeTempEntity(@RequestParam("parentCode") String parentCode, @RequestParam("id") Integer id) { + if (StrUtil.isBlank(parentCode)) return ResultVOUtils.error(500, "层级编码格式错误!"); + IoCodeTempEntity codeTempEntity = new IoCodeTempEntity(); + codeTempEntity.setId(id); + codeTempEntity.setDrugLink(1); + ioCodeTempDao.updateById(codeTempEntity); relCodeBatchService.threadUpdateIoCodeTempEntity(parentCode); return ResultVOUtils.success(); } - } diff --git a/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java b/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java index 7789b6580..d71c925e6 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java @@ -1,5 +1,6 @@ package com.glxp.api.controller.inout; +import cn.hutool.core.date.DateUtil; import cn.hutool.core.thread.ThreadUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -16,6 +17,7 @@ import com.glxp.api.req.collect.CollectOrderBizRequest; import com.glxp.api.req.collect.CollectOrderRequest; import com.glxp.api.res.collect.CollectOrderBizResponse; import com.glxp.api.res.collect.IoCollectOrderResponse; +import com.glxp.api.res.collect.RelCodeDetailResponse; import com.glxp.api.res.inout.IoOrderDetailCodeResponse; import com.glxp.api.res.inout.VailCodeResultResponse; import com.glxp.api.service.collect.*; @@ -1446,6 +1448,11 @@ public class IoCodeTempController extends BaseController { if (StrUtil.isEmpty(exitLocalEntity.getSupId()) || exitLocalEntity.getRelId() == null) { return ResultVOUtils.error(500, "当前药品追溯码已存在,且存在异常未处理!"); } + + if (StringUtils.isNotBlank(exitLocalEntity.getSerialNo())) { + return ResultVOUtils.error(500, "重复扫码!"); + } + udiRelevanceResponses = udiRelevanceService.selectGroupByNameCode(exitLocalEntity.getNameCode(), null); BeanUtils.copyProperties(exitLocalEntity, genDetaiEntity); genDetaiEntity.setCount(1); @@ -1464,9 +1471,6 @@ public class IoCodeTempController extends BaseController { exitLocalEntity.setReCount(exitLocalEntity.getMyReCount() * udiCalCountUtil.getCirActCount(udiRelevanceResponses.get(0))); } - if (!StringUtils.isBlank(exitLocalEntity.getSerialNo())) { - return ResultVOUtils.error(500, "重复扫码!"); - } //校验库存 BaseResponse invRes = null; if (IntUtil.value(bussinessTypeEntity.getUseDyCount()) == 2) { @@ -1535,6 +1539,9 @@ public class IoCodeTempController extends BaseController { } } if (exitLocalEntity == null) { + if (codeTempService.ieExitRel(code, orderId)) { + return ResultVOUtils.error(500, "当前追溯码已上传关联关系,请勿重复扫码!"); + } IoCodeTempEntity codeEnttity = new IoCodeTempEntity(); codeEnttity.setCode(code); codeEnttity.setOrderId(orderId); @@ -1787,6 +1794,9 @@ public class IoCodeTempController extends BaseController { return ResultVOUtils.success(addCodeResult); } + @Resource + RelCodeDetailService relCodeDetailService; + //前端扫码提交(药品) @RepeatSubmit() @AuthRuleAnnotation("") @@ -1822,6 +1832,21 @@ public class IoCodeTempController extends BaseController { if (StrUtil.isNotEmpty(addOrderRequest.getSerialNo())) { udiEntity.setSerialNo(addOrderRequest.getSerialNo()); } + if (StrUtil.isEmpty(udiEntity.getBatchNo())) { + IoCodeLostEntity codeLostEntity = codeLostService.findByCode(code); + if (codeLostEntity != null) { + udiEntity.setBatchNo(codeLostEntity.getBatchNo()); + udiEntity.setProduceDate(codeLostEntity.getProduceDate()); + udiEntity.setExpireDate(codeLostEntity.getExpireDate()); + } else { + RelCodeDetailResponse codeRelEntity = relCodeDetailService.findByCode(code); + if (codeRelEntity != null) { + udiEntity.setBatchNo(codeRelEntity.getBatchNo()); + udiEntity.setProduceDate(MsDateUtil.formatDate(codeRelEntity.getMadeDate(), "yyMMdd")); + udiEntity.setExpireDate(MsDateUtil.formatDate(codeRelEntity.getValidateDate(), "yyMMdd")); + } + } + } IoOrderEntity ioOrderEntity = orderService.findCorpOrderId(addOrderRequest.getCorpOrderId()); if (ioOrderEntity != null) { addOrderRequest.setBillNo(ioOrderEntity.getBillNo()); diff --git a/src/main/java/com/glxp/api/controller/inv/InvPreinOrderController.java b/src/main/java/com/glxp/api/controller/inv/InvPreinOrderController.java index 8a1a77732..a15058644 100644 --- a/src/main/java/com/glxp/api/controller/inv/InvPreinOrderController.java +++ b/src/main/java/com/glxp/api/controller/inv/InvPreinOrderController.java @@ -19,7 +19,6 @@ import com.glxp.api.res.inv.InvPreinDetailResponse; import com.glxp.api.res.inv.InvPreinOrderResponse; import com.glxp.api.service.auth.InvWarehouseService; import com.glxp.api.service.basic.IBasicBussinessTypeService; -import com.glxp.api.service.inout.IoCodeTempService; import com.glxp.api.service.inout.impl.IoCodeService; import com.glxp.api.service.inv.InvPreinDetailService; import com.glxp.api.service.inv.InvPreinOrderService; diff --git a/src/main/java/com/glxp/api/entity/inout/IoCodeTempEntity.java b/src/main/java/com/glxp/api/entity/inout/IoCodeTempEntity.java index cf9cb7bdf..a5689d3cc 100644 --- a/src/main/java/com/glxp/api/entity/inout/IoCodeTempEntity.java +++ b/src/main/java/com/glxp/api/entity/inout/IoCodeTempEntity.java @@ -202,7 +202,6 @@ public class IoCodeTempEntity { private Integer drugLink; - public int getMyCount() { if (count == null) return 0; @@ -216,4 +215,9 @@ public class IoCodeTempEntity { return reCount; } + /** + * 父级编码 + */ + @TableField(value = "parentCode") + private String parentCode; } diff --git a/src/main/java/com/glxp/api/service/collect/IoCollectOrderCodeManService.java b/src/main/java/com/glxp/api/service/collect/IoCollectOrderCodeManService.java index f1349e253..ecb8f368a 100644 --- a/src/main/java/com/glxp/api/service/collect/IoCollectOrderCodeManService.java +++ b/src/main/java/com/glxp/api/service/collect/IoCollectOrderCodeManService.java @@ -408,7 +408,7 @@ public class IoCollectOrderCodeManService extends ServiceImpl 5 * 1024 *1024){ + log.info(file.getSize() + "文件长度"); + if (file.getSize() > 5 * 1024 * 1024) { throw new JsonException("上传文件超过5M"); } List relCodeDetails = new ArrayList<>(); @@ -88,7 +91,7 @@ public class RelCodeBatchService extends ServiceImpl list = this.list(new LambdaQueryWrapper() .eq(RelCodeBatch::getProductCode, productCode) .eq(RelCodeBatch::getSubTypeNo, subTypeNo) - .eq(RelCodeBatch::getBatchNo, batchNo)) - ; - if (CollUtil.isNotEmpty(list)){ - throw new JsonException( "层级编码:【"+productCode + "】;类型编码:【" + subTypeNo + "】;批次号:【"+batchNo + "】已存在!"); + .eq(RelCodeBatch::getBatchNo, batchNo)); + if (CollUtil.isNotEmpty(list)) { + throw new JsonException("层级编码:【" + productCode + "】;类型编码:【" + subTypeNo + "】;批次号:【" + batchNo + "】已存在!"); } List detailList = relCodeBatchRequest.getDetailList(); - if(CollUtil.isEmpty(detailList)){ + if (CollUtil.isEmpty(detailList)) { throw new JsonException("关联明细不能为空!"); } AuthAdmin user = customerService.getUserBean(); RelCodeDetailRequest relCodeDetailRequest = detailList.get(0); RelCodeBatch relCodeBatch = new RelCodeBatch(); - BeanUtils.copyProperties(relCodeBatchRequest,relCodeBatch); + BeanUtils.copyProperties(relCodeBatchRequest, relCodeBatch); relCodeBatch.setCreateTime(new Date()); relCodeBatch.setCreateUser(user.getUserName()); relCodeBatch.setUpdateTime(new Date()); @@ -197,11 +200,11 @@ public class RelCodeBatchService extends ServiceImpl relCodeDetails = new ArrayList<>(); - for(RelCodeDetailRequest request : detailList){ + for (RelCodeDetailRequest request : detailList) { RelCodeDetail relCodeDetail = new RelCodeDetail(); String parentCode = request.getParentCode(); - request.setParentCode(StrUtil.isNotBlank(parentCode)?parentCode:"0"); - BeanUtils.copyProperties(request,relCodeDetail); + request.setParentCode(StrUtil.isNotBlank(parentCode) ? parentCode : "0"); + BeanUtils.copyProperties(request, relCodeDetail); relCodeDetail.setBatchIdFk(relCodeBatch.getId()); relCodeDetails.add(relCodeDetail); } @@ -221,19 +224,19 @@ public class RelCodeBatchService extends ServiceImpl().eq(RelCodeDetail::getBatchIdFk,id)); + relCodeDetailService.remove(new LambdaQueryWrapper().eq(RelCodeDetail::getBatchIdFk, id)); this.removeById(id); } @Transactional(rollbackFor = Exception.class) public void addRelCodeSpellBox(List relCodeBatchRequests) { - if (CollUtil.isEmpty(relCodeBatchRequests)){ + if (CollUtil.isEmpty(relCodeBatchRequests)) { throw new JsonException("单据信息异常!"); } - relCodeBatchRequests.forEach( item -> { + relCodeBatchRequests.forEach(item -> { this.add(item); }); } @@ -241,17 +244,17 @@ public class RelCodeBatchService extends ServiceImpl list = relCodeDetailService.list(new LambdaQueryWrapper().eq(RelCodeDetail::getParentCode, curCode)); - if (CollUtil.isNotEmpty(list)){ + if (CollUtil.isNotEmpty(list)) { List batchIds = list.stream().map(RelCodeDetail::getBatchIdFk).collect(Collectors.toList()); this.removeBatchByIds(batchIds); - relCodeDetailService.remove(new LambdaQueryWrapper().in(RelCodeDetail::getBatchIdFk,batchIds)); + relCodeDetailService.remove(new LambdaQueryWrapper().in(RelCodeDetail::getBatchIdFk, batchIds)); } } @Transactional(rollbackFor = Exception.class) public void deleteAllDetail(List detailList) { - if (CollUtil.isNotEmpty(detailList)){ - detailList.forEach( item -> { + if (CollUtil.isNotEmpty(detailList)) { + detailList.forEach(item -> { String curCode = item.getCurCode(); this.deleteDetail(curCode); }); @@ -287,21 +290,21 @@ public class RelCodeBatchService extends ServiceImpl relCodeDetailSons = relCodeDetailByParentCodeResponse.getRelCodeDetailSons(); if (CollUtil.isNotEmpty(relCodeDetailSons)) { - relCodeDetailSons.forEach( item ->{ + relCodeDetailSons.forEach(item -> { this.saveDetailByParentCode(item); }); } - }catch (Exception e){ - log.error("拉取SPMS同步库进行更新失败:[" + parentCode + "]" ); + } catch (Exception e) { + log.error("拉取SPMS同步库进行更新失败:[" + parentCode + "]"); log.error(e.getMessage(), e); } } return true; - }else + } else return false; } - public void saveDetailByParentCode( RelCodeDetailByParentCodeResponse relCodeDetailByParentCodeResponse) { + public void saveDetailByParentCode(RelCodeDetailByParentCodeResponse relCodeDetailByParentCodeResponse) { String productCode = relCodeDetailByParentCodeResponse.getProductCode(); String subTypeNo = relCodeDetailByParentCodeResponse.getSubTypeNo(); String batchNo = relCodeDetailByParentCodeResponse.getBatchNo(); @@ -351,50 +354,53 @@ public class RelCodeBatchService extends ServiceImpl ioCodeTempEntities = ioCodeTempDao.selectList(new LambdaQueryWrapper().eq(IoCodeTempEntity::getCode, parentCode)); - if (CollUtil.isNotEmpty(ioCodeTempEntities)){ - - //1、排除掉层级是1的 - UdiEntity udi = FilterUdiUtils.getUdi(parentCode); - String udi1 = udi.getUdi(); - ProductInfoEntity byNameCode = productInfoService.findByNameCode(udi1); - List navList = this.list(new LambdaQueryWrapper() - .eq(RelCodeBatch::getParentCode, parentCode)); - - if ( (byNameCode != null && "1".equals(byNameCode.getPackLevel())) - || (CollUtil.isNotEmpty(navList)) - ){ - //打上匹配到了药品关联关系的标记 - for (int i = 0; i < ioCodeTempEntities.size(); i++) { - IoCodeTempEntity ioCodeTempEntity = ioCodeTempEntities.get(i); - ioCodeTempEntity.setDrugLink(1); - ioCodeTempDao.updateById(ioCodeTempEntity); + @Resource + UdiProductService udiProductService; + + public void threadUpdateIoCodeTempEntity(String parentCode) { + List ioCodeTempEntities = ioCodeTempDao.selectList(new LambdaQueryWrapper().eq(IoCodeTempEntity::getCode, parentCode)); + if (CollUtil.isNotEmpty(ioCodeTempEntities)) { + + //1、排除掉层级是1的 + UdiEntity udi = FilterUdiUtils.getUdi(parentCode); + if (udi == null) + return; + String udi1 = udi.getUdi(); + UdiProductEntity udiProductEntity = udiProductService.findByNameCode(udi1); + if (udiProductEntity == null) + return; + List navList = this.list(new LambdaQueryWrapper() + .eq(RelCodeBatch::getParentCode, parentCode)); + if ((udiProductEntity != null && "1".equals(udiProductEntity.getPackLevel())) + || (CollUtil.isNotEmpty(navList)) + ) { + //打上匹配到了药品关联关系的标记 + for (int i = 0; i < ioCodeTempEntities.size(); i++) { + IoCodeTempEntity ioCodeTempEntity = ioCodeTempEntities.get(i); + ioCodeTempEntity.setDrugLink(1); + ioCodeTempDao.updateById(ioCodeTempEntity); + } + } else { + ThreadUtil.execAsync(() -> { + asynThreadUpdateIoCodeTempEntity(parentCode, ioCodeTempEntities); + }); } - - }else { - ThreadUtil.execAsync(() -> { - asynThreadUpdateIoCodeTempEntity(parentCode,ioCodeTempEntities); - }); } - } -} + } - public void asynThreadUpdateIoCodeTempEntity(String parentCode,List ioCodeTempEntities){ - if (this.batchExist(parentCode)){ + public void asynThreadUpdateIoCodeTempEntity(String parentCode, List ioCodeTempEntities) { + if (this.batchExist(parentCode)) { //打上匹配到了药品关联关系的标记 for (int i = 0; i < ioCodeTempEntities.size(); i++) { IoCodeTempEntity ioCodeTempEntity = ioCodeTempEntities.get(i); ioCodeTempEntity.setDrugLink(1); ioCodeTempDao.updateById(ioCodeTempEntity); } - }else { + } else { //打上匹配不到了药品关联关系的标记 for (int i = 0; i < ioCodeTempEntities.size(); i++) { IoCodeTempEntity ioCodeTempEntity = ioCodeTempEntities.get(i); diff --git a/src/main/java/com/glxp/api/service/collect/RelCodeDetailService.java b/src/main/java/com/glxp/api/service/collect/RelCodeDetailService.java index 87e55f1db..36fd0344c 100644 --- a/src/main/java/com/glxp/api/service/collect/RelCodeDetailService.java +++ b/src/main/java/com/glxp/api/service/collect/RelCodeDetailService.java @@ -13,13 +13,16 @@ import com.glxp.api.req.collect.RelCodeDetailRequest; import com.glxp.api.res.collect.RelCodeDetailResponse; import com.glxp.api.util.udi.FilterUdiUtils; import org.springframework.stereotype.Service; + import javax.annotation.Resource; import java.util.Collections; import java.util.Currency; import java.util.List; + import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.glxp.api.dao.collect.RelCodeDetailMapper; import com.glxp.api.entity.collect.RelCodeDetail; + @Service public class RelCodeDetailService extends ServiceImpl { @@ -28,20 +31,21 @@ public class RelCodeDetailService extends ServiceImpl list = this.baseMapper.selectList(new LambdaQueryWrapper().eq(RelCodeDetail::getCurCode, curCode)); - if (CollUtil.isNotEmpty(list)){ + if (CollUtil.isNotEmpty(list)) { throw new JsonException("当前条码关联关系已被维护!"); } - if(StrUtil.isNotBlank(parentCode)){ + if (StrUtil.isNotBlank(parentCode)) { if (parentCode.endsWith("\u001D")) { parentCode = parentCode.replace("\u001D", ""); } - if(StrUtil.equals(curCode,parentCode)){ + if (StrUtil.equals(curCode, parentCode)) { throw new JsonException("录入条码重复!"); } UdiEntity parentCodeUdi = FilterUdiUtils.getUdi(parentCode); - if (parentCodeUdi == null){ + if (parentCodeUdi == null) { throw new JsonException("无效父级条码!"); } LambdaQueryWrapper pw = new LambdaQueryWrapper() .eq(BasicProductsEntity::getNameCode, parentCodeUdi.getUdi()) .last("limit 1"); BasicProductsEntity parent = basicProductsDao.selectOne(pw); - if(parent == null){ + if (parent == null) { throw new JsonException("父级产品信息不存在"); } - if(!StrUtil.equals(parent.getUuid(),cur.getUuid())){ + if (!StrUtil.equals(parent.getUuid(), cur.getUuid())) { throw new JsonException("当前条码不是同一产品"); } - if(Integer.valueOf(parent.getPackLevel()) - Integer.valueOf(cur.getPackLevel()) != 1){ + if (Integer.valueOf(parent.getPackLevel()) - Integer.valueOf(cur.getPackLevel()) != 1) { throw new JsonException("当前条码不属于子条码"); } - }else { + } else { parentCode = "0"; } relCodeDetailResponse.setCurCode(curCode); @@ -99,6 +103,7 @@ public class RelCodeDetailService extends ServiceImpl relCodeDetailResponse = filterList(relCodeDetailRequest); + if (CollUtil.isNotEmpty(relCodeDetailResponse)) { + return relCodeDetailResponse.get(0); + } else { + return null; + } + } + } diff --git a/src/main/java/com/glxp/api/service/forthird/impl/ForThirdSysApiService.java b/src/main/java/com/glxp/api/service/forthird/impl/ForThirdSysApiService.java index d496e3a3a..6900d80a2 100644 --- a/src/main/java/com/glxp/api/service/forthird/impl/ForThirdSysApiService.java +++ b/src/main/java/com/glxp/api/service/forthird/impl/ForThirdSysApiService.java @@ -33,7 +33,6 @@ import com.glxp.api.service.basic.UdiRelevanceService; import com.glxp.api.service.basic.UdiRlSupService; import com.glxp.api.service.inout.IoAddInoutService; import com.glxp.api.service.inout.IoCheckInoutService; -import com.glxp.api.service.inout.IoCodeTempService; import com.glxp.api.service.inout.IoOrderService; import com.glxp.api.service.inout.impl.IoCodeService; import com.glxp.api.service.inv.impl.InvProductService; diff --git a/src/main/java/com/glxp/api/service/inout/IoCodeTempService.java b/src/main/java/com/glxp/api/service/inout/IoCodeTempService.java index 4fc897d29..8896b20b9 100644 --- a/src/main/java/com/glxp/api/service/inout/IoCodeTempService.java +++ b/src/main/java/com/glxp/api/service/inout/IoCodeTempService.java @@ -1,59 +1,274 @@ package com.glxp.api.service.inout; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.github.pagehelper.PageHelper; +import com.glxp.api.dao.inout.IoCodeTempDao; +import com.glxp.api.entity.basic.BasicBussinessTypeEntity; +import com.glxp.api.entity.collect.RelCodeDetail; import com.glxp.api.entity.inout.IoCodeTempEntity; +import com.glxp.api.entity.inout.IoOrderDetailCodeEntity; +import com.glxp.api.entity.inout.IoOrderEntity; import com.glxp.api.req.inout.FilterCodeRequest; +import com.glxp.api.res.basic.UdiRelevanceResponse; import com.glxp.api.res.inout.IoCodeResponse; import com.glxp.api.res.inout.IoCodeTempResponse; +import com.glxp.api.service.basic.IBasicBussinessTypeService; +import com.glxp.api.service.basic.UdiRelevanceService; +import com.glxp.api.service.collect.RelCodeDetailService; +import com.glxp.api.service.inout.IoOrderDetailBizService; +import com.glxp.api.service.inout.IoOrderDetailCodeService; +import com.glxp.api.service.inout.IoOrderService; +import com.glxp.api.util.BeanCopyUtils; +import com.glxp.api.util.IntUtil; +import com.glxp.api.util.page.PageQuery; import com.glxp.api.util.page.TableDataInfo; +import com.glxp.api.util.udi.UdiCalCountUtil; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import javax.annotation.Resource; +import java.util.Date; import java.util.List; -public interface IoCodeTempService { +@Service +@Transactional(rollbackFor = Exception.class) +public class IoCodeTempService { + @Resource + IoCodeTempDao ioCodeTempDao; - IoCodeTempEntity selectById(Integer id); - int insert(IoCodeTempEntity codeEnttity); + public IoCodeTempEntity selectById(Integer id) { + return ioCodeTempDao.selectById(id); + } - int deleteById(Integer id); - boolean insertBatch(List codeEnttities); + public int insert(IoCodeTempEntity codeEnttity) { + codeEnttity.setId(null); + return ioCodeTempDao.insert(codeEnttity); + } - int updateById(IoCodeTempEntity codeEnttity); + public int deleteById(Integer id) { + return ioCodeTempDao.deleteById(id); + } - int updateByOrderId(IoCodeTempEntity codeTempEntity); - IoCodeTempEntity findByUnique(String orderId, String code); + public boolean insertBatch(List codeEnttities) { + return ioCodeTempDao.insertBatch(codeEnttities); + } - List findByOrderId(String billNo); - List findJoinByOrderId(String billNo); + public List findByOrderId(String billNo) { + return ioCodeTempDao.selectList(new QueryWrapper().eq("orderId", billNo)); + } - TableDataInfo findByOrderId(FilterCodeRequest filterCodeRequest); - int deleteByBillNo(String orderId); + public List findJoinByOrderId(String billNo) { + if (StrUtil.isEmpty(billNo)) + return null; + FilterCodeRequest filterCodeRequest = new FilterCodeRequest(); + filterCodeRequest.setOrderId(billNo); + return ioCodeTempDao.filterJoinProduct(filterCodeRequest); + } - /** - * 查询扫码明细 - * - * @param filterCodeRequest - * @return - */ - List findCodeList(FilterCodeRequest filterCodeRequest); - boolean isExit(String orderId); + public int updateById(IoCodeTempEntity codeEnttity) { + return ioCodeTempDao.updateById(codeEnttity); + } - Integer selectExitCount(String orderId, String bacthNo, Long relId, String supId); - Integer selectExitCount(String orderId, String code); + public int updateByOrderId(IoCodeTempEntity codeTempEntity) { + return ioCodeTempDao.update(codeTempEntity, new QueryWrapper().eq("orderId", codeTempEntity.getOrderId())); + } - Boolean checkTempCode(IoCodeTempEntity ioCodeTempEntity); - IoCodeTempEntity selectByCode(String code, String batchNo, String action); + public IoCodeTempEntity findByUnique(String orderId, String code) { + List codeTempEntities = ioCodeTempDao.selectList(new QueryWrapper().eq("orderId", orderId).eq("code", code)); + if (CollUtil.isNotEmpty(codeTempEntities)) { + IoCodeTempEntity codeTempEntity = codeTempEntities.get(0); + if (codeTempEntities.size() > 1) { + for (int i = 1; i < codeTempEntities.size(); i++) { + codeTempEntity.setCount(codeTempEntity.getCount() + codeTempEntities.get(i).getCount()); + codeTempEntity.setReCount(codeTempEntity.getReCount() + codeTempEntities.get(i).getReCount()); + } + } - List selectByCodes(List codeList, String orderId); + return codeTempEntity; + + } + + return null; + } + + + public TableDataInfo findByOrderId(FilterCodeRequest filterCodeRequest) { + PageQuery pageQuery = new PageQuery(); + BeanCopyUtils.copy(filterCodeRequest, pageQuery); + Page page = ioCodeTempDao.selectPage(pageQuery.build(), new QueryWrapper().eq("orderId", filterCodeRequest.getOrderId())); + return TableDataInfo.build(page); + } + + + public int deleteByBillNo(String orderId) { + return ioCodeTempDao.delete(new QueryWrapper().eq("orderId", orderId)); + } + + + public List findCodeList(FilterCodeRequest filterCodeRequest) { + if (null != filterCodeRequest && null != filterCodeRequest.getPage() && null != filterCodeRequest.getLimit()) { + PageHelper.offsetPage((filterCodeRequest.getPage() - 1) * filterCodeRequest.getLimit(), filterCodeRequest.getLimit()); + } + return ioCodeTempDao.selectCodeList(filterCodeRequest); + } + + + public boolean isExit(String orderId) { + return ioCodeTempDao.exists(new QueryWrapper().eq("orderId", orderId)); + } + + + public Integer selectExitCount(String orderId, String bacthNo, Long relId, String supId) { + FilterCodeRequest filterCodeRequest = new FilterCodeRequest(); + filterCodeRequest.setOrderId(orderId); + filterCodeRequest.setBatchNo(bacthNo); + filterCodeRequest.setRelId(relId + ""); + filterCodeRequest.setSupId(supId); + return ioCodeTempDao.selectExitCount(filterCodeRequest); + } + + + public Integer selectExitCount(String orderId, String code) { + FilterCodeRequest filterCodeRequest = new FilterCodeRequest(); + filterCodeRequest.setOrderId(orderId); + filterCodeRequest.setCode(code); + return ioCodeTempDao.selectExitCount(filterCodeRequest); + } + + + public Boolean checkTempCode(IoCodeTempEntity ioCodeTempEntity) { + + QueryWrapper ew = new QueryWrapper<>(); + ew.eq("code", ioCodeTempEntity.getCode()); + ew.eq("corpOrderId", ioCodeTempEntity.getCorpOrderId()); + ew.eq("batchNo", ioCodeTempEntity.getBatchNo()); + ew.eq("produceDate", ioCodeTempEntity.getProduceDate()); + ew.eq("expireDate", ioCodeTempEntity.getExpireDate()); + ew.eq("serialNo", ioCodeTempEntity.getSerialNo()); + Long count = ioCodeTempDao.selectCount(ew); + if (count > 0) { + return false; + } + return true; + } + + + public IoCodeTempEntity selectByCode(String code, String batchNo, String action) { + QueryWrapper ew = new QueryWrapper<>(); + ew.eq("code", code); + ew.eq(StrUtil.isNotEmpty(batchNo), "batchNo", batchNo); + ew.eq(StrUtil.isNotEmpty(action), "action", action); + return ioCodeTempDao.selectOne(ew); + } + + + public List selectByCodes(List codeList, String orderId) { + QueryWrapper ew = new QueryWrapper<>(); + ew.eq("orderId", orderId); + ew.in("code", codeList); + return ioCodeTempDao.selectList(ew); + } + + + @Resource + private IoOrderService orderService; + @Resource + private IBasicBussinessTypeService basicBussinessTypeService; + @Resource + UdiRelevanceService udiRelevanceService; + @Resource + UdiCalCountUtil udiCalCountUtil; + @Resource + IoOrderDetailCodeService ioOrderDetailCodeService; + @Resource + IoOrderDetailBizService orderDetailBizService; + + + public Boolean removeCodeById(IoCodeTempEntity codeTempEntity) { + + IoOrderEntity orderEntity = orderService.findByBillNo(codeTempEntity.getOrderId()); + BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(orderEntity.getAction()); + UdiRelevanceResponse udiRelevanceResponses = udiRelevanceService.selectByNameCode(codeTempEntity.getNameCode()); + + if (codeTempEntity.getMyCount() > 1) { + codeTempEntity.setCount(codeTempEntity.getMyCount() - 1); + if (bussinessTypeEntity.isUse()) { + codeTempEntity.setReCount(codeTempEntity.getMyReCount() - udiCalCountUtil.getUseActCount(udiRelevanceResponses)); + } else { + codeTempEntity.setReCount(codeTempEntity.getMyReCount() - udiCalCountUtil.getCirActCount(udiRelevanceResponses)); + } + updateById(codeTempEntity); + } else { + deleteById(codeTempEntity.getId()); + } + + //更新扫码详情 + IoOrderDetailCodeEntity orderDetailCodeEntity = ioOrderDetailCodeService.findByUnique(orderEntity.getBillNo(), codeTempEntity.getRelId(), codeTempEntity.getBatchNo(), codeTempEntity.getPrice()); + if (orderDetailCodeEntity != null) { + //扫码数量-1 + int orderCount = IntUtil.value(orderDetailCodeEntity.getCount()); + int orderReCount = IntUtil.value(orderDetailCodeEntity.getReCount()); + if (orderCount > 1) { + orderDetailCodeEntity.setCount(orderCount - 1); + + + if (bussinessTypeEntity.isUse()) { + orderDetailCodeEntity.setReCount(orderReCount - udiCalCountUtil.getUseActCount(udiRelevanceResponses)); +// codeTempEntity.setReCount(codeTempEntity.getMyReCount() - udiCalCountUtil.getUseActCount(udiRelevanceResponses); + } else { + orderDetailCodeEntity.setReCount(orderReCount - udiCalCountUtil.getCirActCount(udiRelevanceResponses)); +// codeTempEntity.setReCount(codeTempEntity.getMyReCount() - udiCalCountUtil.getCirActCount(udiRelevanceResponses); + } + + ioOrderDetailCodeService.update(orderDetailCodeEntity); + } else { + ioOrderDetailCodeService.deleteById(orderDetailCodeEntity.getId()); + } + } + + + boolean r1 = orderDetailBizService.isExit(orderEntity.getBillNo()); + boolean r2 = ioOrderDetailCodeService.isExit(orderEntity.getBillNo()); + if (!r1 && !r2) { + if (StrUtil.isNotEmpty(orderDetailCodeEntity.getOrderIdFk())) + orderService.deleteByBillNo(orderDetailCodeEntity.getOrderIdFk()); + } + + orderEntity.setUpdateTime(new Date()); + orderService.update(orderEntity); + return true; + } + + + @Resource + RelCodeDetailService relCodeDetailService; + + public boolean ieExitRel(String code, String orderId) { + boolean ret = false; + RelCodeDetail relCodeDetail = relCodeDetailService.getOne(new LambdaQueryWrapper().eq(RelCodeDetail::getCurCode, code)); + if (relCodeDetail != null) { + ret = ioCodeTempDao.exists(new LambdaQueryWrapper().eq(IoCodeTempEntity::getOrderId, orderId).eq(IoCodeTempEntity::getCode, relCodeDetail.getParentCode())); + if (!ret) { + ret = ioCodeTempDao.exists(new LambdaQueryWrapper().eq(IoCodeTempEntity::getOrderId, orderId).eq(IoCodeTempEntity::getParentCode, code)); + } + + } + return ret; + } - Boolean removeCodeById(IoCodeTempEntity codeTempEntity); } diff --git a/src/main/java/com/glxp/api/service/inout/impl/IoCodeTempServiceImpl.java b/src/main/java/com/glxp/api/service/inout/impl/IoCodeTempServiceImpl.java deleted file mode 100644 index 3f4e2593b..000000000 --- a/src/main/java/com/glxp/api/service/inout/impl/IoCodeTempServiceImpl.java +++ /dev/null @@ -1,255 +0,0 @@ -package com.glxp.api.service.inout.impl; - -import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.util.StrUtil; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.github.pagehelper.PageHelper; -import com.glxp.api.common.util.ResultVOUtils; -import com.glxp.api.dao.inout.IoCodeTempDao; -import com.glxp.api.entity.basic.BasicBussinessTypeEntity; -import com.glxp.api.entity.inout.IoCodeTempEntity; -import com.glxp.api.entity.inout.IoOrderDetailCodeEntity; -import com.glxp.api.entity.inout.IoOrderEntity; -import com.glxp.api.req.inout.FilterCodeRequest; -import com.glxp.api.res.basic.UdiRelevanceResponse; -import com.glxp.api.res.inout.IoCodeResponse; -import com.glxp.api.res.inout.IoCodeTempResponse; -import com.glxp.api.service.basic.IBasicBussinessTypeService; -import com.glxp.api.service.basic.UdiRelevanceService; -import com.glxp.api.service.inout.IoCodeTempService; -import com.glxp.api.service.inout.IoOrderDetailBizService; -import com.glxp.api.service.inout.IoOrderDetailCodeService; -import com.glxp.api.service.inout.IoOrderService; -import com.glxp.api.util.BeanCopyUtils; -import com.glxp.api.util.IntUtil; -import com.glxp.api.util.page.PageQuery; -import com.glxp.api.util.page.TableDataInfo; -import com.glxp.api.util.udi.UdiCalCountUtil; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import javax.annotation.Resource; -import java.util.Date; -import java.util.List; - -@Service -@Transactional(rollbackFor = Exception.class) -public class IoCodeTempServiceImpl implements IoCodeTempService { - - @Resource - IoCodeTempDao ioCodeTempDao; - - @Override - public IoCodeTempEntity selectById(Integer id) { - return ioCodeTempDao.selectById(id); - } - - @Override - public int insert(IoCodeTempEntity codeEnttity) { - codeEnttity.setId(null); - return ioCodeTempDao.insert(codeEnttity); - } - - @Override - public int deleteById(Integer id) { - return ioCodeTempDao.deleteById(id); - } - - @Override - public boolean insertBatch(List codeEnttities) { - return ioCodeTempDao.insertBatch(codeEnttities); - } - - @Override - public List findByOrderId(String billNo) { - return ioCodeTempDao.selectList(new QueryWrapper().eq("orderId", billNo)); - } - - @Override - public List findJoinByOrderId(String billNo) { - if (StrUtil.isEmpty(billNo)) - return null; - FilterCodeRequest filterCodeRequest = new FilterCodeRequest(); - filterCodeRequest.setOrderId(billNo); - return ioCodeTempDao.filterJoinProduct(filterCodeRequest); - } - - @Override - public int updateById(IoCodeTempEntity codeEnttity) { - return ioCodeTempDao.updateById(codeEnttity); - } - - @Override - public int updateByOrderId(IoCodeTempEntity codeTempEntity) { - return ioCodeTempDao.update(codeTempEntity, new QueryWrapper().eq("orderId", codeTempEntity.getOrderId())); - } - - @Override - public IoCodeTempEntity findByUnique(String orderId, String code) { - List codeTempEntities = ioCodeTempDao.selectList(new QueryWrapper().eq("orderId", orderId).eq("code", code)); - if (CollUtil.isNotEmpty(codeTempEntities)) { - IoCodeTempEntity codeTempEntity = codeTempEntities.get(0); - if (codeTempEntities.size() > 1) { - for (int i = 1; i < codeTempEntities.size(); i++) { - codeTempEntity.setCount(codeTempEntity.getCount() + codeTempEntities.get(i).getCount()); - codeTempEntity.setReCount(codeTempEntity.getReCount() + codeTempEntities.get(i).getReCount()); - } - } - - return codeTempEntity; - - } - - return null; - } - - @Override - public TableDataInfo findByOrderId(FilterCodeRequest filterCodeRequest) { - PageQuery pageQuery = new PageQuery(); - BeanCopyUtils.copy(filterCodeRequest, pageQuery); - Page page = ioCodeTempDao.selectPage(pageQuery.build(), new QueryWrapper().eq("orderId", filterCodeRequest.getOrderId())); - return TableDataInfo.build(page); - } - - @Override - public int deleteByBillNo(String orderId) { - return ioCodeTempDao.delete(new QueryWrapper().eq("orderId", orderId)); - } - - @Override - public List findCodeList(FilterCodeRequest filterCodeRequest) { - if (null != filterCodeRequest && null != filterCodeRequest.getPage() && null != filterCodeRequest.getLimit()) { - PageHelper.offsetPage((filterCodeRequest.getPage() - 1) * filterCodeRequest.getLimit(), filterCodeRequest.getLimit()); - } - return ioCodeTempDao.selectCodeList(filterCodeRequest); - } - - @Override - public boolean isExit(String orderId) { - return ioCodeTempDao.exists(new QueryWrapper().eq("orderId", orderId)); - } - - @Override - public Integer selectExitCount(String orderId, String bacthNo, Long relId, String supId) { - FilterCodeRequest filterCodeRequest = new FilterCodeRequest(); - filterCodeRequest.setOrderId(orderId); - filterCodeRequest.setBatchNo(bacthNo); - filterCodeRequest.setRelId(relId + ""); - filterCodeRequest.setSupId(supId); - return ioCodeTempDao.selectExitCount(filterCodeRequest); - } - - @Override - public Integer selectExitCount(String orderId, String code) { - FilterCodeRequest filterCodeRequest = new FilterCodeRequest(); - filterCodeRequest.setOrderId(orderId); - filterCodeRequest.setCode(code); - return ioCodeTempDao.selectExitCount(filterCodeRequest); - } - - @Override - public Boolean checkTempCode(IoCodeTempEntity ioCodeTempEntity) { - - QueryWrapper ew = new QueryWrapper<>(); - ew.eq("code", ioCodeTempEntity.getCode()); - ew.eq("corpOrderId", ioCodeTempEntity.getCorpOrderId()); - ew.eq("batchNo", ioCodeTempEntity.getBatchNo()); - ew.eq("produceDate", ioCodeTempEntity.getProduceDate()); - ew.eq("expireDate", ioCodeTempEntity.getExpireDate()); - ew.eq("serialNo", ioCodeTempEntity.getSerialNo()); - Long count = ioCodeTempDao.selectCount(ew); - if (count > 0) { - return false; - } - return true; - } - - @Override - public IoCodeTempEntity selectByCode(String code, String batchNo, String action) { - QueryWrapper ew = new QueryWrapper<>(); - ew.eq("code", code); - ew.eq(StrUtil.isNotEmpty(batchNo), "batchNo", batchNo); - ew.eq(StrUtil.isNotEmpty(action), "action", action); - return ioCodeTempDao.selectOne(ew); - } - - @Override - public List selectByCodes(List codeList, String orderId) { - QueryWrapper ew = new QueryWrapper<>(); - ew.eq("orderId", orderId); - ew.in("code", codeList); - return ioCodeTempDao.selectList(ew); - } - - - @Resource - private IoOrderService orderService; - @Resource - private IBasicBussinessTypeService basicBussinessTypeService; - @Resource - UdiRelevanceService udiRelevanceService; - @Resource - UdiCalCountUtil udiCalCountUtil; - @Resource - IoOrderDetailCodeService ioOrderDetailCodeService; - @Resource - IoOrderDetailBizService orderDetailBizService; - - @Override - public Boolean removeCodeById(IoCodeTempEntity codeTempEntity) { - - IoOrderEntity orderEntity = orderService.findByBillNo(codeTempEntity.getOrderId()); - BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(orderEntity.getAction()); - UdiRelevanceResponse udiRelevanceResponses = udiRelevanceService.selectByNameCode(codeTempEntity.getNameCode()); - - if (codeTempEntity.getMyCount() > 1) { - codeTempEntity.setCount(codeTempEntity.getMyCount() - 1); - if (bussinessTypeEntity.isUse()) { - codeTempEntity.setReCount(codeTempEntity.getMyReCount() - udiCalCountUtil.getUseActCount(udiRelevanceResponses)); - } else { - codeTempEntity.setReCount(codeTempEntity.getMyReCount() - udiCalCountUtil.getCirActCount(udiRelevanceResponses)); - } - updateById(codeTempEntity); - } else { - deleteById(codeTempEntity.getId()); - } - - //更新扫码详情 - IoOrderDetailCodeEntity orderDetailCodeEntity = ioOrderDetailCodeService.findByUnique(orderEntity.getBillNo(), codeTempEntity.getRelId(), codeTempEntity.getBatchNo(), codeTempEntity.getPrice()); - if (orderDetailCodeEntity != null) { - //扫码数量-1 - int orderCount = IntUtil.value(orderDetailCodeEntity.getCount()); - int orderReCount = IntUtil.value(orderDetailCodeEntity.getReCount()); - if (orderCount > 1) { - orderDetailCodeEntity.setCount(orderCount - 1); - - - if (bussinessTypeEntity.isUse()) { - orderDetailCodeEntity.setReCount(orderReCount - udiCalCountUtil.getUseActCount(udiRelevanceResponses)); -// codeTempEntity.setReCount(codeTempEntity.getMyReCount() - udiCalCountUtil.getUseActCount(udiRelevanceResponses); - } else { - orderDetailCodeEntity.setReCount(orderReCount - udiCalCountUtil.getCirActCount(udiRelevanceResponses)); -// codeTempEntity.setReCount(codeTempEntity.getMyReCount() - udiCalCountUtil.getCirActCount(udiRelevanceResponses); - } - - ioOrderDetailCodeService.update(orderDetailCodeEntity); - } else { - ioOrderDetailCodeService.deleteById(orderDetailCodeEntity.getId()); - } - } - - - boolean r1 = orderDetailBizService.isExit(orderEntity.getBillNo()); - boolean r2 = ioOrderDetailCodeService.isExit(orderEntity.getBillNo()); - if (!r1 && !r2) { - if (StrUtil.isNotEmpty(orderDetailCodeEntity.getOrderIdFk())) - orderService.deleteByBillNo(orderDetailCodeEntity.getOrderIdFk()); - } - - orderEntity.setUpdateTime(new Date()); - orderService.update(orderEntity); - return true; - } - -} diff --git a/src/main/java/com/glxp/api/service/inout/impl/PlatformServiceImpl.java b/src/main/java/com/glxp/api/service/inout/impl/PlatformServiceImpl.java index 2a760a3aa..1417c9b44 100644 --- a/src/main/java/com/glxp/api/service/inout/impl/PlatformServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inout/impl/PlatformServiceImpl.java @@ -10,7 +10,6 @@ import cn.hutool.json.JSONUtil; import com.alibaba.fastjson2.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.ObjectMapper; import com.github.pagehelper.PageHelper; import com.glxp.api.common.enums.ResultEnum; @@ -19,7 +18,6 @@ import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.dao.inout.*; import com.glxp.api.entity.inout.*; import com.glxp.api.entity.system.PlatformEntity; -import com.glxp.api.idc.service.FileService; import com.glxp.api.req.inout.PlatformLinkRequest; import com.glxp.api.res.inout.IoUploadOrderResponse; import com.glxp.api.res.inout.PlatformLinkResponse; @@ -36,7 +34,6 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.io.File; import java.io.IOException; -import java.net.URLEncoder; import java.util.*; import java.util.concurrent.TimeUnit; diff --git a/src/main/resources/schemas/schema_v2.4.sql b/src/main/resources/schemas/schema_v2.4.sql index d1b104f82..e140b2a42 100644 --- a/src/main/resources/schemas/schema_v2.4.sql +++ b/src/main/resources/schemas/schema_v2.4.sql @@ -4686,3 +4686,6 @@ CALL Pro_Temp_ColumnWork('sys_workplace_queue', 'assignmentTerms1', CALL Pro_Temp_ColumnWork('sys_workplace_queue', 'assignmentTerms2', 'varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT ''分配条件2''', 1); +CALL Pro_Temp_ColumnWork('io_code_temp', 'parentCode', + ' varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT ''父级编码''', + 1); \ No newline at end of file