From 413b6857d2046f2c001c578b1bf5b89f3bb5ee1c Mon Sep 17 00:00:00 2001 From: syruan <321359594@qq.com> Date: Thu, 22 Aug 2024 14:42:50 +0800 Subject: [PATCH 01/10] =?UTF-8?q?=E7=8A=B6=E6=80=81=E6=8E=A7=E5=88=B6?= =?UTF-8?q?=E5=B8=B8=E9=87=8F=E5=BC=95=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/BpmPurchaseInfoController.java | 52 +++++++++--- .../com/bonus/purchase/dto/PurchaseDto.java | 2 + .../mapper/BpmPurchaseInfoMapper.java | 25 +++++- .../service/impl/BpmPurchaseInfoService.java | 42 +++++++-- .../com/bonus/purchase/utils/Constants.java | 15 ++++ .../bonus/purchase/vo/PurchaseAcceptVo.java | 4 +- .../com/bonus/purchase/vo/PurchaseVo.java | 2 +- .../com/bonus/task/mapper/BpmTaskMapper.java | 5 ++ .../bonus/task/service/BpmTaskService.java | 8 ++ .../mapper/BpmPurchaseAcceptMapper.xml | 2 +- .../mapper/BpmPurchaseInfoMapper.xml | 85 ++++++++++++++++++- .../mapper/BpmPurchaseStorageMapper.xml | 2 +- .../main/resources/mapper/BpmTaskMapper.xml | 9 ++ 13 files changed, 229 insertions(+), 24 deletions(-) diff --git a/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/controller/BpmPurchaseInfoController.java b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/controller/BpmPurchaseInfoController.java index b0833a1..dafe301 100644 --- a/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/controller/BpmPurchaseInfoController.java +++ b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/controller/BpmPurchaseInfoController.java @@ -1,5 +1,6 @@ package com.bonus.purchase.controller; import com.bonus.common.core.domain.ResultBean; +import com.bonus.common.core.utils.poi.ExcelUtil; import com.bonus.common.core.web.controller.BaseController; import com.bonus.common.core.web.page.TableDataInfo; import com.bonus.common.security.annotation.RequiresPermissions; @@ -14,13 +15,17 @@ import org.springframework.web.bind.annotation.*; import org.springframework.beans.factory.annotation.Autowired; import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; import javax.validation.constraints.Positive; +import java.util.Arrays; import java.util.List; import java.util.Map; +import static com.bonus.purchase.utils.Constants.*; + /** * 新购到货管理(bpm_purchase_info) * @author 阮世耀 @@ -39,7 +44,7 @@ public class BpmPurchaseInfoController extends BaseController { private BpmTaskService bpmTaskService; /** - * 分页查询--新购任务列表 + * 分页查询--新购任务一级列表 */ @GetMapping(value = "/list") @RequiresPermissions("purchase:bpmPurchaseInfo:query") @@ -50,16 +55,41 @@ public class BpmPurchaseInfoController extends BaseController { } /** - * 分页查询---新购任务详情列表 + * 分页查询---新购任务详情列表--内层 */ @GetMapping(value = "/detailsList") @RequiresPermissions("purchase:bpmPurchaseInfo:query") - public TableDataInfo getDetailsList(PurchaseDto record) { + public TableDataInfo getDetailsList(@Valid PurchaseDto record) { startPage(); List list = this.bpmPurchaseInfoService.getDetailsList(record); return getDataTable(list); } + /** + * 导出新购任务一级列表 + */ + @PostMapping(value = "/export") + @RequiresPermissions("purchase:bpmPurchaseInfo:export") + public void export(HttpServletResponse response,@NotEmpty(message = "任务数组不能为空") Integer[] taskArray) { + List list = this.bpmPurchaseInfoService.selectMangerListInId(Arrays.asList(taskArray)); + ExcelUtil util = new ExcelUtil<>(PurchaseVo.class); + util.exportExcel(response, list, "新购任务列表"); + } + + /** + * 导出新购任务设备列表 + * @param response 响应--导出操作 + * @param deviceArray 领用详情表ID数组 + */ + @PostMapping(value = "/exportDevices") + @RequiresPermissions("purchase:bpmPurchaseInfo:export") + public void exportDevices(HttpServletResponse response,@NotEmpty(message = "设备数组不能为空") Integer[] deviceArray) { + List list = this.bpmPurchaseInfoService.getDetailsListInId(Arrays.asList(deviceArray)); + ExcelUtil util = new ExcelUtil<>(PurchaseAcceptVo.class); + util.exportExcel(response, list, "新购任务设备列表"); + } + + /** * ElementPlus级联选择器数据接口--获取设备类型 */ @@ -84,11 +114,10 @@ public class BpmPurchaseInfoController extends BaseController { */ @PutMapping(value = "/commit") @RequiresPermissions("purchase:bpmPurchaseInfo:edit") - public ResultBean commit(@RequestBody @NotEmpty Integer[] taskArray) { + public ResultBean commit(@RequestBody @NotEmpty(message = "请求参数不能为空") Integer[] taskArray) { int result = 0; - for (Integer taskId : taskArray) { - result += this.bpmTaskService.updateStatusById(48, taskId); - } + result += this.bpmTaskService.updateStatusById(PENDING_CONFIRMATION, Arrays.asList(taskArray)); + result += this.bpmPurchaseInfoService.updateStatusByTaskId(PENDING_CONFIRMATION_BYTE, Arrays.asList(taskArray)); return ResultBean.toIsSuccess(result); } @@ -98,11 +127,10 @@ public class BpmPurchaseInfoController extends BaseController { */ @PutMapping(value = "/confirm") @RequiresPermissions("purchase:bpmPurchaseInfo:edit") - public ResultBean confirm(@RequestBody @NotEmpty Integer[] taskArray) { + public ResultBean confirm(@RequestBody @NotEmpty(message = "请求参数不能为空") Integer[] taskArray) { int result = 0; - for (Integer taskId : taskArray) { - result += this.bpmTaskService.updateStatusById(49, taskId); - } + result += this.bpmTaskService.updateStatusById(PENDING_NOTIFICATION, Arrays.asList(taskArray)); + result += this.bpmPurchaseInfoService.updateStatusByTaskId(PENDING_NOTIFICATION_BYTE, Arrays.asList(taskArray)); return ResultBean.toIsSuccess(result); } @@ -161,6 +189,6 @@ public class BpmPurchaseInfoController extends BaseController { @DeleteMapping(value = "/deleteDetails/{id}") @RequiresPermissions("purchase:bpmPurchaseInfo:remove") public ResultBean< Boolean> deleteDetailsById(@PathVariable("id") Integer id) { - return ResultBean.toIsSuccess(this.bpmPurchaseInfoService.deleteByPrimaryKey(id)); + return ResultBean.toIsSuccess(this.bpmPurchaseInfoService.updateIsActiveById(id)); } } diff --git a/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/dto/PurchaseDto.java b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/dto/PurchaseDto.java index 1b052dd..a6a0102 100644 --- a/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/dto/PurchaseDto.java +++ b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/dto/PurchaseDto.java @@ -3,6 +3,7 @@ package com.bonus.purchase.dto; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import javax.validation.constraints.NotNull; import java.util.List; /** @@ -41,6 +42,7 @@ public class PurchaseDto { private List taskIds; @ApiModelProperty(value = "任务id") + @NotNull(message = "查询详情任务id不能为空") private String taskId; @ApiModelProperty(value = "二级明细id") diff --git a/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/mapper/BpmPurchaseInfoMapper.java b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/mapper/BpmPurchaseInfoMapper.java index 92fb4fe..23363ec 100644 --- a/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/mapper/BpmPurchaseInfoMapper.java +++ b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/mapper/BpmPurchaseInfoMapper.java @@ -1,4 +1,5 @@ package com.bonus.purchase.mapper; +import java.util.Collection; import com.bonus.base.api.domain.MaType; import com.bonus.purchase.dto.PurchaseDto; import com.bonus.purchase.vo.PurchaseAcceptVo; @@ -28,7 +29,9 @@ public interface BpmPurchaseInfoMapper { */ List selectMangerList(PurchaseDto purchaseDto); - int insertList(@Param("list")List list); + List selectMangerListInId(@Param("idCollection") Collection idCollection); + + int insertList(@Param("list") List list); /** * 查询所有设备类型 @@ -44,6 +47,13 @@ public interface BpmPurchaseInfoMapper { */ List getDetailsList(PurchaseDto record); + + /** + * 根据ID查询领用明细 + * @param idCollection 领用详情表ID集合 + */ + List getDetailsListInId(@Param("idCollection") Collection idCollection); + MaType selectMaTypeById(@Param("id") Integer id); /** @@ -53,6 +63,12 @@ public interface BpmPurchaseInfoMapper { */ int deleteByPrimaryKey(Integer id); + /** + * 删除领用明细--逻辑删除 + */ + int updateIsActiveById(@Param("id")Integer id); + + /** * insert record to table * @param record the record @@ -85,6 +101,13 @@ public interface BpmPurchaseInfoMapper { */ int updateByPrimaryKeySelective(BpmPurchaseInfo record); + + int updateStatusByTaskId(@Param("updatedStatus")Byte updatedStatus,@Param("taskId")Integer taskId); + + int updateStatusByTaskIdIn(@Param("updatedStatus")Byte updatedStatus,@Param("taskIdCollection")Collection taskIdCollection); + + + /** * update record * @param record the updated record diff --git a/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/service/impl/BpmPurchaseInfoService.java b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/service/impl/BpmPurchaseInfoService.java index 60a8247..29afc48 100644 --- a/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/service/impl/BpmPurchaseInfoService.java +++ b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/service/impl/BpmPurchaseInfoService.java @@ -1,8 +1,6 @@ package com.bonus.purchase.service.impl; -import java.util.ArrayList; -import java.util.HashMap; import java.util.List; -import java.util.Map; +import java.util.*; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.util.RandomUtil; @@ -23,6 +21,9 @@ import com.bonus.purchase.domain.BpmPurchaseInfo; import javax.annotation.Resource; +import static com.bonus.purchase.utils.Constants.PENDING_SUBMISSION; +import static com.bonus.purchase.utils.Constants.PENDING_SUBMISSION_BYTE; + /** *@PackagePath: com.bonus.purchase *@author : 阮世耀 @@ -92,6 +93,17 @@ public class BpmPurchaseInfoService{ return bpmPurchaseInfoMapper.getDetailsList(record); } + /** + * 查询--根据ID集合查设备列表 + */ + public List getDetailsListInId(Collection idCollection) { + return bpmPurchaseInfoMapper.getDetailsListInId(idCollection); + } + + /** + * 新购设备任务创建 + * @param purchaseTaskDto 任务数据、设备数据集合 + */ public int insertList(PurchaseTaskDto purchaseTaskDto) { // 映射Dto至Pojo对象 BpmTask task = new BpmTask(); @@ -107,7 +119,7 @@ public class BpmPurchaseInfoService{ String code = "XG" + DateTimeHelper.getNowMonthFomart() + "-" + formatTaskNumber; task.setCode(code); // 赋值任务状态 - task.setStatus(47); + task.setStatus(PENDING_SUBMISSION); String creator = String.valueOf(SecurityUtils.getLoginUser().getUserid()); task.setCreator(creator); // 处理任务表数据 ---------------- end ------ @@ -122,7 +134,7 @@ public class BpmPurchaseInfoService{ // 给集合中所有对象赋值任务ID list.replaceAll(obj -> { obj.setTaskId(task.getId()); - obj.setStatus((byte)47); + obj.setStatus(PENDING_SUBMISSION_BYTE); obj.setUpdater(creator); return obj; }); @@ -139,6 +151,10 @@ public class BpmPurchaseInfoService{ return bpmPurchaseInfoMapper.selectMangerList(purchaseDto); } + public List selectMangerListInId(Collection idCollection) { + return bpmPurchaseInfoMapper.selectMangerListInId(idCollection); + } + public MaType selectMaTypeById(Integer id) { return bpmPurchaseInfoMapper.selectMaTypeById(id); } @@ -193,6 +209,22 @@ public class BpmPurchaseInfoService{ return itemNode; } + public int updateStatusByTaskId(Byte updatedStatus,Integer taskId){ + return bpmPurchaseInfoMapper.updateStatusByTaskId(updatedStatus,taskId); + } + + public int updateStatusByTaskId(Byte updatedStatus, Collection taskIdCollection){ + return bpmPurchaseInfoMapper.updateStatusByTaskIdIn(updatedStatus,taskIdCollection); + } + + public int updateIsActiveById(Integer id){ + return bpmPurchaseInfoMapper.updateIsActiveById(id); + } + + + + + diff --git a/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/utils/Constants.java b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/utils/Constants.java index 0ef4cc9..a5c405e 100644 --- a/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/utils/Constants.java +++ b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/utils/Constants.java @@ -12,16 +12,31 @@ public class Constants { */ public static final Integer PENDING_SUBMISSION = 47; + /** + * 待提交--byte类型 + */ + public static final Byte PENDING_SUBMISSION_BYTE = 47; + /** * 待确认 */ public static final Integer PENDING_CONFIRMATION = 48; + /** + * 待确认 + */ + public static final Byte PENDING_CONFIRMATION_BYTE = 48; + /** * 待通知 */ public static final Integer PENDING_NOTIFICATION = 49; + /** + * 待通知--byte类型 + */ + public static final Byte PENDING_NOTIFICATION_BYTE = 49; + /** * 待验收 */ diff --git a/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/vo/PurchaseAcceptVo.java b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/vo/PurchaseAcceptVo.java index 525af27..2335c5f 100644 --- a/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/vo/PurchaseAcceptVo.java +++ b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/vo/PurchaseAcceptVo.java @@ -22,9 +22,9 @@ public class PurchaseAcceptVo { private String materialName; @ApiModelProperty("规格型号") - private String specificationCode; + private String materialModel; - @ApiModelProperty(value="单位") + @ApiModelProperty(value="单位名称") private String unitName; @ApiModelProperty(value="供应商名称") diff --git a/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/vo/PurchaseVo.java b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/vo/PurchaseVo.java index 817b959..2df2866 100644 --- a/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/vo/PurchaseVo.java +++ b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/vo/PurchaseVo.java @@ -22,7 +22,7 @@ public class PurchaseVo { private String materialName; @ApiModelProperty("规格型号") - private String specificationCode; + private String materialModel; @ApiModelProperty(value="单位") private String unitName; diff --git a/bonus-modules/bonus-task/src/main/java/com/bonus/task/mapper/BpmTaskMapper.java b/bonus-modules/bonus-task/src/main/java/com/bonus/task/mapper/BpmTaskMapper.java index 2599ef7..1f3b115 100644 --- a/bonus-modules/bonus-task/src/main/java/com/bonus/task/mapper/BpmTaskMapper.java +++ b/bonus-modules/bonus-task/src/main/java/com/bonus/task/mapper/BpmTaskMapper.java @@ -1,4 +1,5 @@ package com.bonus.task.mapper; +import java.util.Collection; import org.apache.ibatis.annotations.Param; import com.bonus.task.domain.BpmTask; @@ -63,4 +64,8 @@ public interface BpmTaskMapper { int updateStatusById(@Param("updatedStatus")Integer updatedStatus,@Param("id")Integer id); + int updateStatusByIdIn(@Param("updatedStatus")Integer updatedStatus,@Param("idCollection")Collection idCollection); + + + } \ No newline at end of file diff --git a/bonus-modules/bonus-task/src/main/java/com/bonus/task/service/BpmTaskService.java b/bonus-modules/bonus-task/src/main/java/com/bonus/task/service/BpmTaskService.java index 5dda62f..956d613 100644 --- a/bonus-modules/bonus-task/src/main/java/com/bonus/task/service/BpmTaskService.java +++ b/bonus-modules/bonus-task/src/main/java/com/bonus/task/service/BpmTaskService.java @@ -1,4 +1,5 @@ package com.bonus.task.service; +import java.util.Collection; import java.util.List; import com.bonus.task.mapper.BpmTaskMapper; @@ -75,6 +76,13 @@ public class BpmTaskService{ return bpmTaskMapper.updateStatusById(updatedStatus,id); } + public int updateStatusById(Integer updatedStatus, Collection idCollection){ + return bpmTaskMapper.updateStatusByIdIn(updatedStatus,idCollection); + } + + + + } diff --git a/bonus-modules/bonus-task/src/main/resources/mapper/BpmPurchaseAcceptMapper.xml b/bonus-modules/bonus-task/src/main/resources/mapper/BpmPurchaseAcceptMapper.xml index 15953a4..667c797 100644 --- a/bonus-modules/bonus-task/src/main/resources/mapper/BpmPurchaseAcceptMapper.xml +++ b/bonus-modules/bonus-task/src/main/resources/mapper/BpmPurchaseAcceptMapper.xml @@ -77,7 +77,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" SELECT bp.id AS purchaseId, mt1.`name` AS materialName, - mt.`name` AS specificationCode, + mt.`name` AS materialModel, sda.dict_label AS unitName, bp.purchase_price AS purchasePrice, bp.notax_price AS notaxPrice, diff --git a/bonus-modules/bonus-task/src/main/resources/mapper/BpmPurchaseInfoMapper.xml b/bonus-modules/bonus-task/src/main/resources/mapper/BpmPurchaseInfoMapper.xml index 7b1ffb3..c32233e 100644 --- a/bonus-modules/bonus-task/src/main/resources/mapper/BpmPurchaseInfoMapper.xml +++ b/bonus-modules/bonus-task/src/main/resources/mapper/BpmPurchaseInfoMapper.xml @@ -675,7 +675,7 @@ SELECT bp.id, mt1.`name` AS materialName, - mt.`name` AS specificationCode, + mt.`name` AS materialModel, sda.dict_label AS unitName, bp.purchase_price AS purchasePrice, bp.notax_price AS notaxPrice, @@ -696,4 +696,87 @@ bp.is_active = '1' AND bp.task_id = #{taskId,jdbcType=INTEGER} + + + + update bpm_purchase_info + set `status`=#{updatedStatus,jdbcType=TINYINT} + where task_id=#{taskId,jdbcType=INTEGER} + + + + + update bpm_purchase_info + set `status`=#{updatedStatus,jdbcType=TINYINT} + where task_id in + + #{item,jdbcType=INTEGER} + + + + + + update bpm_purchase_info + set is_active = 0 + where id=#{id,jdbcType=INTEGER} + + + + + \ No newline at end of file diff --git a/bonus-modules/bonus-task/src/main/resources/mapper/BpmPurchaseStorageMapper.xml b/bonus-modules/bonus-task/src/main/resources/mapper/BpmPurchaseStorageMapper.xml index e720546..3b6af0c 100644 --- a/bonus-modules/bonus-task/src/main/resources/mapper/BpmPurchaseStorageMapper.xml +++ b/bonus-modules/bonus-task/src/main/resources/mapper/BpmPurchaseStorageMapper.xml @@ -50,7 +50,7 @@ SELECT bp.id AS id, mt1.`name` AS materialName, - mt.`name` AS specificationCode, + mt.`name` AS materialModel, sda.dict_label AS unitName, bp.purchase_price AS purchasePrice, bp.notax_price AS notaxPrice, diff --git a/bonus-modules/bonus-task/src/main/resources/mapper/BpmTaskMapper.xml b/bonus-modules/bonus-task/src/main/resources/mapper/BpmTaskMapper.xml index 40138de..a32f424 100644 --- a/bonus-modules/bonus-task/src/main/resources/mapper/BpmTaskMapper.xml +++ b/bonus-modules/bonus-task/src/main/resources/mapper/BpmTaskMapper.xml @@ -405,4 +405,13 @@ where id=#{id,jdbcType=INTEGER} + + + update bpm_task + set `status`=#{updatedStatus,jdbcType=INTEGER} + where id in + + #{item,jdbcType=INTEGER} + + \ No newline at end of file From 2b516d65bf794f33b74975160feeb2a3f0eb16a6 Mon Sep 17 00:00:00 2001 From: syruan <321359594@qq.com> Date: Thu, 22 Aug 2024 15:04:06 +0800 Subject: [PATCH 02/10] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E8=AF=A6=E6=83=85?= =?UTF-8?q?=E6=89=B9=E9=87=8F=E4=BF=AE=E6=94=B9=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bonus/purchase/mapper/BpmPurchaseInfoMapper.java | 2 ++ .../purchase/service/impl/BpmPurchaseInfoService.java | 6 +++--- .../main/resources/mapper/BpmPurchaseInfoMapper.xml | 11 +++++++++++ 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/mapper/BpmPurchaseInfoMapper.java b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/mapper/BpmPurchaseInfoMapper.java index 23363ec..a932dac 100644 --- a/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/mapper/BpmPurchaseInfoMapper.java +++ b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/mapper/BpmPurchaseInfoMapper.java @@ -68,6 +68,8 @@ public interface BpmPurchaseInfoMapper { */ int updateIsActiveById(@Param("id")Integer id); + int updateStatusByIdIn(@Param("updatedStatus")Integer updatedStatus,@Param("idCollection")Collection idCollection); + /** * insert record to table diff --git a/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/service/impl/BpmPurchaseInfoService.java b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/service/impl/BpmPurchaseInfoService.java index 29afc48..ff95423 100644 --- a/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/service/impl/BpmPurchaseInfoService.java +++ b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/service/impl/BpmPurchaseInfoService.java @@ -221,9 +221,9 @@ public class BpmPurchaseInfoService{ return bpmPurchaseInfoMapper.updateIsActiveById(id); } - - - + public int updateStatusByIdIn(Integer updatedStatus,Collection idCollection){ + return bpmPurchaseInfoMapper.updateStatusByIdIn(updatedStatus,idCollection); + } diff --git a/bonus-modules/bonus-task/src/main/resources/mapper/BpmPurchaseInfoMapper.xml b/bonus-modules/bonus-task/src/main/resources/mapper/BpmPurchaseInfoMapper.xml index c32233e..5aa7ca2 100644 --- a/bonus-modules/bonus-task/src/main/resources/mapper/BpmPurchaseInfoMapper.xml +++ b/bonus-modules/bonus-task/src/main/resources/mapper/BpmPurchaseInfoMapper.xml @@ -779,4 +779,15 @@ #{item,jdbcType=INTEGER} + + + + update bpm_purchase_info + set `status`=#{updatedStatus,jdbcType=TINYINT} + where id in + + #{item,jdbcType=INTEGER} + + \ No newline at end of file From bb5bd836a2f68e3531fa1fcb8319e1e2429c520d Mon Sep 17 00:00:00 2001 From: mashuai Date: Thu, 22 Aug 2024 15:10:36 +0800 Subject: [PATCH 03/10] =?UTF-8?q?=E7=8A=B6=E6=80=81=E5=8F=98=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/bonus/purchase/mapper/BpmPurchaseInfoMapper.java | 2 ++ .../bonus/purchase/service/impl/BpmPurchaseInfoService.java | 4 ++++ .../src/main/resources/mapper/BpmPurchaseInfoMapper.xml | 5 +++++ 3 files changed, 11 insertions(+) diff --git a/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/mapper/BpmPurchaseInfoMapper.java b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/mapper/BpmPurchaseInfoMapper.java index a932dac..4416714 100644 --- a/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/mapper/BpmPurchaseInfoMapper.java +++ b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/mapper/BpmPurchaseInfoMapper.java @@ -116,4 +116,6 @@ public interface BpmPurchaseInfoMapper { * @return update count */ int updateByPrimaryKey(BpmPurchaseInfo record); + + int updateStatusById(@Param("updatedStatus") Byte updatedStatus, @Param("id") Integer id); } \ No newline at end of file diff --git a/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/service/impl/BpmPurchaseInfoService.java b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/service/impl/BpmPurchaseInfoService.java index ff95423..e395c91 100644 --- a/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/service/impl/BpmPurchaseInfoService.java +++ b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/service/impl/BpmPurchaseInfoService.java @@ -221,6 +221,10 @@ public class BpmPurchaseInfoService{ return bpmPurchaseInfoMapper.updateIsActiveById(id); } + public int updateStatusByIdIn(Byte updatedStatus,Integer id){ + return bpmPurchaseInfoMapper.updateStatusById(updatedStatus,id); + } + public int updateStatusByIdIn(Integer updatedStatus,Collection idCollection){ return bpmPurchaseInfoMapper.updateStatusByIdIn(updatedStatus,idCollection); } diff --git a/bonus-modules/bonus-task/src/main/resources/mapper/BpmPurchaseInfoMapper.xml b/bonus-modules/bonus-task/src/main/resources/mapper/BpmPurchaseInfoMapper.xml index 5aa7ca2..9f15a98 100644 --- a/bonus-modules/bonus-task/src/main/resources/mapper/BpmPurchaseInfoMapper.xml +++ b/bonus-modules/bonus-task/src/main/resources/mapper/BpmPurchaseInfoMapper.xml @@ -790,4 +790,9 @@ #{item,jdbcType=INTEGER} + + update bpm_purchase_info + set `status`=#{updatedStatus,jdbcType=TINYINT} + where id=#{id,jdbcType=INTEGER} + \ No newline at end of file From fe6b5da2798a66fc06342a1436dc43aaf36df9de Mon Sep 17 00:00:00 2001 From: syruan <321359594@qq.com> Date: Thu, 22 Aug 2024 15:14:06 +0800 Subject: [PATCH 04/10] =?UTF-8?q?=E6=96=B9=E6=B3=95=E7=B1=BB=E5=9E=8B?= =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bonus/purchase/controller/BpmPurchaseInfoController.java | 4 ++-- .../java/com/bonus/purchase/mapper/BpmPurchaseInfoMapper.java | 4 ++-- .../bonus/purchase/service/impl/BpmPurchaseInfoService.java | 4 ++-- .../src/main/java/com/bonus/purchase/utils/Constants.java | 4 ---- 4 files changed, 6 insertions(+), 10 deletions(-) diff --git a/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/controller/BpmPurchaseInfoController.java b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/controller/BpmPurchaseInfoController.java index dafe301..17f0093 100644 --- a/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/controller/BpmPurchaseInfoController.java +++ b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/controller/BpmPurchaseInfoController.java @@ -117,7 +117,7 @@ public class BpmPurchaseInfoController extends BaseController { public ResultBean commit(@RequestBody @NotEmpty(message = "请求参数不能为空") Integer[] taskArray) { int result = 0; result += this.bpmTaskService.updateStatusById(PENDING_CONFIRMATION, Arrays.asList(taskArray)); - result += this.bpmPurchaseInfoService.updateStatusByTaskId(PENDING_CONFIRMATION_BYTE, Arrays.asList(taskArray)); + result += this.bpmPurchaseInfoService.updateStatusByTaskId(PENDING_CONFIRMATION, Arrays.asList(taskArray)); return ResultBean.toIsSuccess(result); } @@ -130,7 +130,7 @@ public class BpmPurchaseInfoController extends BaseController { public ResultBean confirm(@RequestBody @NotEmpty(message = "请求参数不能为空") Integer[] taskArray) { int result = 0; result += this.bpmTaskService.updateStatusById(PENDING_NOTIFICATION, Arrays.asList(taskArray)); - result += this.bpmPurchaseInfoService.updateStatusByTaskId(PENDING_NOTIFICATION_BYTE, Arrays.asList(taskArray)); + result += this.bpmPurchaseInfoService.updateStatusByTaskId(PENDING_NOTIFICATION, Arrays.asList(taskArray)); return ResultBean.toIsSuccess(result); } diff --git a/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/mapper/BpmPurchaseInfoMapper.java b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/mapper/BpmPurchaseInfoMapper.java index 4416714..9cc7599 100644 --- a/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/mapper/BpmPurchaseInfoMapper.java +++ b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/mapper/BpmPurchaseInfoMapper.java @@ -104,9 +104,9 @@ public interface BpmPurchaseInfoMapper { int updateByPrimaryKeySelective(BpmPurchaseInfo record); - int updateStatusByTaskId(@Param("updatedStatus")Byte updatedStatus,@Param("taskId")Integer taskId); + int updateStatusByTaskId(@Param("updatedStatus") Integer updatedStatus,@Param("taskId")Integer taskId); - int updateStatusByTaskIdIn(@Param("updatedStatus")Byte updatedStatus,@Param("taskIdCollection")Collection taskIdCollection); + int updateStatusByTaskIdIn(@Param("updatedStatus") Integer updatedStatus,@Param("taskIdCollection")Collection taskIdCollection); diff --git a/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/service/impl/BpmPurchaseInfoService.java b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/service/impl/BpmPurchaseInfoService.java index e395c91..f9c1a07 100644 --- a/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/service/impl/BpmPurchaseInfoService.java +++ b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/service/impl/BpmPurchaseInfoService.java @@ -209,11 +209,11 @@ public class BpmPurchaseInfoService{ return itemNode; } - public int updateStatusByTaskId(Byte updatedStatus,Integer taskId){ + public int updateStatusByTaskId(Integer updatedStatus,Integer taskId){ return bpmPurchaseInfoMapper.updateStatusByTaskId(updatedStatus,taskId); } - public int updateStatusByTaskId(Byte updatedStatus, Collection taskIdCollection){ + public int updateStatusByTaskId(Integer updatedStatus, Collection taskIdCollection){ return bpmPurchaseInfoMapper.updateStatusByTaskIdIn(updatedStatus,taskIdCollection); } diff --git a/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/utils/Constants.java b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/utils/Constants.java index a5c405e..97d6893 100644 --- a/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/utils/Constants.java +++ b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/utils/Constants.java @@ -22,10 +22,6 @@ public class Constants { */ public static final Integer PENDING_CONFIRMATION = 48; - /** - * 待确认 - */ - public static final Byte PENDING_CONFIRMATION_BYTE = 48; /** * 待通知 From 7dc3c7b3f1fd5724d5d91d6771774131c88b4895 Mon Sep 17 00:00:00 2001 From: mashuai Date: Thu, 22 Aug 2024 16:18:25 +0800 Subject: [PATCH 05/10] =?UTF-8?q?=E7=8A=B6=E6=80=81=E5=8F=98=E6=9B=B4?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../base/controller/BaseTreeController.java | 9 ++ .../BpmPurchaseAcceptController.java | 10 +- .../com/bonus/purchase/dto/PurchaseDto.java | 2 +- .../mapper/BpmPurchaseAcceptMapper.java | 22 +--- .../mapper/BpmPurchaseInfoMapper.java | 2 +- .../impl/BpmPurchaseAcceptServiceImpl.java | 116 ++++++++++-------- .../service/impl/BpmPurchaseInfoService.java | 2 +- .../bonus/purchase/vo/PurchaseAcceptVo.java | 10 +- .../mapper/BpmPurchaseAcceptMapper.xml | 26 +--- 9 files changed, 100 insertions(+), 99 deletions(-) diff --git a/bonus-modules/bonus-base/src/main/java/com/bonus/base/controller/BaseTreeController.java b/bonus-modules/bonus-base/src/main/java/com/bonus/base/controller/BaseTreeController.java index 7e49746..c25e3e4 100644 --- a/bonus-modules/bonus-base/src/main/java/com/bonus/base/controller/BaseTreeController.java +++ b/bonus-modules/bonus-base/src/main/java/com/bonus/base/controller/BaseTreeController.java @@ -98,4 +98,13 @@ public class BaseTreeController { return R.ok(bmProNature); } + /** + * 获取新购状态 + */ + @RequestMapping("/getStatus") + public R getStatus(){ + R> bmProNature = remoteDictService.getDictData("purchase_status"); + return R.ok(bmProNature); + } + } diff --git a/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/controller/BpmPurchaseAcceptController.java b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/controller/BpmPurchaseAcceptController.java index 329d8b9..02005ca 100644 --- a/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/controller/BpmPurchaseAcceptController.java +++ b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/controller/BpmPurchaseAcceptController.java @@ -59,7 +59,7 @@ public class BpmPurchaseAcceptController extends BaseController { */ @ApiOperation("单个或批量验收合格") @PostMapping ("/approve") - public AjaxResult updateTask(PurchaseDto purchaseDto) + public AjaxResult updateTask(@RequestBody PurchaseDto purchaseDto) { return purchaseAcceptService.updateTask(purchaseDto); } @@ -71,21 +71,21 @@ public class BpmPurchaseAcceptController extends BaseController { */ @ApiOperation("二级页面不合格") @PostMapping ("/reject") - public AjaxResult updateDetails(PurchaseDto purchaseDto) + public AjaxResult updateDetails(@RequestBody PurchaseDto purchaseDto) { return purchaseAcceptService.updateDetails(purchaseDto); } /** - * 导出新购验证列表 + * 导出新购验收列表 */ - @ApiOperation(value = "导出新购验证列表") + @ApiOperation(value = "导出新购验收列表") @RequiresPermissions("purchase:purchaseDto:export") @PostMapping("/export") public void export(HttpServletResponse response, PurchaseDto purchaseDto) { List list = purchaseAcceptService.selectAll(purchaseDto); ExcelUtil util = new ExcelUtil<>(PurchaseAcceptVo.class); - util.exportExcel(response, list, "新购验证列表"); + util.exportExcel(response, list, "新购验收列表"); } } diff --git a/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/dto/PurchaseDto.java b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/dto/PurchaseDto.java index a6a0102..4d4f6f0 100644 --- a/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/dto/PurchaseDto.java +++ b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/dto/PurchaseDto.java @@ -15,7 +15,7 @@ import java.util.List; public class PurchaseDto { @ApiModelProperty(value = "id") - private Integer id; + private String id; @ApiModelProperty(value = "类型id") private Integer typeId; diff --git a/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/mapper/BpmPurchaseAcceptMapper.java b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/mapper/BpmPurchaseAcceptMapper.java index 48341cc..512b73b 100644 --- a/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/mapper/BpmPurchaseAcceptMapper.java +++ b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/mapper/BpmPurchaseAcceptMapper.java @@ -33,27 +33,12 @@ public interface BpmPurchaseAcceptMapper { */ List selectStatus(PurchaseDto purchaseDto); - /** - * 更新任务状态 - * @param purchaseDto - * @return - */ - int updateTask(@Param("purchaseDto") PurchaseDto purchaseDto); - - /** - * 审批合格或不合格 - * @param split - * @param status - * @return - */ - int updateDetails(@Param("array") String[] split, @Param("status") Integer status); - /** * 查询状态 - * @param split + * @param idList * @return */ - List select(@Param("array") String[] split); + List select(@Param("array") List idList); /** * 更新采购数量 @@ -61,5 +46,6 @@ public interface BpmPurchaseAcceptMapper { * @param purchaseNum * @return */ - int updateCheckNum(@Param("id") Integer id, @Param("purchaseNum") Integer purchaseNum); + int updateCheckNum(@Param("id") String id, @Param("purchaseNum") Integer purchaseNum); + } diff --git a/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/mapper/BpmPurchaseInfoMapper.java b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/mapper/BpmPurchaseInfoMapper.java index 9cc7599..6f54e6a 100644 --- a/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/mapper/BpmPurchaseInfoMapper.java +++ b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/mapper/BpmPurchaseInfoMapper.java @@ -117,5 +117,5 @@ public interface BpmPurchaseInfoMapper { */ int updateByPrimaryKey(BpmPurchaseInfo record); - int updateStatusById(@Param("updatedStatus") Byte updatedStatus, @Param("id") Integer id); + int updateStatusById(@Param("updatedStatus") Integer updatedStatus, @Param("id") Integer id); } \ No newline at end of file diff --git a/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/service/impl/BpmPurchaseAcceptServiceImpl.java b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/service/impl/BpmPurchaseAcceptServiceImpl.java index 0273cce..5f58144 100644 --- a/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/service/impl/BpmPurchaseAcceptServiceImpl.java +++ b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/service/impl/BpmPurchaseAcceptServiceImpl.java @@ -4,14 +4,17 @@ import com.alibaba.nacos.common.utils.CollectionUtils; import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.purchase.dto.PurchaseDto; import com.bonus.purchase.mapper.BpmPurchaseAcceptMapper; +import com.bonus.purchase.mapper.BpmPurchaseInfoMapper; import com.bonus.purchase.service.BpmPurchaseAcceptService; import com.bonus.purchase.utils.Constants; import com.bonus.purchase.vo.PurchaseAcceptVo; +import com.bonus.task.mapper.BpmTaskMapper; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -26,6 +29,12 @@ public class BpmPurchaseAcceptServiceImpl implements BpmPurchaseAcceptService { @Resource private BpmPurchaseAcceptMapper mapper; + @Resource + private BpmTaskMapper bpmTaskMapper; + + @Resource + private BpmPurchaseInfoMapper bpmPurchaseInfoMapper; + /** * 查询采购单 * @param purchaseDto @@ -55,13 +64,12 @@ public class BpmPurchaseAcceptServiceImpl implements BpmPurchaseAcceptService { @Transactional(rollbackFor = Exception.class) public AjaxResult updateTask(PurchaseDto purchaseDto) { //只有任务状态为待验收时,方可批量验收合格 - if (purchaseDto.getTaskId() != null) { - String[] split = purchaseDto.getTaskId().split(","); - ArrayList list = new ArrayList<>(); + if (purchaseDto.getId() != null) { + String[] split = purchaseDto.getId().split(","); + ArrayList taskIdList = new ArrayList<>(); for (int i = 0; i < split.length; i++) { - list.add(Integer.parseInt(split[i])); + taskIdList.add(Integer.parseInt(split[i])); } - purchaseDto.setTaskIds(list); List statusList = mapper.selectStatus(purchaseDto); if (CollectionUtils.isNotEmpty(statusList)) { for (Integer status : statusList) { @@ -70,42 +78,68 @@ public class BpmPurchaseAcceptServiceImpl implements BpmPurchaseAcceptService { } } } - purchaseDto.setStatus(Constants.PURCHASE_ACCEPTED); - int result; + int result = 0; try { - result = mapper.updateTask(purchaseDto); //根据任务id查询详情表 - List taskIds = purchaseDto.getTaskIds(); - for (Integer taskId : taskIds) { - purchaseDto.setId(taskId); + for (Integer taskId : taskIdList) { + purchaseDto.setId(String.valueOf(taskId)); List details = mapper.getDetails(purchaseDto); //根据查询的采购数量,更新验收数量 for (PurchaseAcceptVo purchaseVo : details) { - result = mapper.updateCheckNum(purchaseVo.getId(), purchaseVo.getPurchaseNum()); + result += mapper.updateCheckNum(purchaseVo.getPurchaseId(), purchaseVo.getPurchaseNum()); + if ("0".equals(purchaseVo.getManageType())) { + result += bpmPurchaseInfoMapper.updateStatusById(Constants.PENDING_BINDING, Integer.parseInt(purchaseVo.getPurchaseId())); + } else if ("1".equals(purchaseVo.getManageType())) { + result += bpmPurchaseInfoMapper.updateStatusById(Constants.PENDING_INVENTORY, Integer.parseInt(purchaseVo.getPurchaseId())); + } + } + // 提取 PurchaseId + List idList = details.stream().map(PurchaseAcceptVo::getPurchaseId).collect(Collectors.toList()); + //根据详情id查询详情状态,更新任务表状态 + List idStatusList = mapper.select(idList); + // 使用流 API 按 id 分组,并提取 status + Map> groupedByIdStatus = idStatusList.stream() + .collect(Collectors.groupingBy( + PurchaseAcceptVo::getId, + Collectors.mapping(PurchaseAcceptVo::getStatus, Collectors.toList()) + )); + for (Map.Entry> entry : groupedByIdStatus.entrySet()) { + Integer id = entry.getKey(); + List statusList1 = entry.getValue(); + if (statusList1.contains(Constants.PENDING_BINDING)) { + //如果详情状态包含待绑定,则外部任务状态为待绑定 + result += bpmTaskMapper.updateStatusById(Constants.PENDING_BINDING, id); + } else if (!statusList1.contains(Constants.PENDING_BINDING) && statusList1.contains(Constants.PENDING_INVENTORY)) { + result += bpmTaskMapper.updateStatusById(Constants.PENDING_INVENTORY, id); + } + } + if (result > 0) { + return AjaxResult.success("批量验收合格成功"); } - } - if (result > 0) { - return AjaxResult.success("操作成功"); } } catch (Exception e) { throw new RuntimeException(e); } } else if (purchaseDto.getPurchaseId() != null) { String[] split = purchaseDto.getPurchaseId().split(","); - purchaseDto.setStatus(Constants.PURCHASE_ACCEPTED); - int result; + purchaseDto.setStatus(Constants.PENDING_BINDING); + int result = 0; try { - result = mapper.updateDetails(split, purchaseDto.getStatus()); //根据采购单id查询详情id for (int i = 0; i < split.length; i++) { purchaseDto.setPurchaseId(split[i]); List details = mapper.getDetails(purchaseDto); - for (PurchaseAcceptVo purchaseVo : details) { - result = mapper.updateCheckNum(purchaseVo.getId(), purchaseVo.getPurchaseNum()); + if (CollectionUtils.isNotEmpty(details)) { + if ("0".equals(details.get(0).getManageType())) { + bpmPurchaseInfoMapper.updateStatusById(Constants.PENDING_BINDING, Integer.parseInt(split[i])); + } else if ("1".equals(details.get(0).getManageType())) { + bpmPurchaseInfoMapper.updateStatusById(Constants.PENDING_INVENTORY, Integer.parseInt(split[i])); + } } + result = mapper.updateCheckNum(details.get(0).getPurchaseId(), details.get(0).getPurchaseNum()); } //根据详情id查询详情状态,更新任务表状态 - List statusList = mapper.select(split); + List statusList = mapper.select(Arrays.asList(split)); // 使用流 API 按 id 分组,并提取 status Map> groupedByIdStatus = statusList.stream() .collect(Collectors.groupingBy( @@ -114,24 +148,16 @@ public class BpmPurchaseAcceptServiceImpl implements BpmPurchaseAcceptService { )); for (Map.Entry> entry : groupedByIdStatus.entrySet()) { Integer id = entry.getKey(); - ArrayList list = new ArrayList<>(); List statusList1 = entry.getValue(); - if (!statusList1.contains(Constants.PENDING_ACCEPTANCE) && statusList1.contains(Constants.PURCHASE_ACCEPTED) - && !statusList1.contains(Constants.PURCHASE_NO_PASSED)) { - //如果不包含47和49,则更新任务状态为48 全部通过 - list.add(id); - purchaseDto.setTaskIds(list); - purchaseDto.setStatus(Constants.PURCHASE_ACCEPTED); - result = mapper.updateTask(purchaseDto); - } else if (!statusList1.contains(Constants.PENDING_ACCEPTANCE) && statusList1.contains(Constants.PURCHASE_NO_PASSED)) { - list.add(id); - purchaseDto.setTaskIds(list); - purchaseDto.setStatus(Constants.PURCHASE_NO_PASSED); - result = mapper.updateTask(purchaseDto); + if (statusList1.contains(Constants.PENDING_BINDING)) { + //如果详情状态包含待绑定,则外部任务状态为待绑定 + result += bpmTaskMapper.updateStatusById(Constants.PENDING_BINDING, id); + } else if (!statusList1.contains(Constants.PENDING_BINDING) && statusList1.contains(Constants.PENDING_INVENTORY)) { + result += bpmTaskMapper.updateStatusById(Constants.PENDING_INVENTORY, id); } } if (result > 0) { - return AjaxResult.success("操作成功"); + return AjaxResult.success("批量验收合格成功"); } } catch (Exception e) { throw new RuntimeException(e); @@ -150,12 +176,13 @@ public class BpmPurchaseAcceptServiceImpl implements BpmPurchaseAcceptService { public AjaxResult updateDetails(PurchaseDto purchaseDto) { if (purchaseDto.getPurchaseId() != null) { String[] split = purchaseDto.getPurchaseId().split(","); - purchaseDto.setStatus(Constants.PURCHASE_NO_PASSED); - int result; + // 将字符串数组转换为 List + List idList = Arrays.stream(split).map(Integer::parseInt).collect(Collectors.toList()); + int result = 0; try { - result = mapper.updateDetails(split, purchaseDto.getStatus()); + result += bpmPurchaseInfoMapper.updateStatusByTaskIdIn(Constants.PURCHASE_NO_PASSED, idList); //根据详情id查询详情状态,更新任务表状态 - List statusList = mapper.select(split); + List statusList = mapper.select(Arrays.asList(split)); // 使用流 API 按 id 分组,并提取 status Map> groupedByIdStatus = statusList.stream() .collect(Collectors.groupingBy( @@ -164,20 +191,13 @@ public class BpmPurchaseAcceptServiceImpl implements BpmPurchaseAcceptService { )); for (Map.Entry> entry : groupedByIdStatus.entrySet()) { Integer id = entry.getKey(); - ArrayList list = new ArrayList<>(); List statusList1 = entry.getValue(); if (!statusList1.contains(Constants.PENDING_ACCEPTANCE) && statusList1.contains(Constants.PURCHASE_ACCEPTED) && !statusList1.contains(Constants.PURCHASE_NO_PASSED)) { //如果不包含47和49,则更新任务状态为48 全部通过 - list.add(id); - purchaseDto.setTaskIds(list); - purchaseDto.setStatus(Constants.PURCHASE_ACCEPTED); - result = mapper.updateTask(purchaseDto); + result += bpmTaskMapper.updateStatusById(Constants.PURCHASE_ACCEPTED, id); } else if (!statusList1.contains(Constants.PENDING_ACCEPTANCE) && statusList1.contains(Constants.PURCHASE_NO_PASSED)) { - list.add(id); - purchaseDto.setTaskIds(list); - purchaseDto.setStatus(Constants.PURCHASE_NO_PASSED); - result = mapper.updateTask(purchaseDto); + result += bpmTaskMapper.updateStatusById(Constants.PURCHASE_NO_PASSED, id); } } if (result > 0) { diff --git a/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/service/impl/BpmPurchaseInfoService.java b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/service/impl/BpmPurchaseInfoService.java index f9c1a07..e88b8f6 100644 --- a/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/service/impl/BpmPurchaseInfoService.java +++ b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/service/impl/BpmPurchaseInfoService.java @@ -221,7 +221,7 @@ public class BpmPurchaseInfoService{ return bpmPurchaseInfoMapper.updateIsActiveById(id); } - public int updateStatusByIdIn(Byte updatedStatus,Integer id){ + public int updateStatusByIdIn(Integer updatedStatus,Integer id){ return bpmPurchaseInfoMapper.updateStatusById(updatedStatus,id); } diff --git a/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/vo/PurchaseAcceptVo.java b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/vo/PurchaseAcceptVo.java index 2335c5f..291d554 100644 --- a/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/vo/PurchaseAcceptVo.java +++ b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/vo/PurchaseAcceptVo.java @@ -60,8 +60,7 @@ public class PurchaseAcceptVo { private Integer notaxPrice; @ApiModelProperty(value="税率") - @Excel(name = "税率") - private Integer taxRate; + private String taxRate; @ApiModelProperty(value="操作人") @Excel(name = "操作人") @@ -81,4 +80,11 @@ public class PurchaseAcceptVo { @ApiModelProperty(value="备注") @Excel(name = "备注") private String remark; + + @ApiModelProperty(value = "二级明细id") + private String purchaseId; + + @ApiModelProperty(value = "管理类型0是编码1计数") + private String manageType; + } diff --git a/bonus-modules/bonus-task/src/main/resources/mapper/BpmPurchaseAcceptMapper.xml b/bonus-modules/bonus-task/src/main/resources/mapper/BpmPurchaseAcceptMapper.xml index 667c797..bd09c68 100644 --- a/bonus-modules/bonus-task/src/main/resources/mapper/BpmPurchaseAcceptMapper.xml +++ b/bonus-modules/bonus-task/src/main/resources/mapper/BpmPurchaseAcceptMapper.xml @@ -3,25 +3,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - - UPDATE bpm_task bt - SET bt.`status` = #{purchaseDto.status} - WHERE - bt.task_id IN - - #{taskId} - - - - UPDATE bpm_purchase_info bp - SET bp.`status` = #{status} - WHERE - bp.id IN - - #{purchaseId} - - UPDATE bpm_purchase_info bp SET bp.check_num = #{purchaseNum} @@ -38,7 +20,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" SUM( bp.purchase_num ) AS purchaseNum, SUM( bp.purchase_price ) AS purchasePrice, SUM( bp.notax_price ) AS notaxPrice, - CONCAT(bp.tax_rate, '%') AS taxRate, su.nick_name AS createBy, bt.create_time AS createTime, bt.`status` AS STATUS, @@ -78,11 +59,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" bp.id AS purchaseId, mt1.`name` AS materialName, mt.`name` AS materialModel, + mt.manage_type AS manageType, sda.dict_label AS unitName, bp.purchase_price AS purchasePrice, bp.notax_price AS notaxPrice, bp.purchase_num AS purchaseNum, bs.`name` AS supplierName, + CONCAT(bp.tax_rate, '%') AS taxRate, bp.product_date AS productDate, bp.`status` AS STATUS, sda1.dict_label AS statusName @@ -97,10 +80,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" WHERE bp.is_active = '1' - AND ( - mt1.id = #{typeId} - OR mt.id = #{typeId} - ) + AND mt.id = #{typeId} AND bs.id = #{supplierId} From 94a00eae2c1ee3be8b46f69e7540af12ec69a269 Mon Sep 17 00:00:00 2001 From: syruan <321359594@qq.com> Date: Thu, 22 Aug 2024 16:19:02 +0800 Subject: [PATCH 06/10] =?UTF-8?q?=E9=80=9A=E7=9F=A5=E6=A8=A1=E5=9D=97?= =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/BpmNoticeUserController.java | 25 +++++++++--- .../com/bonus/purchase/dto/NoticeDto.java | 31 ++++++++++++++ .../mapper/BpmPurchaseInfoMapper.java | 9 ++++- .../service/impl/BpmNoticeUserService.java | 40 +++++++++++++++---- .../com/bonus/purchase/utils/Constants.java | 1 - .../resources/mapper/BpmNoticeUserMapper.xml | 12 +++++- 6 files changed, 102 insertions(+), 16 deletions(-) create mode 100644 bonus-modules/bonus-task/src/main/java/com/bonus/purchase/dto/NoticeDto.java diff --git a/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/controller/BpmNoticeUserController.java b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/controller/BpmNoticeUserController.java index fc599fe..add6dd0 100644 --- a/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/controller/BpmNoticeUserController.java +++ b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/controller/BpmNoticeUserController.java @@ -3,7 +3,9 @@ import com.bonus.common.core.domain.ResultBean; import com.bonus.common.core.web.controller.BaseController; import com.bonus.common.core.web.page.TableDataInfo; import com.bonus.purchase.domain.BpmNoticeUser; +import com.bonus.purchase.dto.NoticeDto; import com.bonus.purchase.service.impl.BpmNoticeUserService; +import com.bonus.task.service.BpmTaskService; import org.apache.poi.ss.formula.functions.T; import org.springframework.web.bind.annotation.*; import org.springframework.beans.factory.annotation.Autowired; @@ -14,11 +16,11 @@ import java.util.List; /** * 短信人员(bpm_notice_user)表控制层 -* 新购到货通知业务 +* 新购到货通知 * @author 阮世耀 */ @RestController -@RequestMapping("/notice") +@RequestMapping("/purchase/notice") public class BpmNoticeUserController extends BaseController { /** @@ -27,6 +29,9 @@ public class BpmNoticeUserController extends BaseController { @Autowired private BpmNoticeUserService bpmNoticeUserService; + @Autowired + private BpmTaskService bpmTaskService; + /** * 分页查询数据 @@ -38,13 +43,23 @@ public class BpmNoticeUserController extends BaseController { return getDataTable(list); } + /** + * 通知--发起验收 + */ + @PostMapping(value = "/startAccept") + public ResultBean startAccept(@RequestBody @Valid NoticeDto noticeDto) { + this.bpmNoticeUserService.startAccept(noticeDto); + return ResultBean.success(true); + } + /** * 根据任务ID查询数据 */ - @GetMapping(value = "/listByTaskId/{taskId}") - public ResultBean getListByTaskId(@PathVariable("taskId") Integer taskId) { + @GetMapping(value = "/getUserList/{taskId}") + public TableDataInfo getListByTaskId(@PathVariable("taskId") Integer taskId) { + startPage(); List list = this.bpmNoticeUserService.selectByTaskId(taskId); - return ResultBean.success(list); + return getDataTable(list); } diff --git a/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/dto/NoticeDto.java b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/dto/NoticeDto.java new file mode 100644 index 0000000..a96cfcd --- /dev/null +++ b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/dto/NoticeDto.java @@ -0,0 +1,31 @@ +package com.bonus.purchase.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotEmpty; + +/** + * @author : 阮世耀 + * @version : 1.0 + * @PackagePath: com.bonus.purchase.dto + * @CreateTime: 2024-08-22 15:49 + * @Description: 通知DTO + */ +@Data +public class NoticeDto { + + @ApiModelProperty(value = "任务ID") + @NotEmpty(message = "任务ID不能为空") + private Integer taskId; + + @ApiModelProperty(value = "类型") + private String type; + + @ApiModelProperty(value = "用户ID数组") + private Integer[] userIdArray; + + @ApiModelProperty(value = "手机号数组") + @NotEmpty(message = "手机号数组不能为空") + private String[] phoneArray; +} diff --git a/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/mapper/BpmPurchaseInfoMapper.java b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/mapper/BpmPurchaseInfoMapper.java index 9cc7599..30e06f5 100644 --- a/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/mapper/BpmPurchaseInfoMapper.java +++ b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/mapper/BpmPurchaseInfoMapper.java @@ -47,6 +47,14 @@ public interface BpmPurchaseInfoMapper { */ List getDetailsList(PurchaseDto record); + /** + * 查询---根据任务ID详情设备列表 + * + * @param taskId 任务id + * @return 详情列表 + */ + List getDetailsList(Integer taskId); + /** * 根据ID查询领用明细 @@ -109,7 +117,6 @@ public interface BpmPurchaseInfoMapper { int updateStatusByTaskIdIn(@Param("updatedStatus") Integer updatedStatus,@Param("taskIdCollection")Collection taskIdCollection); - /** * update record * @param record the updated record diff --git a/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/service/impl/BpmNoticeUserService.java b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/service/impl/BpmNoticeUserService.java index 701848c..660247b 100644 --- a/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/service/impl/BpmNoticeUserService.java +++ b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/service/impl/BpmNoticeUserService.java @@ -1,8 +1,12 @@ package com.bonus.purchase.service.impl; import java.util.List; +import com.bonus.common.core.utils.sms.SmsUtils; import com.bonus.purchase.domain.BpmNoticeUser; +import com.bonus.purchase.dto.NoticeDto; import com.bonus.purchase.mapper.BpmNoticeUserMapper; +import com.bonus.purchase.mapper.BpmPurchaseInfoMapper; +import com.bonus.purchase.vo.PurchaseAcceptVo; import org.springframework.stereotype.Service; import org.springframework.beans.factory.annotation.Autowired; @@ -20,6 +24,29 @@ public class BpmNoticeUserService{ @Autowired private BpmNoticeUserMapper bpmNoticeUserMapper; + @Autowired + private BpmPurchaseInfoMapper bpmPurchaseInfoMapper; + + /** + * 发起验收 + */ + public int startAccept(NoticeDto noticeDto) { + // 1. 拿到DTO中所有的手机号码 + String[] phoneArray = noticeDto.getPhoneArray(); + // 2. 根据任务ID查待验收机具信息 + List deviceArray = bpmPurchaseInfoMapper.getDetailsList(noticeDto.getTaskId()); + // 3. 组装短信发送内容 + StringBuilder content = new StringBuilder("【机具系统】各位同事您好,机具验收任务已发起,请及时进行机具验收。验收内容如下:"); + for (PurchaseAcceptVo device : deviceArray) { + content.append("机具类型:").append(device.getMaterialName()).append(",机具规格:").append(device.getMaterialModel()); + } + // 4. 遍历数组,调用短信发送业务 + for (String phone : phoneArray) { + // 3. 发送短信 + SmsUtils.smsToken(phone, content.toString(),""); + } + return 1; + } public int deleteByPrimaryKey(Integer id) { return bpmNoticeUserMapper.deleteByPrimaryKey(id); @@ -27,10 +54,14 @@ public class BpmNoticeUserService{ public int insert(BpmNoticeUser record) { + setDefaultType(record); return bpmNoticeUserMapper.insert(record); } - + private static void setDefaultType(BpmNoticeUser record) { + record.setType("1"); + } + public int insertOrUpdate(BpmNoticeUser record) { return bpmNoticeUserMapper.insertOrUpdate(record); } @@ -42,7 +73,7 @@ public class BpmNoticeUserService{ public int insertSelective(BpmNoticeUser record) { - record.setType("1"); + setDefaultType(record); return bpmNoticeUserMapper.insertSelective(record); } @@ -71,9 +102,4 @@ public class BpmNoticeUserService{ - - - - - } diff --git a/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/utils/Constants.java b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/utils/Constants.java index 97d6893..a342d14 100644 --- a/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/utils/Constants.java +++ b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/utils/Constants.java @@ -22,7 +22,6 @@ public class Constants { */ public static final Integer PENDING_CONFIRMATION = 48; - /** * 待通知 */ diff --git a/bonus-modules/bonus-task/src/main/resources/mapper/BpmNoticeUserMapper.xml b/bonus-modules/bonus-task/src/main/resources/mapper/BpmNoticeUserMapper.xml index 3006a02..26a0f70 100644 --- a/bonus-modules/bonus-task/src/main/resources/mapper/BpmNoticeUserMapper.xml +++ b/bonus-modules/bonus-task/src/main/resources/mapper/BpmNoticeUserMapper.xml @@ -2,18 +2,21 @@ - + + + bpm_notice_user.id, bpm_notice_user.user_id, bpm_notice_user.task_id, bpm_notice_user.phone, bpm_notice_user.`type` + select - + , + sys_user.user_name, + sys_role.role_name as user_role from bpm_notice_user + left join sys_user on bpm_notice_user.user_id = sys_user.user_id + left join sys_user_role on sys_user.user_id = sys_user_role.user_id + left join sys_role on sys_user_role.role_id = sys_role.role_id where bpm_notice_user.task_id = #{taskId,jdbcType=INTEGER} \ No newline at end of file From c360dec43103baa6e52c7608795a92717efa2265 Mon Sep 17 00:00:00 2001 From: syruan <321359594@qq.com> Date: Thu, 22 Aug 2024 17:09:41 +0800 Subject: [PATCH 07/10] =?UTF-8?q?=E6=96=B0=E8=B4=AD=E5=8F=91=E8=B5=B7?= =?UTF-8?q?=E9=AA=8C=E6=94=B6=E6=8E=A5=E5=8F=A3=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bonus/common/core/domain/ResultBean.java | 26 ++++++++++++++-- .../controller/BpmNoticeUserController.java | 5 ++-- .../service/impl/BpmNoticeUserService.java | 30 ++++++++++++++----- 3 files changed, 48 insertions(+), 13 deletions(-) diff --git a/bonus-common/bonus-common-core/src/main/java/com/bonus/common/core/domain/ResultBean.java b/bonus-common/bonus-common-core/src/main/java/com/bonus/common/core/domain/ResultBean.java index d17fbd6..8127ff9 100644 --- a/bonus-common/bonus-common-core/src/main/java/com/bonus/common/core/domain/ResultBean.java +++ b/bonus-common/bonus-common-core/src/main/java/com/bonus/common/core/domain/ResultBean.java @@ -3,6 +3,7 @@ package com.bonus.common.core.domain; import com.bonus.common.core.constant.HttpStatus; import lombok.Getter; import lombok.RequiredArgsConstructor; +import org.apache.poi.ss.formula.functions.T; /** * @author : 阮世耀 @@ -71,15 +72,34 @@ public final class ResultBean implements java.io.Serializable{ /** * 删除/修改/新增操作 根据影响条数返回响应内容 * + * @param msg 消息 + * @return 构建的ResultBean实例 + */ + public static ResultBean toIsSuccess(int record, String msg) { + // 检查msg是否为null + if (msg == null) { + if (record > 0) { + return new ResultBean<>(HttpStatus.SUCCESS, "success", null); + } else { + return new ResultBean<>(HttpStatus.NOT_MODIFIED, "资源没有被修改", null); + } + } + return new ResultBean<>(record > 0 ? HttpStatus.SUCCESS : HttpStatus.NOT_MODIFIED, msg, null); + } + + /** + * 删除/修改/新增操作 根据影响条数返回响应内容 + * + * @param msg 消息 * @param data 数据 * @return 构建的ResultBean实例 */ - public static ResultBean toIsSuccess(int record,T data) { + public static ResultBean toIsSuccess(int record, String msg, T data) { // 检查data是否为null if (data == null) { - return new ResultBean<>(record > 0 ? HttpStatus.SUCCESS : HttpStatus.NO_CONTENT, "success", null); + return new ResultBean<>(record > 0 ? HttpStatus.SUCCESS : HttpStatus.NO_CONTENT, msg, null); } - return new ResultBean<>(record > 0 ? HttpStatus.SUCCESS : HttpStatus.NO_CONTENT, "error", data); + return new ResultBean<>(record > 0 ? HttpStatus.SUCCESS : HttpStatus.NOT_MODIFIED, msg, data); } /** diff --git a/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/controller/BpmNoticeUserController.java b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/controller/BpmNoticeUserController.java index add6dd0..f2c5cf9 100644 --- a/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/controller/BpmNoticeUserController.java +++ b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/controller/BpmNoticeUserController.java @@ -47,9 +47,8 @@ public class BpmNoticeUserController extends BaseController { * 通知--发起验收 */ @PostMapping(value = "/startAccept") - public ResultBean startAccept(@RequestBody @Valid NoticeDto noticeDto) { - this.bpmNoticeUserService.startAccept(noticeDto); - return ResultBean.success(true); + public ResultBean startAccept(@RequestBody @Valid NoticeDto noticeDto) { + return this.bpmNoticeUserService.startAccept(noticeDto); } /** diff --git a/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/service/impl/BpmNoticeUserService.java b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/service/impl/BpmNoticeUserService.java index 660247b..dd86cd8 100644 --- a/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/service/impl/BpmNoticeUserService.java +++ b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/service/impl/BpmNoticeUserService.java @@ -1,6 +1,8 @@ package com.bonus.purchase.service.impl; import java.util.List; +import cn.hutool.core.collection.CollectionUtil; +import com.bonus.common.core.domain.ResultBean; import com.bonus.common.core.utils.sms.SmsUtils; import com.bonus.purchase.domain.BpmNoticeUser; import com.bonus.purchase.dto.NoticeDto; @@ -11,6 +13,8 @@ import org.springframework.stereotype.Service; import org.springframework.beans.factory.annotation.Autowired; +import static com.bonus.purchase.utils.Constants.PENDING_ACCEPTANCE; + /** *@PackagePath: com.bonus.purchase *@author : 阮世耀 @@ -30,22 +34,34 @@ public class BpmNoticeUserService{ /** * 发起验收 */ - public int startAccept(NoticeDto noticeDto) { + public ResultBean startAccept(NoticeDto noticeDto) { // 1. 拿到DTO中所有的手机号码 String[] phoneArray = noticeDto.getPhoneArray(); // 2. 根据任务ID查待验收机具信息 List deviceArray = bpmPurchaseInfoMapper.getDetailsList(noticeDto.getTaskId()); + if (CollectionUtil.isEmpty(deviceArray)) { + return ResultBean.error("该任务下没有待验收的机具信息"); + } // 3. 组装短信发送内容 StringBuilder content = new StringBuilder("【机具系统】各位同事您好,机具验收任务已发起,请及时进行机具验收。验收内容如下:"); for (PurchaseAcceptVo device : deviceArray) { - content.append("机具类型:").append(device.getMaterialName()).append(",机具规格:").append(device.getMaterialModel()); + if (device == null || device.getPurchaseNum() == null || device.getPurchaseNum() == 0) { + continue; + } + content.append("机具类型:") + .append(device.getMaterialName()).append(",规格型号:") + .append(device.getMaterialModel()) + .append(",数量:") + .append(Double.valueOf(device.getPurchaseNum()) / 100); } - // 4. 遍历数组,调用短信发送业务 - for (String phone : phoneArray) { - // 3. 发送短信 - SmsUtils.smsToken(phone, content.toString(),""); + // 4. 调用工具类发送短信 + try { + SmsUtils.smsToken(String.join(",", phoneArray), String.valueOf(content),""); + } catch (Exception e) { + System.out.println("新购发起验收短信发送失败:" + e.getMessage()); } - return 1; + // 5. 修改任务状态 + return ResultBean.toIsSuccess(bpmPurchaseInfoMapper.updateStatusByTaskId(PENDING_ACCEPTANCE, noticeDto.getTaskId())); } public int deleteByPrimaryKey(Integer id) { From 7de7a3049a343b115bb0db16794f88415ccd69ba Mon Sep 17 00:00:00 2001 From: wcy <761646706@qq.com> Date: Thu, 22 Aug 2024 17:13:12 +0800 Subject: [PATCH 08/10] =?UTF-8?q?=E6=96=B0=E8=B4=AD=E9=AA=8C=E6=94=B6?= =?UTF-8?q?=E5=85=A5=E5=BA=93=20=E5=85=A5=E5=BA=93=20=E5=85=A5=E5=BA=93?= =?UTF-8?q?=E9=A9=B3=E5=9B=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BpmPurchaseStorageController.java | 44 ++++++++++++++++--- .../mapper/BpmPurchaseStorageMapper.java | 5 +++ .../service/BpmPurchaseStorageService.java | 3 ++ .../service/impl/BpmPurchaseInfoService.java | 25 +++++------ .../impl/BpmPurchaseStorageServiceImpl.java | 13 ++++++ .../mapper/BpmPurchaseAcceptMapper.xml | 2 +- .../mapper/BpmPurchaseStorageMapper.xml | 20 ++++++++- 7 files changed, 88 insertions(+), 24 deletions(-) diff --git a/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/controller/BpmPurchaseStorageController.java b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/controller/BpmPurchaseStorageController.java index d4dc7bf..e6af133 100644 --- a/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/controller/BpmPurchaseStorageController.java +++ b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/controller/BpmPurchaseStorageController.java @@ -1,20 +1,20 @@ package com.bonus.purchase.controller; +import com.bonus.common.core.domain.ResultBean; import com.bonus.common.core.utils.poi.ExcelUtil; import com.bonus.common.core.web.controller.BaseController; import com.bonus.common.core.web.page.TableDataInfo; import com.bonus.purchase.domain.PurchaseStorageDto; import com.bonus.purchase.service.BpmPurchaseStorageService; +import com.bonus.purchase.service.impl.BpmPurchaseInfoService; import com.bonus.purchase.vo.PurchaseVo; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; -import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Positive; import java.util.List; /** @@ -29,6 +29,8 @@ public class BpmPurchaseStorageController extends BaseController { @Autowired private BpmPurchaseStorageService purchaseStorageService; + @Autowired + private BpmPurchaseInfoService bpmPurchaseInfoService; /** * 一级分页查询 @@ -40,9 +42,37 @@ public class BpmPurchaseStorageController extends BaseController { return getDataTable(list); } + /* + * 查看功能 + * */ + @GetMapping("{id}") + public ResultBean queryById(@PathVariable("id") @NotNull(message = "ID不能为空") + @Positive(message = "ID必须为正整数") Integer id) { + return ResultBean.success(this.purchaseStorageService.selectByPrimaryKey(id)); + } + + + /* + * 入库 + * */ + @PostMapping(value = "") + public int warehouse(PurchaseStorageDto purchaseStorageDto) { + bpmPurchaseInfoService.updateStatusByIdIn(Integer.valueOf(purchaseStorageDto.getStatus()),purchaseStorageDto.getId()); + PurchaseStorageDto purchaseStorageDto1 = purchaseStorageService.selectByPrimaryKey(purchaseStorageDto.getId()); + if (purchaseStorageDto1.getId() == null){ + throw new RuntimeException("未找到对应的数据"); + } + return purchaseStorageService.insertWarehouse(purchaseStorageDto1); + } + /* + * 入库驳回 + * */ + @PutMapping(value = "reject") + public int reject(PurchaseStorageDto purchaseStorageDto) { + return bpmPurchaseInfoService.updateStatusByIdIn(Integer.valueOf(purchaseStorageDto.getStatus()),purchaseStorageDto.getId()); + } /** - * 查看验收单详情 - * + * 明细 * @param * @return */ diff --git a/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/mapper/BpmPurchaseStorageMapper.java b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/mapper/BpmPurchaseStorageMapper.java index 3f0618f..606bfee 100644 --- a/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/mapper/BpmPurchaseStorageMapper.java +++ b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/mapper/BpmPurchaseStorageMapper.java @@ -10,5 +10,10 @@ public interface BpmPurchaseStorageMapper { List selectAll(PurchaseStorageDto purchaseStorageDto); List getDetails(PurchaseStorageDto purchaseStorageDto); + + PurchaseStorageDto selectByPrimaryKey(Integer id); + + + int insertWarehouse(PurchaseStorageDto purchaseStorageDto); } diff --git a/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/service/BpmPurchaseStorageService.java b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/service/BpmPurchaseStorageService.java index b340ee2..8abf49f 100644 --- a/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/service/BpmPurchaseStorageService.java +++ b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/service/BpmPurchaseStorageService.java @@ -26,5 +26,8 @@ public interface BpmPurchaseStorageService { List getDetails(PurchaseStorageDto purchaseStorageDto); + PurchaseStorageDto selectByPrimaryKey(Integer id); + + int insertWarehouse(PurchaseStorageDto purchaseStorageDto); } diff --git a/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/service/impl/BpmPurchaseInfoService.java b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/service/impl/BpmPurchaseInfoService.java index e88b8f6..2b86b64 100644 --- a/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/service/impl/BpmPurchaseInfoService.java +++ b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/service/impl/BpmPurchaseInfoService.java @@ -1,25 +1,22 @@ package com.bonus.purchase.service.impl; -import java.util.List; -import java.util.*; import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.util.RandomUtil; import com.bonus.base.api.domain.MaType; import com.bonus.common.core.utils.DateTimeHelper; import com.bonus.common.core.utils.StringHelper; import com.bonus.common.security.utils.SecurityUtils; +import com.bonus.purchase.domain.BpmPurchaseInfo; import com.bonus.purchase.dto.PurchaseDto; +import com.bonus.purchase.dto.PurchaseTaskDto; +import com.bonus.purchase.mapper.BpmPurchaseInfoMapper; import com.bonus.purchase.vo.PurchaseAcceptVo; import com.bonus.purchase.vo.PurchaseVo; import com.bonus.task.domain.BpmTask; -import com.bonus.purchase.dto.PurchaseTaskDto; -import com.bonus.purchase.mapper.BpmPurchaseInfoMapper; import com.bonus.task.mapper.BpmTaskMapper; import org.springframework.stereotype.Service; -import com.bonus.purchase.domain.BpmPurchaseInfo; - import javax.annotation.Resource; +import java.util.*; import static com.bonus.purchase.utils.Constants.PENDING_SUBMISSION; import static com.bonus.purchase.utils.Constants.PENDING_SUBMISSION_BYTE; @@ -44,37 +41,37 @@ public class BpmPurchaseInfoService{ return bpmPurchaseInfoMapper.deleteByPrimaryKey(id); } - + public int insert(BpmPurchaseInfo record) { return bpmPurchaseInfoMapper.insert(record); } - + public int insertOrUpdate(BpmPurchaseInfo record) { return bpmPurchaseInfoMapper.insertOrUpdate(record); } - + public int insertOrUpdateSelective(BpmPurchaseInfo record) { return bpmPurchaseInfoMapper.insertOrUpdateSelective(record); } - + public int insertSelective(BpmPurchaseInfo record) { return bpmPurchaseInfoMapper.insertSelective(record); } - + public BpmPurchaseInfo selectByPrimaryKey(Integer id) { return bpmPurchaseInfoMapper.selectByPrimaryKey(id); } - + public int updateByPrimaryKeySelective(BpmPurchaseInfo record) { return bpmPurchaseInfoMapper.updateByPrimaryKeySelective(record); } - + public int updateByPrimaryKey(BpmPurchaseInfo record) { return bpmPurchaseInfoMapper.updateByPrimaryKey(record); } diff --git a/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/service/impl/BpmPurchaseStorageServiceImpl.java b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/service/impl/BpmPurchaseStorageServiceImpl.java index b7e7c44..14cd693 100644 --- a/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/service/impl/BpmPurchaseStorageServiceImpl.java +++ b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/service/impl/BpmPurchaseStorageServiceImpl.java @@ -26,4 +26,17 @@ public class BpmPurchaseStorageServiceImpl implements BpmPurchaseStorageService return bpmPurchaseStorageMapper.getDetails(purchaseStorageDto); } + @Override + public PurchaseStorageDto selectByPrimaryKey(Integer id) { + return bpmPurchaseStorageMapper.selectByPrimaryKey(id); + } + + @Override + public int insertWarehouse(PurchaseStorageDto purchaseStorageDto) { + + return bpmPurchaseStorageMapper.insertWarehouse(purchaseStorageDto); + } + + + } diff --git a/bonus-modules/bonus-task/src/main/resources/mapper/BpmPurchaseAcceptMapper.xml b/bonus-modules/bonus-task/src/main/resources/mapper/BpmPurchaseAcceptMapper.xml index bd09c68..0a1984d 100644 --- a/bonus-modules/bonus-task/src/main/resources/mapper/BpmPurchaseAcceptMapper.xml +++ b/bonus-modules/bonus-task/src/main/resources/mapper/BpmPurchaseAcceptMapper.xml @@ -114,4 +114,4 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - \ No newline at end of file + diff --git a/bonus-modules/bonus-task/src/main/resources/mapper/BpmPurchaseStorageMapper.xml b/bonus-modules/bonus-task/src/main/resources/mapper/BpmPurchaseStorageMapper.xml index 3b6af0c..60103da 100644 --- a/bonus-modules/bonus-task/src/main/resources/mapper/BpmPurchaseStorageMapper.xml +++ b/bonus-modules/bonus-task/src/main/resources/mapper/BpmPurchaseStorageMapper.xml @@ -1,6 +1,14 @@ + + INSERT INTO bpm_input_record( + id,task_id,type_id,ma_id,manage_type,creator,create_time,status,input_num,input_type + )VALUES + ( + #{id},#{taskId},#{typeId},#{maId},#{manageType},#{creator},#{createTime},#{status},#{inputNum},#{inputType} + ) + + From 8df9efcdbedb2cbf49c2d1e6cbc740efa97bdf35 Mon Sep 17 00:00:00 2001 From: mashuai Date: Thu, 22 Aug 2024 17:57:11 +0800 Subject: [PATCH 09/10] =?UTF-8?q?=E7=8A=B6=E6=80=81=E5=8F=98=E6=9B=B4?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/BpmNoticeUserController.java | 15 ++++++++++--- .../bonus/purchase/domain/BpmNoticeUser.java | 3 +++ .../com/bonus/purchase/dto/NoticeDto.java | 3 ++- .../purchase/mapper/BpmNoticeUserMapper.java | 5 +++++ .../service/impl/BpmNoticeUserService.java | 11 +++++++--- .../resources/mapper/BpmNoticeUserMapper.xml | 21 ++++++++++++++++++- 6 files changed, 50 insertions(+), 8 deletions(-) diff --git a/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/controller/BpmNoticeUserController.java b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/controller/BpmNoticeUserController.java index f2c5cf9..e154d09 100644 --- a/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/controller/BpmNoticeUserController.java +++ b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/controller/BpmNoticeUserController.java @@ -6,7 +6,6 @@ import com.bonus.purchase.domain.BpmNoticeUser; import com.bonus.purchase.dto.NoticeDto; import com.bonus.purchase.service.impl.BpmNoticeUserService; import com.bonus.task.service.BpmTaskService; -import org.apache.poi.ss.formula.functions.T; import org.springframework.web.bind.annotation.*; import org.springframework.beans.factory.annotation.Autowired; @@ -54,13 +53,23 @@ public class BpmNoticeUserController extends BaseController { /** * 根据任务ID查询数据 */ - @GetMapping(value = "/getUserList/{taskId}") - public TableDataInfo getListByTaskId(@PathVariable("taskId") Integer taskId) { + @GetMapping(value = "/getUserList") + public TableDataInfo getListByTaskId(@RequestParam("taskId") Integer taskId) { startPage(); List list = this.bpmNoticeUserService.selectByTaskId(taskId); return getDataTable(list); } + /** + * 获取所有用户人员信息表 + */ + @GetMapping(value = "/getAllUser") + public TableDataInfo getAllUser() { + startPage(); + List list = this.bpmNoticeUserService.getAllUser(); + return getDataTable(list); + } + /** * 通过主键查询单条数据 diff --git a/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/domain/BpmNoticeUser.java b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/domain/BpmNoticeUser.java index b7d239a..0a921b4 100644 --- a/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/domain/BpmNoticeUser.java +++ b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/domain/BpmNoticeUser.java @@ -31,6 +31,9 @@ public class BpmNoticeUser implements Serializable { @ApiModelProperty(value="用户角色") private String userRole; + @ApiModelProperty(value="所属机构") + private String deptName; + /** * 任务ID */ diff --git a/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/dto/NoticeDto.java b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/dto/NoticeDto.java index a96cfcd..770f4de 100644 --- a/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/dto/NoticeDto.java +++ b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/dto/NoticeDto.java @@ -4,6 +4,7 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; /** * @author : 阮世耀 @@ -16,7 +17,7 @@ import javax.validation.constraints.NotEmpty; public class NoticeDto { @ApiModelProperty(value = "任务ID") - @NotEmpty(message = "任务ID不能为空") + @NotNull(message = "任务ID不能为空") private Integer taskId; @ApiModelProperty(value = "类型") diff --git a/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/mapper/BpmNoticeUserMapper.java b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/mapper/BpmNoticeUserMapper.java index cbc3aa7..a7e355d 100644 --- a/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/mapper/BpmNoticeUserMapper.java +++ b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/mapper/BpmNoticeUserMapper.java @@ -64,5 +64,10 @@ public interface BpmNoticeUserMapper { List selectByTaskId(@Param("taskId")Integer taskId); + /** + * 获取所有用户人员信息表 + * @return + */ + List getAllUser(); } \ No newline at end of file diff --git a/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/service/impl/BpmNoticeUserService.java b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/service/impl/BpmNoticeUserService.java index dd86cd8..95b7b8e 100644 --- a/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/service/impl/BpmNoticeUserService.java +++ b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/service/impl/BpmNoticeUserService.java @@ -52,7 +52,7 @@ public class BpmNoticeUserService{ .append(device.getMaterialName()).append(",规格型号:") .append(device.getMaterialModel()) .append(",数量:") - .append(Double.valueOf(device.getPurchaseNum()) / 100); + .append(Double.valueOf(device.getPurchaseNum()) / 1000); } // 4. 调用工具类发送短信 try { @@ -116,6 +116,11 @@ public class BpmNoticeUserService{ } - - + /** + * 获取所有用户人员信息表 + * @return + */ + public List getAllUser() { + return bpmNoticeUserMapper.getAllUser(); + } } diff --git a/bonus-modules/bonus-task/src/main/resources/mapper/BpmNoticeUserMapper.xml b/bonus-modules/bonus-task/src/main/resources/mapper/BpmNoticeUserMapper.xml index 26a0f70..6f4562f 100644 --- a/bonus-modules/bonus-task/src/main/resources/mapper/BpmNoticeUserMapper.xml +++ b/bonus-modules/bonus-task/src/main/resources/mapper/BpmNoticeUserMapper.xml @@ -199,11 +199,30 @@ select , sys_user.user_name, - sys_role.role_name as user_role + sys_role.role_name as user_role, + CONCAT(sd2.dept_name,'/',sd1.dept_name,'/',sd.dept_name) as deptName from bpm_notice_user left join sys_user on bpm_notice_user.user_id = sys_user.user_id left join sys_user_role on sys_user.user_id = sys_user_role.user_id left join sys_role on sys_user_role.role_id = sys_role.role_id + LEFT JOIN sys_dept sd on sys_user.dept_id = sd.dept_id + LEFT JOIN sys_dept sd1 on sd.parent_id = sd1.dept_id + LEFT JOIN sys_dept sd2 on sd1.parent_id = sd2.dept_id where bpm_notice_user.task_id = #{taskId,jdbcType=INTEGER} + \ No newline at end of file From 6b6c2f6daaaca900c6e9718fa49822531ae98524 Mon Sep 17 00:00:00 2001 From: mashuai Date: Fri, 23 Aug 2024 10:14:28 +0800 Subject: [PATCH 10/10] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/bonus/base/api/domain/MaType.java | 2 +- .../purchase/service/impl/BpmPurchaseAcceptServiceImpl.java | 3 ++- .../src/main/resources/mapper/BpmPurchaseAcceptMapper.xml | 4 ++-- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/bonus-api/bonus-api-system/src/main/java/com/bonus/base/api/domain/MaType.java b/bonus-api/bonus-api-system/src/main/java/com/bonus/base/api/domain/MaType.java index 6d5af26..0868b76 100644 --- a/bonus-api/bonus-api-system/src/main/java/com/bonus/base/api/domain/MaType.java +++ b/bonus-api/bonus-api-system/src/main/java/com/bonus/base/api/domain/MaType.java @@ -72,7 +72,7 @@ public class MaType extends BaseEntity implements Serializable { */ private Integer leasePrice; /** - * 管理类型(0是编码 1数量和编码 2数量) + * 管理类型(0是编码 1数量) */ private String manageType; /** diff --git a/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/service/impl/BpmPurchaseAcceptServiceImpl.java b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/service/impl/BpmPurchaseAcceptServiceImpl.java index 5f58144..7463542 100644 --- a/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/service/impl/BpmPurchaseAcceptServiceImpl.java +++ b/bonus-modules/bonus-task/src/main/java/com/bonus/purchase/service/impl/BpmPurchaseAcceptServiceImpl.java @@ -66,10 +66,11 @@ public class BpmPurchaseAcceptServiceImpl implements BpmPurchaseAcceptService { //只有任务状态为待验收时,方可批量验收合格 if (purchaseDto.getId() != null) { String[] split = purchaseDto.getId().split(","); - ArrayList taskIdList = new ArrayList<>(); + List taskIdList = new ArrayList<>(); for (int i = 0; i < split.length; i++) { taskIdList.add(Integer.parseInt(split[i])); } + purchaseDto.setTaskIds(taskIdList); List statusList = mapper.selectStatus(purchaseDto); if (CollectionUtils.isNotEmpty(statusList)) { for (Integer status : statusList) { diff --git a/bonus-modules/bonus-task/src/main/resources/mapper/BpmPurchaseAcceptMapper.xml b/bonus-modules/bonus-task/src/main/resources/mapper/BpmPurchaseAcceptMapper.xml index 0a1984d..16b0836 100644 --- a/bonus-modules/bonus-task/src/main/resources/mapper/BpmPurchaseAcceptMapper.xml +++ b/bonus-modules/bonus-task/src/main/resources/mapper/BpmPurchaseAcceptMapper.xml @@ -97,7 +97,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" select task_id as id, status as status - from bpm_purchase_info bp + from bpm_purchase_info where id in #{taskId}