diff --git a/bonus-common-biz/src/main/java/com/bonus/common/biz/constant/MaterialConstants.java b/bonus-common-biz/src/main/java/com/bonus/common/biz/constant/MaterialConstants.java index 29cb26c8..22664782 100644 --- a/bonus-common-biz/src/main/java/com/bonus/common/biz/constant/MaterialConstants.java +++ b/bonus-common-biz/src/main/java/com/bonus/common/biz/constant/MaterialConstants.java @@ -102,24 +102,8 @@ public class MaterialConstants { public static final Integer NINE_CONSTANT = 9; /** - * 已全部入库 + * 未完成 */ - public static final Integer INVENTORY = 4; - - /** - * 部分已入库 - */ - public static final Integer PARTIALLY_WAREHOUSED = 9; - - /** - * 入库审核中 - */ - public static final Integer INBOUND_AUDIT = 5; - - /** - * 入库审核未通过 - */ - public static final Integer PURCHASE_STORAGE_NO_PASSED = 7; - + public static final Integer TEN_CONSTANT = 10; } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/controller/PurchaseBindController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/controller/PurchaseBindController.java index 423707b9..8428c749 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/controller/PurchaseBindController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/controller/PurchaseBindController.java @@ -89,7 +89,7 @@ public class PurchaseBindController extends BaseController { @ApiOperation(value = "二维码生成下载") @PostMapping(value = "/downloadQrCode") @PreventRepeatSubmit - //@RequiresPermissions("purchase:bind:download") + @RequiresPermissions("purchase:bind:download") public void downloadQrCode(HttpServletResponse response, PurchaseDto purchaseDto) { purchaseBindService.downloadQrCode(response, purchaseDto); } @@ -100,7 +100,7 @@ public class PurchaseBindController extends BaseController { * @return */ @ApiOperation(value = "驳回或批量驳回操作") - @com.bonus.material.common.annotation.PreventRepeatSubmit + @PreventRepeatSubmit @RequiresPermissions("purchase:bind:reject") @PostMapping("/reject") public AjaxResult reject(@RequestBody PurchaseDto dto) { diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/controller/PurchaseStorageController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/controller/PurchaseStorageController.java index 89d033ae..d3c65457 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/controller/PurchaseStorageController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/controller/PurchaseStorageController.java @@ -44,16 +44,6 @@ public class PurchaseStorageController extends BaseController { return getDataTable(list); } - /** - * 获取新购验收入库详细信息 - */ - @ApiOperation(value = "获取新购验收入库详细信息") - @RequiresPermissions("purchase:storage:query") - @GetMapping(value = "/{id}") - public AjaxResult getInfo(@PathVariable("id") Long id) { - return AjaxResult.success(purchaseStorageService.selectPurchaseCheckInfoById(id)); - } - /** * 获取新购入库二级明细列表 * @param diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/mapper/PurchaseBindMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/mapper/PurchaseBindMapper.java index 6e9cdfac..6aa90310 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/mapper/PurchaseBindMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/mapper/PurchaseBindMapper.java @@ -80,4 +80,12 @@ public interface PurchaseBindMapper { * @param purchaseId */ void updateStatusById(@Param("updatedStatus") Integer updatedStatus, @Param("id") String purchaseId); + + /** + * 更新数量 + * @param dto + * @param num + * @return + */ + int updateNum(@Param("dto") PurchaseDto dto, @Param("num") int num); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/mapper/PurchaseStorageMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/mapper/PurchaseStorageMapper.java index d46a7e07..1e83eee9 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/mapper/PurchaseStorageMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/mapper/PurchaseStorageMapper.java @@ -20,13 +20,6 @@ public interface PurchaseStorageMapper { */ List selectAll(PurchaseDto dto); - /** - * 根据id查询详情 - * @param id - * @return - */ - List selectPurchaseCheckInfoById(Long id); - /** * 查询详情 * @param dto @@ -40,7 +33,7 @@ public interface PurchaseStorageMapper { * @param bindNum * @return */ - int updateNum(@Param("id") String purchaseId, @Param("purchaseNum") Integer bindNum); + int updateNum(@Param("id") String purchaseId, @Param("bindNum") Integer bindNum); /** * 更新状态 diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/IPurchaseStorageService.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/IPurchaseStorageService.java index 74e70c14..84eee556 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/IPurchaseStorageService.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/IPurchaseStorageService.java @@ -20,13 +20,6 @@ public interface IPurchaseStorageService { */ List selectAll(PurchaseDto dto); - /** - * 根据id查询 - * @param id - * @return - */ - List selectPurchaseCheckInfoById(Long id); - /** * 查询二级明细 * @param dto diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseBindServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseBindServiceImpl.java index 2905a499..6a12044d 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseBindServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseBindServiceImpl.java @@ -5,23 +5,20 @@ import com.bonus.common.biz.config.DateTimeHelper; import com.bonus.common.biz.config.QrCodeUtils; import com.bonus.common.biz.constant.MaterialConstants; import com.bonus.common.biz.enums.HttpCodeEnum; -import com.bonus.common.core.constant.SecurityConstants; import com.bonus.common.core.utils.DateUtils; import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.common.security.utils.SecurityUtils; +import com.bonus.material.purchase.config.RemoteConfig; import com.bonus.material.purchase.dto.PurchaseDto; import com.bonus.material.purchase.mapper.PurchaseBindMapper; import com.bonus.material.purchase.service.IPurchaseBindService; import com.bonus.material.purchase.vo.PurchaseVo; import com.bonus.material.task.mapper.TmTaskMapper; -import com.bonus.system.api.RemoteUserService; -import com.bonus.system.api.domain.SysUser; -import com.fasterxml.jackson.databind.DeserializationFeature; -import com.fasterxml.jackson.databind.ObjectMapper; import com.google.zxing.WriterException; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; @@ -43,10 +40,11 @@ public class PurchaseBindServiceImpl implements IPurchaseBindService { private PurchaseBindMapper purchaseBindMapper; @Resource - private RemoteUserService remoteUserService; + private TmTaskMapper tmTaskMapper; @Resource - private TmTaskMapper tmTaskMapper; + private RemoteConfig remoteConfig; + /** * 查询所有绑定信息 @@ -86,21 +84,10 @@ public class PurchaseBindServiceImpl implements IPurchaseBindService { */ private void extracted(List list) { for (PurchaseVo purchaseVo : list) { - try { - AjaxResult ajaxResult = remoteUserService.getInfo(Long.parseLong(purchaseVo.getCreateBy()), SecurityConstants.INNER); - if (ajaxResult.isSuccess()) { - // ajaxResult.get("data") 返回的是 LinkedHashMap - LinkedHashMap rawDataList = (LinkedHashMap) ajaxResult.get("data"); - ObjectMapper objectMapper = new ObjectMapper(); - objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); - if (rawDataList != null) { - SysUser sysUser = objectMapper.convertValue(rawDataList, SysUser.class); - purchaseVo.setCreateBy(sysUser.getNickName() == null ? "" : sysUser.getNickName()); - } - } - } catch (IllegalArgumentException e) { - log.error("远程调用查询失败:", e.getMessage()); - } + String userName = remoteConfig.getUserName(purchaseVo.getCreateBy()); + purchaseVo.setCreateBy(userName == null ? "" : userName); + String dictValue = remoteConfig.getDictValue("purchase_task_status", purchaseVo.getStatus().toString()); + purchaseVo.setStatusName(dictValue == null ? "" : dictValue); } } @@ -126,7 +113,14 @@ public class PurchaseBindServiceImpl implements IPurchaseBindService { */ @Override public List getDetails(PurchaseDto dto) { - return purchaseBindMapper.getDetails(dto); + List list = purchaseBindMapper.getDetails(dto); + if (CollectionUtils.isNotEmpty(list)) { + for (PurchaseVo purchaseVo : list) { + String name = remoteConfig.getDictValue("purchase_task_status", purchaseVo.getStatus().toString()); + purchaseVo.setStatusName(name == null ? "" : name); + } + } + return list; } /** @@ -135,6 +129,7 @@ public class PurchaseBindServiceImpl implements IPurchaseBindService { * @return */ @Override + @Transactional(rollbackFor = Exception.class) public AjaxResult bind(PurchaseDto dto) { //先查询提交的编码中是否存在重复提交 long distinctCodes = dto.getDtoList().stream().map(PurchaseDto::getMaCode).distinct().count(); @@ -154,14 +149,58 @@ public class PurchaseBindServiceImpl implements IPurchaseBindService { purchaseDto.setCreateTime(DateUtils.getNowDate()); purchaseDto.setTaskId(dto.getTaskId()); purchaseDto.setTypeId(dto.getTypeId()); + purchaseDto.setStatus(0); result += purchaseBindMapper.add(purchaseDto); } + //根据前端传参更新绑定数量 + result += purchaseBindMapper.updateNum(dto, dto.getDtoList().size()); + //根据任务id和类型id查询状态 + List voList = purchaseBindMapper.selectPurchaseCheckInfoById(dto); + if (CollectionUtils.isNotEmpty(voList)) { + for (PurchaseVo purchaseVo : voList) { + if (purchaseVo.getBindNum().equals(purchaseVo.getCheckNum())) { + purchaseBindMapper.updateStatusById(MaterialConstants.FOUR_CONSTANT, purchaseVo.getPurchaseId()); + } + if (purchaseVo.getBindNum() < purchaseVo.getCheckNum()) { + purchaseBindMapper.updateStatusById(MaterialConstants.THREE_CONSTANT, purchaseVo.getPurchaseId()); + } + } + } + PurchaseDto purchaseDto = new PurchaseDto(); + purchaseDto.setTaskId(dto.getTaskId()); + List list = purchaseBindMapper.getDetails(purchaseDto); + Map> groupedByIdStatus = list.stream() + .collect(Collectors.groupingBy( + PurchaseVo::getTaskId, + Collectors.mapping(PurchaseVo::getStatus, Collectors.toList()) + )); + result += groupedByIdStatus.entrySet().stream() + .mapToInt(entry -> updateTaskStatus(entry.getKey(), entry.getValue())) + .sum(); if (result > 0) { return AjaxResult.success("绑定成功"); } return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), HttpCodeEnum.FAIL.getMsg()); } + /** + * 提取状态更新逻辑到一个方法 + * @param taskId + * @param statusList + * @return + */ + private int updateTaskStatus(Integer taskId, List statusList) { + if (statusList.contains(MaterialConstants.EIGHT_CONSTANT) || + statusList.contains(MaterialConstants.THREE_CONSTANT)) { + return tmTaskMapper.updateStatusById(MaterialConstants.TEN_CONSTANT, taskId.toString()); + } else if (!statusList.contains(MaterialConstants.EIGHT_CONSTANT) && + !statusList.contains(MaterialConstants.THREE_CONSTANT) && + statusList.contains(MaterialConstants.FOUR_CONSTANT)) { + return tmTaskMapper.updateStatusById(MaterialConstants.FIVE_CONSTANT, taskId.toString()); + } + return 0; + } + /** * 下载二维码 * @param response @@ -196,19 +235,22 @@ public class PurchaseBindServiceImpl implements IPurchaseBindService { * @return */ @Override + @Transactional(rollbackFor = Exception.class) public AjaxResult reject(PurchaseDto dto) { //一级页面驳回 int result = 0; if (dto.getTaskId() != null) { //根据任务id查询详细信息 - List list = purchaseBindMapper.selectPurchaseCheckInfoById(dto); + List list = purchaseBindMapper.getDetails(dto); if (CollectionUtils.isNotEmpty(list)) { for (PurchaseVo purchaseVo : list) { //更新状态为已驳回 - purchaseBindMapper.updateStatusById(MaterialConstants.SEVEN_CONSTANT, purchaseVo.getPurchaseId()); + if (purchaseVo.getStatus().equals(MaterialConstants.THREE_CONSTANT) || purchaseVo.getStatus().equals(MaterialConstants.SEVEN_CONSTANT)) { + purchaseBindMapper.updateStatusById(MaterialConstants.SEVEN_CONSTANT, purchaseVo.getPurchaseId()); + } } } - result += tmTaskMapper.updateStatusById(MaterialConstants.SEVEN_CONSTANT, dto.getTaskId()); + result += tmTaskMapper.updateStatusById(MaterialConstants.TEN_CONSTANT, dto.getTaskId()); } //二级页面驳回 if (dto.getPurchaseId() != null) { @@ -219,11 +261,12 @@ public class PurchaseBindServiceImpl implements IPurchaseBindService { for (String id : idList) { //根据二级页面驳回状态更新任务状态 dto.setPurchaseId(id); - List list = purchaseBindMapper.selectPurchaseCheckInfoById(dto); + List list = purchaseBindMapper.getDetails(dto); if (CollectionUtils.isNotEmpty(list)) { for (PurchaseVo purchaseVo : list) { - dto.setTaskId(purchaseVo.getTaskId().toString()); - List voList = purchaseBindMapper.selectPurchaseCheckInfoById(dto); + PurchaseDto purchaseDto = new PurchaseDto(); + purchaseDto.setTaskId(purchaseVo.getTaskId().toString()); + List voList = purchaseBindMapper.getDetails(purchaseDto); result = getResult(result, voList); } } @@ -251,11 +294,11 @@ public class PurchaseBindServiceImpl implements IPurchaseBindService { .mapToInt(entry -> { Integer taskId = entry.getKey(); List statusList = entry.getValue(); - if (statusList.contains(MaterialConstants.INBOUND_AUDIT) || statusList.contains(MaterialConstants.PURCHASE_STORAGE_NO_PASSED)) { - return tmTaskMapper.updateStatusById(MaterialConstants.NINE_CONSTANT, taskId.toString()); - } else if (!statusList.contains(MaterialConstants.INBOUND_AUDIT) && !statusList.contains(MaterialConstants.PURCHASE_STORAGE_NO_PASSED) - && !statusList.contains(MaterialConstants.PARTIALLY_WAREHOUSED) && statusList.contains(MaterialConstants.INVENTORY)) { - return tmTaskMapper.updateStatusById(MaterialConstants.FOUR_CONSTANT, taskId.toString()); + if (statusList.contains(MaterialConstants.SEVEN_CONSTANT) || statusList.contains(MaterialConstants.THREE_CONSTANT)) { + return tmTaskMapper.updateStatusById(MaterialConstants.TEN_CONSTANT, taskId.toString()); + } else if (!statusList.contains(MaterialConstants.SEVEN_CONSTANT) && !statusList.contains(MaterialConstants.THREE_CONSTANT) + && statusList.contains(MaterialConstants.FOUR_CONSTANT)) { + return tmTaskMapper.updateStatusById(MaterialConstants.FIVE_CONSTANT, taskId.toString()); } return 0; }).sum(); diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseStorageServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseStorageServiceImpl.java index d4c17884..87933f85 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseStorageServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseStorageServiceImpl.java @@ -5,12 +5,15 @@ import com.bonus.common.biz.constant.MaterialConstants; import com.bonus.common.biz.enums.HttpCodeEnum; import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.material.ma.mapper.MachineMapper; +import com.bonus.material.purchase.config.RemoteConfig; import com.bonus.material.purchase.dto.PurchaseDto; +import com.bonus.material.purchase.mapper.PurchaseBindMapper; import com.bonus.material.purchase.mapper.PurchaseStorageMapper; import com.bonus.material.purchase.service.IPurchaseStorageService; import com.bonus.material.purchase.vo.PurchaseVo; import com.bonus.material.task.mapper.TmTaskMapper; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.Arrays; @@ -35,9 +38,15 @@ public class PurchaseStorageServiceImpl implements IPurchaseStorageService { @Resource private MachineMapper machineMapper; + @Resource + private PurchaseBindMapper purchaseBindMapper; + @Resource private TmTaskMapper tmTaskMapper; + @Resource + private RemoteConfig remoteConfig; + /** * 查询所有 * @param dto @@ -46,17 +55,21 @@ public class PurchaseStorageServiceImpl implements IPurchaseStorageService { @Override public List selectAll(PurchaseDto dto) { List list = purchaseStorageMapper.selectAll(dto); + extracted(list); return list; } /** - * 根据id查询详情 - * @param id - * @return + * 远程调用方法抽取 + * @param list */ - @Override - public List selectPurchaseCheckInfoById(Long id) { - return purchaseStorageMapper.selectPurchaseCheckInfoById(id); + private void extracted(List list) { + for (PurchaseVo purchaseVo : list) { + String userName = remoteConfig.getUserName(purchaseVo.getCreateBy()); + purchaseVo.setCreateBy(userName == null ? "" : userName); + String dictValue = remoteConfig.getDictValue("purchase_task_status", purchaseVo.getStatus().toString()); + purchaseVo.setStatusName(dictValue == null ? "" : dictValue); + } } /** @@ -66,7 +79,14 @@ public class PurchaseStorageServiceImpl implements IPurchaseStorageService { */ @Override public List getDetails(PurchaseDto dto) { - return purchaseStorageMapper.getDetails(dto); + List list = purchaseBindMapper.getDetails(dto); + if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(list)) { + for (PurchaseVo purchaseVo : list) { + String name = remoteConfig.getDictValue("purchase_task_status", purchaseVo.getStatus().toString()); + purchaseVo.setStatusName(name == null ? "" : name); + } + } + return list; } /** @@ -75,6 +95,7 @@ public class PurchaseStorageServiceImpl implements IPurchaseStorageService { * @return */ @Override + @Transactional(rollbackFor = Exception.class) public AjaxResult warehouse(PurchaseDto dto) { if (dto.getTaskId() != null) { //外层入库 @@ -92,6 +113,7 @@ public class PurchaseStorageServiceImpl implements IPurchaseStorageService { * @return */ @Override + @Transactional(rollbackFor = Exception.class) public AjaxResult reject(PurchaseDto dto) { if (dto.getTaskId() != null) { //外层驳回 @@ -109,10 +131,10 @@ public class PurchaseStorageServiceImpl implements IPurchaseStorageService { * @return */ private AjaxResult rejectByPurchaseIds(PurchaseDto purchaseDto) { - purchaseDto.setStatus(MaterialConstants.PURCHASE_STORAGE_NO_PASSED); + purchaseDto.setStatus(MaterialConstants.EIGHT_CONSTANT); int result = 0; try { - List details = purchaseStorageMapper.getDetails(purchaseDto); + List details = purchaseBindMapper.getDetails(purchaseDto); if (CollectionUtils.isNotEmpty(details)) { result += updateRejectAndStatus(Integer.parseInt(purchaseDto.getPurchaseId())); List statusList = purchaseStorageMapper.select(details.get(0).getTaskId().toString()); @@ -133,7 +155,7 @@ public class PurchaseStorageServiceImpl implements IPurchaseStorageService { * @return */ private int updateRejectAndStatus(int purchaseId) { - return purchaseStorageMapper.updateStatusById(MaterialConstants.PURCHASE_STORAGE_NO_PASSED, purchaseId); + return purchaseStorageMapper.updateStatusById(MaterialConstants.EIGHT_CONSTANT, purchaseId); } /** @@ -148,11 +170,13 @@ public class PurchaseStorageServiceImpl implements IPurchaseStorageService { for (Integer taskId : taskIdList) { dto.setTaskId(String.valueOf(taskId)); List details; - details = purchaseStorageMapper.getDetails(dto); + details = purchaseBindMapper.getDetails(dto); for (PurchaseVo purchaseVo : details) { - result += purchaseStorageMapper.updateStatusById(MaterialConstants.PURCHASE_STORAGE_NO_PASSED, Integer.parseInt(purchaseVo.getPurchaseId())); + if (purchaseVo.getStatus().equals(MaterialConstants.EIGHT_CONSTANT) || purchaseVo.getStatus().equals(MaterialConstants.FOUR_CONSTANT)) { + result += purchaseStorageMapper.updateStatusById(MaterialConstants.EIGHT_CONSTANT, Integer.parseInt(purchaseVo.getPurchaseId())); + } } - details = purchaseStorageMapper.getDetails(dto); + details = purchaseBindMapper.getDetails(dto); result += updateTaskStatus(details); } if (result > 0) { @@ -170,10 +194,10 @@ public class PurchaseStorageServiceImpl implements IPurchaseStorageService { * @return */ private AjaxResult processByPurchaseIds(PurchaseDto purchaseDto) { - purchaseDto.setStatus(MaterialConstants.INVENTORY); + purchaseDto.setStatus(MaterialConstants.FIVE_CONSTANT); int result = 0; try { - List details = purchaseStorageMapper.getDetails(purchaseDto); + List details = purchaseBindMapper.getDetails(purchaseDto); if (CollectionUtils.isNotEmpty(details)) { result += updatePurchaseInfoAndDetails(details.get(0), Integer.parseInt(purchaseDto.getPurchaseId())); List statusList = purchaseStorageMapper.select(details.get(0).getTaskId().toString()); @@ -195,7 +219,7 @@ public class PurchaseStorageServiceImpl implements IPurchaseStorageService { * @return */ private int updatePurchaseInfoAndDetails(PurchaseVo detail, int purchaseId) { - int result = purchaseStorageMapper.updateStatusById(MaterialConstants.INVENTORY, purchaseId); + int result = purchaseStorageMapper.updateStatusById(MaterialConstants.FIVE_CONSTANT, purchaseId); if (ZERO_CONSTANT.equals(detail.getManageType())) { result += purchaseStorageMapper.insertMachine(detail); } else if (ONE_CONSTANT.equals(detail.getManageType())) { @@ -216,9 +240,9 @@ public class PurchaseStorageServiceImpl implements IPurchaseStorageService { for (Integer taskId : taskIdList) { dto.setTaskId(String.valueOf(taskId)); List details; - details = purchaseStorageMapper.getDetails(dto); + details = purchaseBindMapper.getDetails(dto); result += updateDetailsAndStatus(details); - details = purchaseStorageMapper.getDetails(dto); + details = purchaseBindMapper.getDetails(dto); result += updateTaskStatus(details); } if (result > 0) { @@ -239,7 +263,7 @@ public class PurchaseStorageServiceImpl implements IPurchaseStorageService { return details.stream() .mapToInt(detail -> { int result = purchaseStorageMapper.updateNum(detail.getPurchaseId(), detail.getBindNum()); - result += purchaseStorageMapper.updateStatusById(MaterialConstants.INVENTORY, Integer.parseInt(detail.getPurchaseId())); + result += purchaseStorageMapper.updateStatusById(MaterialConstants.FIVE_CONSTANT, Integer.parseInt(detail.getPurchaseId())); if (ZERO_CONSTANT.equals(detail.getManageType())) { result += purchaseStorageMapper.insertMachine(detail); } else if (ONE_CONSTANT.equals(detail.getManageType())) { @@ -265,11 +289,11 @@ public class PurchaseStorageServiceImpl implements IPurchaseStorageService { .mapToInt(entry -> { Integer id = entry.getKey(); List statusList = entry.getValue(); - if (statusList.contains(MaterialConstants.INBOUND_AUDIT) || statusList.contains(MaterialConstants.PURCHASE_STORAGE_NO_PASSED)) { - return tmTaskMapper.updateStatusById(MaterialConstants.NINE_CONSTANT, id.toString()); - } else if (!statusList.contains(MaterialConstants.INBOUND_AUDIT) && !statusList.contains(MaterialConstants.PURCHASE_STORAGE_NO_PASSED) - && !statusList.contains(MaterialConstants.PARTIALLY_WAREHOUSED) && statusList.contains(MaterialConstants.INVENTORY)) { - return tmTaskMapper.updateStatusById(MaterialConstants.FOUR_CONSTANT, id.toString()); + if (statusList.contains(MaterialConstants.FOUR_CONSTANT) || statusList.contains(MaterialConstants.EIGHT_CONSTANT)) { + return tmTaskMapper.updateStatusById(MaterialConstants.TEN_CONSTANT, id.toString()); + } else if (!statusList.contains(MaterialConstants.FOUR_CONSTANT) && !statusList.contains(MaterialConstants.EIGHT_CONSTANT) + && statusList.contains(MaterialConstants.FIVE_CONSTANT)) { + return tmTaskMapper.updateStatusById(MaterialConstants.FIVE_CONSTANT, id.toString()); } return 0; }).sum(); diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/purchase/PurchaseBindMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/purchase/PurchaseBindMapper.xml index b7f9f0e8..1d72459a 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/purchase/PurchaseBindMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/purchase/PurchaseBindMapper.xml @@ -88,9 +88,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" UPDATE purchase_check_details - SET input_num = #{purchaseNum} - WHERE - id = #{id} + SET bind_num = bind_num + COALESCE(#{num}, 0) + WHERE task_id = #{dto.taskId} + AND type_id = #{dto.typeId} + AND #{num} IS NOT NULL @@ -171,10 +172,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" pcd.production_time AS productDate, pm.qr_code AS qrCode, pm.qr_url AS qrUrl, + pcd.check_num AS purchaseNum, + pcd.check_num AS checkNum, + pcd.bind_num AS bindNum, pcd.status AS status FROM purchase_macode_info pm LEFT JOIN purchase_check_details pcd ON pm.task_id = pcd.task_id + AND pm.type_id = pcd.type_id LEFT JOIN ma_type mt ON pcd.type_id = mt.type_id LEFT JOIN ma_type mt1 ON mt.parent_id = mt1.type_id WHERE @@ -245,7 +250,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" FROM purchase_macode_info WHERE - DATE_FORMAT(create_time, '%Y-%m') = #{genMonth} + DATE_FORMAT(create_time, '%Y-%m') = #{genMonth} and ma_code is null ORDER BY qr_code DESC diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/purchase/PurchaseStorageMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/purchase/PurchaseStorageMapper.xml index 25cb8f52..c93a5b3d 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/purchase/PurchaseStorageMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/purchase/PurchaseStorageMapper.xml @@ -5,12 +5,66 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + insert into ma_machine + + type_id, + ma_code, + pre_code, + ma_status, + qr_code, + buy_price, + ma_vender, + out_fac_time, + out_fac_code, + assets_code, + check_man, + this_check_time, + next_check_time, + gps_code, + rfid_code, + erp_code, + transfer_code, + in_out_num, + buy_task, + own_house, + company_id, + create_time, + inspect_man, + inspect_status, + phone, + + + #{typeId}, + #{maCode}, + #{preCode}, + #{maStatus}, + #{qrCode}, + #{buyPrice}, + #{maVender}, + #{outFacTime}, + #{outFacCode}, + #{assetsCode}, + #{checkMan}, + #{thisCheckTime}, + #{nextCheckTime}, + #{gpsCode}, + #{rfidCode}, + #{erpCode}, + #{transferCode}, + #{inOutNum}, + #{buyTask}, + #{ownHouse}, + #{companyId}, + now(), + #{inspectMan}, + #{inspectStatus}, + #{phone}, + UPDATE purchase_check_details - SET input_num = #{purchaseNum}, + SET input_num = #{bindNum}, input_time = now() WHERE id = #{id} @@ -66,29 +120,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" pci.arrival_time DESC -