diff --git a/src/main/java/com/glxp/api/controller/basic/SysWorkplaceDocumentController.java b/src/main/java/com/glxp/api/controller/basic/SysWorkplaceDocumentController.java index e245a9a8c..4d1dd46c5 100644 --- a/src/main/java/com/glxp/api/controller/basic/SysWorkplaceDocumentController.java +++ b/src/main/java/com/glxp/api/controller/basic/SysWorkplaceDocumentController.java @@ -1,7 +1,6 @@ package com.glxp.api.controller.basic; - import cn.hutool.core.util.IdUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.github.pagehelper.PageInfo; @@ -38,8 +37,8 @@ public class SysWorkplaceDocumentController extends BaseController { @GetMapping("/udiwms/sysWorkplace/getWorkBindBusTypes") - public BaseResponse getUserBindWork(WorkBindBusTypeRequest request){ - List page = sysWorkplaceDocumentService.filterList(request); + public BaseResponse getUserBindWork(WorkBindBusTypeRequest request) { + List page = sysWorkplaceDocumentService.filterList(request); PageInfo pageInfo = new PageInfo<>(page); PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); pageSimpleResponse.setTotal(pageInfo.getTotal()); @@ -48,25 +47,25 @@ public class SysWorkplaceDocumentController extends BaseController { } @PostMapping("/udiwms/sysWorkplace/workBindBusType") - public BaseResponse workBindBusType(@RequestBody WorkBindBusTypeRequest request){ + public BaseResponse workBindBusType(@RequestBody WorkBindBusTypeRequest request) { Long userId = this.getUserId(); - Boolean save = sysWorkplaceDocumentService.bindBusType(request,userId); - if (!save){ - return ResultVOUtils.error("该工位已经绑定该单据类型"); - } - return ResultVOUtils.success("绑定成功"); + Boolean save = sysWorkplaceDocumentService.bindBusType(request, userId); + if (!save) { + return ResultVOUtils.error("该工位已经绑定该单据类型"); + } + return ResultVOUtils.success("绑定成功"); } @PostMapping("/udiwms/sysWorkplace/addBusType") - public BaseResponse addBusType(@RequestBody SysWorkplaceDocumentEntity entity){ + public BaseResponse addBusType(@RequestBody SysWorkplaceDocumentEntity entity) { Long userId = this.getUserId(); SysWorkplaceDocumentEntity one = sysWorkplaceDocumentService.getOne(new LambdaQueryWrapper().eq(SysWorkplaceDocumentEntity::getDocumentTypeCode, entity.getDocumentTypeCode()) .eq(SysWorkplaceDocumentEntity::getWorkplaceCode, entity.getWorkplaceCode())); - if (one != null){ + if (one != null) { return ResultVOUtils.error("该工位已经有当前类型单据"); } - boolean save = sysWorkplaceDocumentService.addBusType(entity,userId); - if (!save){ + boolean save = sysWorkplaceDocumentService.addBusType(entity, userId); + if (!save) { return ResultVOUtils.error("新增失败"); } return ResultVOUtils.success("新增成功"); @@ -74,28 +73,25 @@ public class SysWorkplaceDocumentController extends BaseController { @PostMapping("/udiwms/sysWorkplace/updateType") - public BaseResponse updateType(@RequestBody SysWorkplaceDocumentEntity entity){ + public BaseResponse updateType(@RequestBody SysWorkplaceDocumentEntity entity) { boolean save = sysWorkplaceDocumentService.updateById(entity); - if (!save){ + if (!save) { return ResultVOUtils.error("更新失败"); } return ResultVOUtils.success("更新成功"); } @PostMapping("/udiwms/sysWorkplace/removeBusTypeById") - public BaseResponse removeBusTypeById(@RequestBody SysWorkplaceDocumentEntity entity){ + public BaseResponse removeBusTypeById(@RequestBody SysWorkplaceDocumentEntity entity) { Boolean save = sysWorkplaceDocumentService.removeById(entity.getId()); - if (!save){ + if (!save) { return ResultVOUtils.error("移除失败"); } return ResultVOUtils.success("移除成功"); } - - - } diff --git a/src/main/java/com/glxp/api/controller/collect/IoCollectOrderController.java b/src/main/java/com/glxp/api/controller/collect/IoCollectOrderController.java index 0c3641461..c45c6c381 100644 --- a/src/main/java/com/glxp/api/controller/collect/IoCollectOrderController.java +++ b/src/main/java/com/glxp/api/controller/collect/IoCollectOrderController.java @@ -26,6 +26,7 @@ import com.glxp.api.service.collect.IoCollectOrderBizService; import com.glxp.api.service.collect.IoCollectOrderCodeAutoService; import com.glxp.api.service.collect.IoCollectOrderCodeManService; import com.glxp.api.service.collect.IoCollectOrderService; +import com.glxp.api.util.IntUtil; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Controller; import org.springframework.validation.BindingResult; @@ -113,6 +114,35 @@ public class IoCollectOrderController extends BaseController { } + /** + * 获取当前正在处理的单据 + * + * @param collectOrderRequest + * @return + */ + @GetMapping("/udiwms/basic/collect/order/findByBill") + public BaseResponse findByBill(CollectOrderRequest collectOrderRequest) { + if (collectOrderRequest.getWorkPlaceCode() == null) { + return ResultVOUtils.error(500, "工位不能为空!"); + } + CollectOrderRequest request = new CollectOrderRequest(); + request.setPage(1); + request.setLimit(1); + request.setBillNo(collectOrderRequest.getBillNo()); + List orderResponses = collectOrderService.filterList(request); + if (CollUtil.isNotEmpty(orderResponses)) + return ResultVOUtils.success(orderResponses.get(0)); + else { + request.setTagStatus(-1); + orderResponses = collectOrderService.filterList(request); + if (CollUtil.isNotEmpty(orderResponses)) + return ResultVOUtils.success(orderResponses.get(0)); + } + + return ResultVOUtils.error(500, "未查到待处理单据"); + } + + @GetMapping("/udiwms/basic/collect/order/detail") public BaseResponse detail(CollectOrderBizRequest collectOrderBizRequest) { if (StrUtil.isBlank(collectOrderBizRequest.getOrderIdFk())) { @@ -179,12 +209,9 @@ public class IoCollectOrderController extends BaseController { collectOrderBizResponse.setUnSplitUdiCode(collectOrderBizResponse.getUnSplitUdiCode().substring(1)); } //手动 - for (IoCollectOrderCodeMan collectOrderCodeAuto : manList) { - if (collectOrderCodeAuto.getRelId().equals(collectOrderBiz.getRelId()) && - (StrUtil.isNotEmpty(collectOrderCodeAuto.getBatchNo()) && StrUtil.trimToEmpty(collectOrderBiz.getBatchNo()).equals(collectOrderCodeAuto.getBatchNo()))) { - collectOrderBizResponse.setScanUdiCode(StrUtil.trimToEmpty(collectOrderBizResponse.getScanUdiCode()) + "," + collectOrderCodeAuto.getUdiCode()); - } else if (collectOrderCodeAuto.getRelId().equals(collectOrderBiz.getRelId())) { - collectOrderBizResponse.setScanUdiCode(StrUtil.trimToEmpty(collectOrderBizResponse.getScanUdiCode()) + "," + collectOrderCodeAuto.getUdiCode()); + for (IoCollectOrderCodeMan collectOrderCodeMan : manList) { + if (IntUtil.value(collectOrderCodeMan.getBizIdFk()) == IntUtil.value(collectOrderBiz.getId())) { + collectOrderBizResponse.setScanUdiCode(StrUtil.trimToEmpty(collectOrderBizResponse.getScanUdiCode()) + "," + collectOrderCodeMan.getUdiCode()); } } if (StrUtil.isNotEmpty(collectOrderBizResponse.getScanUdiCode())) { diff --git a/src/main/java/com/glxp/api/dao/auth/SysWorkplaceDao.java b/src/main/java/com/glxp/api/dao/auth/SysWorkplaceDao.java index 3577e5eb4..cfff96b79 100644 --- a/src/main/java/com/glxp/api/dao/auth/SysWorkplaceDao.java +++ b/src/main/java/com/glxp/api/dao/auth/SysWorkplaceDao.java @@ -21,6 +21,6 @@ public interface SysWorkplaceDao extends BaseMapper { List filterList(@Param("request") SysWorkplaceRequest request); - List getAllByBusType(String busTypeCode); + List getAllByBusType(String busTypeCode); } diff --git a/src/main/java/com/glxp/api/req/inout/AddTagCodeReqeust.java b/src/main/java/com/glxp/api/req/inout/AddTagCodeReqeust.java index 33d1c1e90..b479396d2 100644 --- a/src/main/java/com/glxp/api/req/inout/AddTagCodeReqeust.java +++ b/src/main/java/com/glxp/api/req/inout/AddTagCodeReqeust.java @@ -25,5 +25,7 @@ public class AddTagCodeReqeust { private String invCode; private Boolean insert; + private String busType; + } diff --git a/src/main/java/com/glxp/api/service/auth/SysWorkplaceService.java b/src/main/java/com/glxp/api/service/auth/SysWorkplaceService.java index 038fc365a..8347fbd48 100644 --- a/src/main/java/com/glxp/api/service/auth/SysWorkplaceService.java +++ b/src/main/java/com/glxp/api/service/auth/SysWorkplaceService.java @@ -51,10 +51,10 @@ public class SysWorkplaceService extends ServiceImpl().eq(SysWorkplace::getOrderId, code).last("limit 1")); } - public List getAllByBusType(String code) { + public List getAllByBusType(String code) { - //sysWorkplaceDao.getAllByBusType(code); 切换成单据类型关联的 - return super.baseMapper.selectList( - new LambdaQueryWrapper().eq(SysWorkplace::getOrderId, code)); + return sysWorkplaceDao.getAllByBusType(code); //切换成单据类型关联的 +// return super.baseMapper.selectList( +// new LambdaQueryWrapper().eq(SysWorkplace::getOrderId, code)); } } diff --git a/src/main/java/com/glxp/api/service/basic/SysWorkplaceDocumentService.java b/src/main/java/com/glxp/api/service/basic/SysWorkplaceDocumentService.java index bafbc4616..0c6338e88 100644 --- a/src/main/java/com/glxp/api/service/basic/SysWorkplaceDocumentService.java +++ b/src/main/java/com/glxp/api/service/basic/SysWorkplaceDocumentService.java @@ -29,13 +29,19 @@ public class SysWorkplaceDocumentService extends ServiceImpl filterList(WorkBindBusTypeRequest request) { - List list = sysWorkplaceDocumentDao.filterList(request); + List list = sysWorkplaceDocumentDao.filterList(request); return list; } - public Boolean bindBusType(WorkBindBusTypeRequest request,Long userId) { + + public SysWorkplaceDocumentEntity findByWorkplaceCode(Long workplaceCode, String busType) { + return sysWorkplaceDocumentDao.selectOne(new LambdaQueryWrapper() + .eq(SysWorkplaceDocumentEntity::getWorkplaceCode, workplaceCode) + .eq(SysWorkplaceDocumentEntity::getDocumentTypeCode, busType).last("limit 1")); + } + + public Boolean bindBusType(WorkBindBusTypeRequest request, Long userId) { // List documentTypeCodes = request.getDocumentTypeCode(); // for (String documentTypeCode: documentTypeCodes) { // SysWorkplaceDocumentEntity sysWorkplaceDocumentEntity = sysWorkplaceDocumentDao.selectOne(new LambdaQueryWrapper() @@ -72,7 +78,7 @@ public class SysWorkplaceDocumentService extends ServiceImpl filterList(CollectOrderCodeManRequest collectOrderCodeManRequest) { if (collectOrderCodeManRequest == null) { @@ -92,7 +96,7 @@ public class IoCollectOrderCodeManService extends ServiceImpl udiRelevanceResponses = udiRelevanceService.selectGroupByNameCode(udiEntity.getUdi(), null); - if (CollUtil.isEmpty(udiRelevanceResponses)) throw new JsonException(500,"耗材字典不存在此产品!"); + if (CollUtil.isEmpty(udiRelevanceResponses)) throw new JsonException(500, "耗材字典不存在此产品!"); else udiRelevanceResponse = udiRelevanceResponses.get(0); List collectOrderBizs = collectOrderBizService.listByBillNo(addTagCodeReqeust.getBillNo()); @@ -115,11 +119,11 @@ public class IoCollectOrderCodeManService extends ServiceImpl udiRelevanceResponses, List collectOrderBizs, UdiEntity udiEntity) { for (UdiRelevanceResponse udiRelevanceResponse : udiRelevanceResponses) { for (IoCollectOrderBiz collectOrderBiz : collectOrderBizs) { diff --git a/src/main/java/com/glxp/api/service/collect/IoCollectOrderService.java b/src/main/java/com/glxp/api/service/collect/IoCollectOrderService.java index c8b0fab0f..a7512e23d 100644 --- a/src/main/java/com/glxp/api/service/collect/IoCollectOrderService.java +++ b/src/main/java/com/glxp/api/service/collect/IoCollectOrderService.java @@ -10,6 +10,7 @@ import com.glxp.api.entity.auth.SysWorkplace; import com.glxp.api.entity.basic.BasicCollectBustypeEntity; import com.glxp.api.entity.basic.BasicSkPrescribeEntity; import com.glxp.api.entity.basic.BasicSkPrescribeItemEntity; +import com.glxp.api.entity.basic.SysWorkplaceDocumentEntity; import com.glxp.api.entity.collect.IoCollectOrder; import com.glxp.api.entity.collect.IoCollectOrderBiz; import com.glxp.api.entity.collect.IoCollectOrderCodeMan; @@ -19,6 +20,7 @@ import com.glxp.api.exception.JsonException; import com.glxp.api.req.collect.CollectOrderRequest; import com.glxp.api.req.inout.DeleteTageCodeRequest; import com.glxp.api.req.inout.FilterOrderRequest; +import com.glxp.api.res.basic.SysWorkplaceResponse; import com.glxp.api.res.basic.UdiRelevanceResponse; import com.glxp.api.res.collect.IoCollectOrderResponse; import com.glxp.api.res.inout.IoOrderResponse; @@ -129,7 +131,8 @@ public class IoCollectOrderService extends ServiceImpl().eq(IoCollectOrder::getBillNo, ioOrderEntity.getBillNo()))) { continue; } - BasicCollectBustypeEntity collectBustypeEntity = collectBustypeService.findByAddr(ioOrderEntity.getAction()); - if (collectBustypeEntity == null) - continue; - List sysWorkplaces = sysWorkplaceService.getAllByBusType(collectBustypeEntity.getCode()); +// BasicCollectBustypeEntity collectBustypeEntity = collectBustypeService.findByAddr(ioOrderEntity.getAction()); +// if (collectBustypeEntity == null) +// continue; + List sysWorkplaces = sysWorkplaceService.getAllByBusType(ioOrderEntity.getAction()); //自动分配工位 @@ -157,8 +160,8 @@ public class IoCollectOrderService extends ServiceImpl addWorkplace = new ArrayList<>(); - for (SysWorkplace sysWorkplace : sysWorkplaces) { + List addWorkplace = new ArrayList<>(); + for (SysWorkplaceResponse sysWorkplace : sysWorkplaces) { //获取是否有正在处理的工位 List collectOrderList1 = collectOrderMapper.selectList(new LambdaQueryWrapper() .eq(IoCollectOrder::getWorkPlaceCode, sysWorkplace.getWorkplaceId()).in(IoCollectOrder::getTagStatus, -1, 1, 2)); @@ -168,7 +171,7 @@ public class IoCollectOrderService extends ServiceImpl 0) { - Optional minCountObject = addWorkplace.stream() + Optional minCountObject = addWorkplace.stream() .min((o1, o2) -> Integer.compare(o1.getOrderCount(), o2.getOrderCount())); minCountObject.ifPresent(sysWorkplace -> defaultWorkplace[0] = sysWorkplace.getWorkplaceId()); } else { @@ -178,8 +181,8 @@ public class IoCollectOrderService extends ServiceImpl orderDetailBizEntities = orderDetailBizService.findByOrderId(ioOrderEntity.getBillNo()); @@ -236,9 +240,7 @@ public class IoCollectOrderService extends ServiceImpl collectOrderList = new ArrayList<>(); for (BasicSkPrescribeEntity basicSkPrescribeEntity : basicSkPrescribeEntities) { - BasicCollectBustypeEntity collectBustypeEntity = collectBustypeService.findByAddr(String.valueOf(basicSkPrescribeEntity.getAddr())); - - + BasicCollectBustypeEntity collectBustypeEntity = collectBustypeService.findByCode(String.valueOf(basicSkPrescribeEntity.getAddr())); if (collectBustypeEntity == null) continue; if (collectOrderMapper.exists(new LambdaQueryWrapper().eq(IoCollectOrder::getBillNo, basicSkPrescribeEntity.getCode()))) { @@ -246,13 +248,13 @@ public class IoCollectOrderService extends ServiceImpl sysWorkplaces = sysWorkplaceService.getAllByBusType(collectBustypeEntity.getCode()); + List sysWorkplaces = sysWorkplaceService.getAllByBusType(collectBustypeEntity.getCode()); if (CollUtil.isNotEmpty(sysWorkplaces)) { if (sysWorkplaces.size() == 1) { defaultWorkplace[0] = sysWorkplaces.get(0).getWorkplaceId(); } else { - List addWorkplace = new ArrayList<>(); - for (SysWorkplace sysWorkplace : sysWorkplaces) { + List addWorkplace = new ArrayList<>(); + for (SysWorkplaceResponse sysWorkplace : sysWorkplaces) { //获取是否有正在处理的工位 List collectOrderList1 = collectOrderMapper.selectList(new LambdaQueryWrapper() .eq(IoCollectOrder::getWorkPlaceCode, sysWorkplace.getWorkplaceId()).in(IoCollectOrder::getTagStatus, -1, 1, 2)); @@ -262,7 +264,7 @@ public class IoCollectOrderService extends ServiceImpl 0) { - Optional minCountObject = addWorkplace.stream() + Optional minCountObject = addWorkplace.stream() .min((o1, o2) -> Integer.compare(o1.getOrderCount(), o2.getOrderCount())); minCountObject.ifPresent(sysWorkplace -> defaultWorkplace[0] = sysWorkplace.getWorkplaceId()); } else { @@ -290,7 +292,6 @@ public class IoCollectOrderService extends ServiceImpl basicSkPrescribeItemEntities = basicSkPrescirbeDetailService.findByPrescribeNum(basicSkPrescribeEntity.getCode()); - List collectOrderBizs = new ArrayList<>(); for (BasicSkPrescribeItemEntity bizEntity : basicSkPrescribeItemEntities) { UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectByRelId(bizEntity.getRelId() + ""); diff --git a/src/main/resources/mybatis/mapper/collect/IoCollectOrderMapper.xml b/src/main/resources/mybatis/mapper/collect/IoCollectOrderMapper.xml index 600d4844b..10a7f9e46 100644 --- a/src/main/resources/mybatis/mapper/collect/IoCollectOrderMapper.xml +++ b/src/main/resources/mybatis/mapper/collect/IoCollectOrderMapper.xml @@ -7,13 +7,12 @@ ico.billNo,ico.busType,ico.fromType,ico.fromTypeDesc,ico.fromCorp,ico.billTime, ico.createTime,ico.workPlaceCode,ico.remark,ico.createUser,ico.updateTime,ico.updateUser,ico.tagStatus,ico.splitStatus,ico.splitMsg ,ico.tagMsg, - bcb.name busTypeName, - bcb.fromType fromTypeName, + sys_workplace_document.busName busTypeName, bc.name fromCorpName, sw.workplaceId workPlaceCode, sw.workplaceName FROM io_collect_order ico - left join basic_collect_bustype bcb on ico.busType = bcb.code + left join sys_workplace_document on ico.busType = sys_workplace_document.documentTypeCode left join basic_corp bc on ico.fromCorp = bc.erpId left join sys_workplace sw on ico.workPlaceCode = sw.workplaceId @@ -27,7 +26,7 @@ AND busType = #{busType} - AND bcb.fromType LIKE concat('%', #{fromType}, '%') + AND sys_workplace_document.fromType LIKE concat('%', #{fromType}, '%') AND fromCorp LIKE concat('%', #{fromCorp}, '%')