diff --git a/bonus-common-biz/pom.xml b/bonus-common-biz/pom.xml index 30315ab2..2a557ec6 100644 --- a/bonus-common-biz/pom.xml +++ b/bonus-common-biz/pom.xml @@ -5,7 +5,7 @@ com.bonus bonus - 24.10.0-SNAPSHOT + 24.11.0-SNAPSHOT 4.0.0 diff --git a/bonus-modules/bonus-material-screen/pom.xml b/bonus-modules/bonus-material-screen/pom.xml index 8d29e979..2f05b800 100644 --- a/bonus-modules/bonus-material-screen/pom.xml +++ b/bonus-modules/bonus-material-screen/pom.xml @@ -5,7 +5,7 @@ com.bonus bonus-modules - 24.10.0-SNAPSHOT + 24.11.0-SNAPSHOT 4.0.0 diff --git a/bonus-modules/bonus-material/pom.xml b/bonus-modules/bonus-material/pom.xml index 7b41cdb9..3e73b1cc 100644 --- a/bonus-modules/bonus-material/pom.xml +++ b/bonus-modules/bonus-material/pom.xml @@ -5,7 +5,7 @@ com.bonus bonus-modules - 24.10.0-SNAPSHOT + 24.11.0-SNAPSHOT 4.0.0 @@ -97,7 +97,7 @@ com.bonus bonus-common-biz - 24.10.0-SNAPSHOT + 24.11.0-SNAPSHOT compile diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/BmConfigMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/BmConfigMapper.java index 067fb38b..593fc8cf 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/BmConfigMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/BmConfigMapper.java @@ -66,4 +66,6 @@ public interface BmConfigMapper * @return 结果 */ public int deleteBmConfigByIds(Long[] ids); + + public int deleteBmConfigByName(String itemName); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmConfigServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmConfigServiceImpl.java index 714337f6..80f0f158 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmConfigServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/BmConfigServiceImpl.java @@ -72,6 +72,7 @@ public class BmConfigServiceImpl implements IBmConfigService public int insertBmConfig(BmConfig bmConfig) { bmConfig.setCreateTime(DateUtils.getNowDate()); + bmConfigMapper.deleteBmConfigByName(bmConfig.getItemName()); return bmConfigMapper.insertBmConfig(bmConfig); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/controller/MachineController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/controller/MachineController.java index 02bf727a..916706d9 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/controller/MachineController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/controller/MachineController.java @@ -57,7 +57,7 @@ public class MachineController extends BaseController { * 查询机具设备管理列表 */ @ApiOperation(value = "查询机具设备管理列表") - @RequiresPermissions("ma:machine:typeList") + //@RequiresPermissions("ma:machine:typeList") @GetMapping("/getTypeList") public AjaxResult list(Type type) { 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 83687b5c..92fd8bdb 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 @@ -35,28 +35,28 @@ public class PurchaseBindController extends BaseController { /** * 一级分页查询 */ - @ApiOperation(value = "查询新购验收绑定详细列表") - @RequiresPermissions("purchase:bind:list") - @GetMapping(value = "/list") - public TableDataInfo getList(PurchaseDto dto) { - startPage(); - List list = purchaseBindService.selectAll(dto); - return getDataTable(list); - } +// @ApiOperation(value = "查询新购验收绑定详细列表") +// @RequiresPermissions("purchase:bind:list") +// @GetMapping(value = "/list") +// public TableDataInfo getList(PurchaseDto dto) { +// startPage(); +// List list = purchaseBindService.selectAll(dto); +// return getDataTable(list); +// } /** * 获取新购绑定二级明细列表 * @param * @return */ - @ApiOperation(value = "获取新购绑定二级明细列表") - @RequiresPermissions("purchase:bind:details") - @GetMapping("/details") - public TableDataInfo getDetails(PurchaseDto dto) { - startPage(); - List list = purchaseBindService.getDetails(dto); - return getDataTable(list); - } +// @ApiOperation(value = "获取新购绑定二级明细列表") +// @RequiresPermissions("purchase:bind:query") +// @GetMapping("/details") +// public TableDataInfo getDetails(PurchaseDto dto) { +// startPage(); +// List list = purchaseBindService.getDetails(dto); +// return getDataTable(list); +// } /** * 绑定 diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/controller/PurchaseCheckDetailsController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/controller/PurchaseCheckDetailsController.java index 5152bf8f..94ce4e5d 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/controller/PurchaseCheckDetailsController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/controller/PurchaseCheckDetailsController.java @@ -1,138 +1,138 @@ -package com.bonus.material.purchase.controller; - -import java.util.List; -import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; -import javax.validation.Valid; -import javax.validation.constraints.NotNull; - -import com.bonus.common.log.enums.OperaType; -import com.bonus.material.common.annotation.PreventRepeatSubmit; -import com.bonus.material.purchase.domain.dto.PurchaseCheckFileDto; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.springframework.web.bind.annotation.*; -import com.bonus.common.log.annotation.SysLog; -import com.bonus.common.security.annotation.RequiresPermissions; -import com.bonus.material.purchase.domain.PurchaseCheckDetails; -import com.bonus.material.purchase.service.IPurchaseCheckDetailsService; -import com.bonus.common.core.web.controller.BaseController; -import com.bonus.common.core.web.domain.AjaxResult; -import com.bonus.common.core.utils.poi.ExcelUtil; -import com.bonus.common.core.web.page.TableDataInfo; - -/** - * 新购验收任务详细Controller - * @author syruan - */ -@Api(tags = "新购验收任务详细接口") -@RestController -@RequestMapping("/purchase_check_details") -public class PurchaseCheckDetailsController extends BaseController { - - @Resource - private IPurchaseCheckDetailsService purchaseCheckDetailsService; - - /** - * 查询新购验收任务详细列表 - */ - @ApiOperation(value = "查询新购验收任务详细列表") - @RequiresPermissions("purchase:details:list") - @GetMapping("/list") - public TableDataInfo list(PurchaseCheckDetails purchaseCheckDetails) { - startPage(); - List list = purchaseCheckDetailsService.selectPurchaseCheckDetailsList(purchaseCheckDetails); - return getDataTable(list); - } - - /** - * 导出新购验收任务详细列表 - */ - @ApiOperation(value = "导出新购验收任务详细列表") - @PreventRepeatSubmit - @RequiresPermissions("purchase:details:export") - @SysLog(title = "新购验收任务详细", businessType = OperaType.EXPORT, logType = 1,module = "物资新购->导出新购验收任务详细") - @PostMapping("/export") - public void export(HttpServletResponse response, PurchaseCheckDetails purchaseCheckDetails) { - List list = purchaseCheckDetailsService.selectPurchaseCheckDetailsList(purchaseCheckDetails); - ExcelUtil util = new ExcelUtil(PurchaseCheckDetails.class); - util.exportExcel(response, list, "新购验收任务详细数据"); - } - - /** - * 获取新购验收任务详细详细信息 - */ - @ApiOperation(value = "获取新购验收任务详细详细信息") - @RequiresPermissions("purchase:details:query") - @GetMapping(value = "/{id}") - public AjaxResult getInfo(@PathVariable("id") Long id) { - return success(purchaseCheckDetailsService.selectPurchaseCheckDetailsById(id)); - } - - /** - * 新增新购验收任务详细 - */ - @ApiOperation(value = "新增新购验收任务详细") - @PreventRepeatSubmit - @RequiresPermissions("purchase:details:add") - @SysLog(title = "新购验收任务详细", businessType = OperaType.INSERT, logType = 1,module = "物资新购->新增新购验收任务详细") - @PostMapping - public AjaxResult add(@RequestBody PurchaseCheckDetails purchaseCheckDetails) { - try { - return toAjax(purchaseCheckDetailsService.insertPurchaseCheckDetails(purchaseCheckDetails)); - } catch (Exception e) { - return error("系统错误, " + e.getMessage()); - } - } - - /** - * 修改新购验收任务详细 - */ - @ApiOperation(value = "修改新购验收任务详细") - @PreventRepeatSubmit - @RequiresPermissions("purchase:details:edit") - @SysLog(title = "新购验收任务详细", businessType = OperaType.UPDATE, module = "物资新购->修改新购验收任务详细") - @PutMapping - public AjaxResult edit(@RequestBody PurchaseCheckDetails purchaseCheckDetails) { - try { - return toAjax(purchaseCheckDetailsService.updatePurchaseCheckDetails(purchaseCheckDetails)); - } catch (Exception e) { - return error("系统错误, " + e.getMessage()); - } - } - - /** - * 删除新购验收任务详细 - */ - @ApiOperation(value = "删除新购验收任务详细") - @PreventRepeatSubmit - @RequiresPermissions("purchase:details:remove") - @SysLog(title = "新购验收任务详细", businessType = OperaType.DELETE, logType = 1,module = "物资新购->删除新购验收任务详细") - @DeleteMapping("/{ids}") - public AjaxResult remove(@PathVariable Long[] ids) { - return toAjax(purchaseCheckDetailsService.deletePurchaseCheckDetailsByIds(ids)); - } - - /** - * 根据任务id查询报告附件 - */ - @ApiOperation(value = "根据任务id查询报告附件") - @RequiresPermissions("purchase:details:query") - @GetMapping("/fileList") - @SysLog(title = "新购验收任务明细报告查询", businessType = OperaType.QUERY, module = "物资新购->根据任务id查询物资报告附件") - public AjaxResult getFileList(PurchaseCheckFileDto purchaseCheckFileDto) { - return success(purchaseCheckDetailsService.selectPurchaseCheckFileListByTaskType(purchaseCheckFileDto.getTaskType(), purchaseCheckFileDto.getTypeId())); - } - - - @ApiOperation(value = "上传报告附件") - @PreventRepeatSubmit - @RequiresPermissions("purchase:details:add") - @SysLog(title = "上传报告附件", businessType = OperaType.INSERT, logType = 1,module = "物资新购->上传物资报告附件") - @PostMapping("/uploadFile") - public AjaxResult uploadFile(@RequestBody @NotNull @Valid PurchaseCheckFileDto purchaseCheckFileDto) { - return purchaseCheckDetailsService.insertPurchaseCheckFile(purchaseCheckFileDto); - } - - -} +//package com.bonus.material.purchase.controller; +// +//import java.util.List; +//import javax.annotation.Resource; +//import javax.servlet.http.HttpServletResponse; +//import javax.validation.Valid; +//import javax.validation.constraints.NotNull; +// +//import com.bonus.common.log.enums.OperaType; +//import com.bonus.material.common.annotation.PreventRepeatSubmit; +//import com.bonus.material.purchase.domain.dto.PurchaseCheckFileDto; +//import io.swagger.annotations.Api; +//import io.swagger.annotations.ApiOperation; +//import org.springframework.web.bind.annotation.*; +//import com.bonus.common.log.annotation.SysLog; +//import com.bonus.common.security.annotation.RequiresPermissions; +//import com.bonus.material.purchase.domain.PurchaseCheckDetails; +//import com.bonus.material.purchase.service.IPurchaseCheckDetailsService; +//import com.bonus.common.core.web.controller.BaseController; +//import com.bonus.common.core.web.domain.AjaxResult; +//import com.bonus.common.core.utils.poi.ExcelUtil; +//import com.bonus.common.core.web.page.TableDataInfo; +// +///** +// * 新购验收任务详细Controller +// * @author syruan +// */ +//@Api(tags = "新购验收任务详细接口") +//@RestController +//@RequestMapping("/purchase_check_details") +//public class PurchaseCheckDetailsController extends BaseController { +// +// @Resource +// private IPurchaseCheckDetailsService purchaseCheckDetailsService; +// +// /** +// * 查询新购验收任务详细列表 +// */ +// @ApiOperation(value = "查询新购验收任务详细列表") +// @RequiresPermissions("purchase:details:list") +// @GetMapping("/list") +// public TableDataInfo list(PurchaseCheckDetails purchaseCheckDetails) { +// startPage(); +// List list = purchaseCheckDetailsService.selectPurchaseCheckDetailsList(purchaseCheckDetails); +// return getDataTable(list); +// } +// +// /** +// * 导出新购验收任务详细列表 +// */ +// @ApiOperation(value = "导出新购验收任务详细列表") +// @PreventRepeatSubmit +// @RequiresPermissions("purchase:details:export") +// @SysLog(title = "新购验收任务详细", businessType = OperaType.EXPORT, logType = 1,module = "物资新购->导出新购验收任务详细") +// @PostMapping("/export") +// public void export(HttpServletResponse response, PurchaseCheckDetails purchaseCheckDetails) { +// List list = purchaseCheckDetailsService.selectPurchaseCheckDetailsList(purchaseCheckDetails); +// ExcelUtil util = new ExcelUtil(PurchaseCheckDetails.class); +// util.exportExcel(response, list, "新购验收任务详细数据"); +// } +// +// /** +// * 获取新购验收任务详细详细信息 +// */ +// @ApiOperation(value = "获取新购验收任务详细详细信息") +// @RequiresPermissions("purchase:details:query") +// @GetMapping(value = "/{id}") +// public AjaxResult getInfo(@PathVariable("id") Long id) { +// return success(purchaseCheckDetailsService.selectPurchaseCheckDetailsById(id)); +// } +// +// /** +// * 新增新购验收任务详细 +// */ +// @ApiOperation(value = "新增新购验收任务详细") +// @PreventRepeatSubmit +// @RequiresPermissions("purchase:details:add") +// @SysLog(title = "新购验收任务详细", businessType = OperaType.INSERT, logType = 1,module = "物资新购->新增新购验收任务详细") +// @PostMapping +// public AjaxResult add(@RequestBody PurchaseCheckDetails purchaseCheckDetails) { +// try { +// return toAjax(purchaseCheckDetailsService.insertPurchaseCheckDetails(purchaseCheckDetails)); +// } catch (Exception e) { +// return error("系统错误, " + e.getMessage()); +// } +// } +// +// /** +// * 修改新购验收任务详细 +// */ +// @ApiOperation(value = "修改新购验收任务详细") +// @PreventRepeatSubmit +// @RequiresPermissions("purchase:details:edit") +// @SysLog(title = "新购验收任务详细", businessType = OperaType.UPDATE, module = "物资新购->修改新购验收任务详细") +// @PutMapping +// public AjaxResult edit(@RequestBody PurchaseCheckDetails purchaseCheckDetails) { +// try { +// return toAjax(purchaseCheckDetailsService.updatePurchaseCheckDetails(purchaseCheckDetails)); +// } catch (Exception e) { +// return error("系统错误, " + e.getMessage()); +// } +// } +// +// /** +// * 删除新购验收任务详细 +// */ +// @ApiOperation(value = "删除新购验收任务详细") +// @PreventRepeatSubmit +// @RequiresPermissions("purchase:details:remove") +// @SysLog(title = "新购验收任务详细", businessType = OperaType.DELETE, logType = 1,module = "物资新购->删除新购验收任务详细") +// @DeleteMapping("/{ids}") +// public AjaxResult remove(@PathVariable Long[] ids) { +// return toAjax(purchaseCheckDetailsService.deletePurchaseCheckDetailsByIds(ids)); +// } +// +// /** +// * 根据任务id查询报告附件 +// */ +// @ApiOperation(value = "根据任务id查询报告附件") +// @RequiresPermissions("purchase:details:query") +// @GetMapping("/fileList") +// @SysLog(title = "新购验收任务明细报告查询", businessType = OperaType.QUERY, module = "物资新购->根据任务id查询物资报告附件") +// public AjaxResult getFileList(PurchaseCheckFileDto purchaseCheckFileDto) { +// return success(purchaseCheckDetailsService.selectPurchaseCheckFileListByTaskType(purchaseCheckFileDto.getTaskType(), purchaseCheckFileDto.getTypeId())); +// } +// +// +// @ApiOperation(value = "上传报告附件") +// @PreventRepeatSubmit +// @RequiresPermissions("purchase:details:add") +// @SysLog(title = "上传报告附件", businessType = OperaType.INSERT, logType = 1,module = "物资新购->上传物资报告附件") +// @PostMapping("/uploadFile") +// public AjaxResult uploadFile(@RequestBody @NotNull @Valid PurchaseCheckFileDto purchaseCheckFileDto) { +// return purchaseCheckDetailsService.insertPurchaseCheckFile(purchaseCheckFileDto); +// } +// +// +//} diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/controller/PurchaseCheckInfoController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/controller/PurchaseCheckInfoController.java index eb9ed653..ab1621bc 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/controller/PurchaseCheckInfoController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/controller/PurchaseCheckInfoController.java @@ -4,19 +4,19 @@ import java.util.List; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; -import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; import com.bonus.common.log.enums.OperaType; import com.bonus.material.common.annotation.PreventRepeatSubmit; +import com.bonus.material.purchase.domain.PurchaseCheckDetails; import com.bonus.material.purchase.domain.dto.PurchaseCheckDto; +import com.bonus.material.purchase.domain.dto.PurchaseDto; import com.bonus.material.purchase.domain.dto.PurchaseQueryDto; import com.bonus.material.purchase.domain.vo.PurchaseCheckFormVo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.*; import com.bonus.common.log.annotation.SysLog; -import com.bonus.common.security.annotation.RequiresPermissions; import com.bonus.material.purchase.domain.PurchaseCheckInfo; import com.bonus.material.purchase.service.IPurchaseCheckInfoService; import com.bonus.common.core.web.controller.BaseController; @@ -29,7 +29,7 @@ import com.bonus.common.core.web.page.TableDataInfo; * * @author syruan */ -@Api(tags = "新购验收任务接口") +@Api(tags = "新购管理接口") @RestController @RequestMapping("/purchase_check_info") public class PurchaseCheckInfoController extends BaseController { @@ -41,7 +41,7 @@ public class PurchaseCheckInfoController extends BaseController { * 查询新购验收任务列表 */ @ApiOperation(value = "查询新购验收任务列表") - @RequiresPermissions("purchase:info:list") + //@RequiresPermissions("purchase:info:list") @GetMapping("/list") public TableDataInfo list(PurchaseCheckInfo purchaseCheckInfo) { startPage(); @@ -54,7 +54,7 @@ public class PurchaseCheckInfoController extends BaseController { * 获取新购验收任务详细信息 */ @ApiOperation(value = "获取新购验收任务详细信息") - @RequiresPermissions("purchase:info:query") + //@RequiresPermissions("purchase:info:query") @GetMapping(value = "/getInfo") public AjaxResult getInfo(@NotNull(message = "请求对象不能为空") PurchaseQueryDto purchaseQueryDto) { return success(purchaseCheckInfoService.selectPurchaseCheckInfoById(purchaseQueryDto)); @@ -65,7 +65,7 @@ public class PurchaseCheckInfoController extends BaseController { */ @ApiOperation(value = "新增新购验收任务") @PreventRepeatSubmit - @RequiresPermissions("purchase:info:add") + //@RequiresPermissions("purchase:info:add") @SysLog(title = "新购验收任务", businessType = OperaType.INSERT, module = "物资新购->新增新购验收任务") @PostMapping public AjaxResult add(@Valid @NotNull @RequestBody PurchaseCheckDto purchaseCheckDto) { @@ -81,7 +81,7 @@ public class PurchaseCheckInfoController extends BaseController { */ @ApiOperation(value = "修改新购验收任务") @PreventRepeatSubmit - @RequiresPermissions("purchase:info:edit") + //@RequiresPermissions("purchase:info:edit") @SysLog(title = "新购验收任务", businessType = OperaType.UPDATE, module = "物资新购->修改新购验收任务") @PutMapping public AjaxResult edit(@RequestBody PurchaseCheckDto purchaseCheckDto) { @@ -93,22 +93,35 @@ public class PurchaseCheckInfoController extends BaseController { } /** - * 验收合格API + * 外层批量验收API */ - @ApiOperation(value = "外层批量验收合格API") + @ApiOperation(value = "外层批量验收API") @PreventRepeatSubmit - @RequiresPermissions("purchase:info:edit") - @SysLog(title = "新购验收任务", businessType = OperaType.UPDATE, module = "物资新购->外层批量验收合格API") - @PutMapping("/acceptance") - public AjaxResult acceptance(@RequestBody @NotEmpty(message = "任务id集合不能为空") List taskIds) { - return purchaseCheckInfoService.acceptance(taskIds); + //@RequiresPermissions("purchase:info:edit") + @SysLog(title = "新购验收任务", businessType = OperaType.UPDATE, module = "物资新购->外层批量验收API") + @PutMapping("/outerVerify") + public AjaxResult outerVerify(@RequestBody PurchaseDto purchaseDto) { + return purchaseCheckInfoService.outVerify(purchaseDto); } + /** + * 外层批量验收API + */ + @ApiOperation(value = "内层批量验收API") + @PreventRepeatSubmit + //@RequiresPermissions("purchase:info:edit") + @SysLog(title = "新购验收任务", businessType = OperaType.UPDATE, module = "物资新购->内层批量验收API") + @PutMapping("/innerVerify") + public AjaxResult innerVerify(@RequestBody List purchaseCheckDetailsList) { + return purchaseCheckInfoService.innerVerify(purchaseCheckDetailsList); + } + + /** * 根据任务id查询验收单 */ @ApiOperation(value = "根据任务id查询验收单--taskId") - @RequiresPermissions("purchase:info:query") + //@RequiresPermissions("purchase:info:query") @SysLog(title = "新购验收任务", businessType = OperaType.UPDATE, module = "物资新购->查询验收单API") @GetMapping("/getPurchaseCheckFormByTaskId/{taskId}") public AjaxResult getPurchaseCheckFormByTaskId(@PathVariable("taskId") Long taskId) { @@ -123,7 +136,7 @@ public class PurchaseCheckInfoController extends BaseController { */ @ApiOperation(value = "删除新购验收任务") @PreventRepeatSubmit - @RequiresPermissions("purchase:info:remove") + //@RequiresPermissions("purchase:info:remove") @SysLog(title = "新购验收任务", businessType = OperaType.DELETE, module = "物资新购->删除新购验收任务") @DeleteMapping("/{ids}") public AjaxResult remove(@PathVariable Long[] ids) { @@ -137,7 +150,7 @@ public class PurchaseCheckInfoController extends BaseController { */ @ApiOperation(value = "导出新购验收任务列表") @PreventRepeatSubmit - @RequiresPermissions("purchase:info:export") + //@RequiresPermissions("purchase:info:export") @SysLog(title = "新购验收任务", businessType = OperaType.EXPORT, module = "物资新购->导出新购验收任务") @PostMapping("/export") public void export(HttpServletResponse response, PurchaseCheckInfo purchaseCheckInfo) { @@ -145,4 +158,18 @@ public class PurchaseCheckInfoController extends BaseController { ExcelUtil util = new ExcelUtil(PurchaseCheckInfo.class); util.exportExcel(response, list, "新购验收任务数据"); } + + /** + * 导出新购验收任务详细列表 + */ + @ApiOperation(value = "导出新购验收任务详细列表") + @PreventRepeatSubmit + //@RequiresPermissions("purchase:info:export") + @SysLog(title = "新购验收任务详细", businessType = OperaType.EXPORT, logType = 1,module = "物资新购->导出新购验收任务详细") + @PostMapping("/exportDetails") + public void exportDetails(HttpServletResponse response, PurchaseCheckInfo purchaseCheckInfo) { + List list = purchaseCheckInfoService.selectPurchaseCheckDetailsList(purchaseCheckInfo); + ExcelUtil util = new ExcelUtil(PurchaseCheckDetails.class); + util.exportExcel(response, list, "新购验收任务详细数据"); + } } 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 53f507e2..3f40109a 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 @@ -35,28 +35,28 @@ public class PurchaseStorageController extends BaseController { /** * 一级分页查询 */ - @ApiOperation(value = "查询新购验收入库详细列表") - @RequiresPermissions("purchase:storage:list") - @GetMapping(value = "/list") - public TableDataInfo getList(PurchaseDto dto) { - startPage(); - List list = purchaseStorageService.selectAll(dto); - return getDataTable(list); - } +// @ApiOperation(value = "查询新购验收入库详细列表") +// @RequiresPermissions("purchase:storage:list") +// @GetMapping(value = "/list") +// public TableDataInfo getList(PurchaseDto dto) { +// startPage(); +// List list = purchaseStorageService.selectAll(dto); +// return getDataTable(list); +// } /** * 获取新购入库二级明细列表 * @param * @return */ - @ApiOperation(value = "获取新购入库二级明细列表") - @RequiresPermissions("purchase:storage:details") - @GetMapping("/details") - public TableDataInfo getDetails(PurchaseDto dto) { - startPage(); - List list = purchaseStorageService.getDetails(dto); - return getDataTable(list); - } +// @ApiOperation(value = "获取新购入库二级明细列表") +// @RequiresPermissions("purchase:storage:details") +// @GetMapping("/details") +// public TableDataInfo getDetails(PurchaseDto dto) { +// startPage(); +// List list = purchaseStorageService.getDetails(dto); +// return getDataTable(list); +// } /** * 入库或批量入库 diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/domain/PurchaseCheckDetails.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/domain/PurchaseCheckDetails.java index 0a595f2b..2aa046a9 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/domain/PurchaseCheckDetails.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/domain/PurchaseCheckDetails.java @@ -72,23 +72,24 @@ public class PurchaseCheckDetails extends BaseEntity { private Long bindNum; /** 验收结论 */ - @Excel(name = "验收结论") + //@Excel(name = "验收结论") @ApiModelProperty(value = "验收结论") private String checkResult; /** 物资厂家id */ - @Excel(name = "物资厂家id") + //@Excel(name = "物资厂家id") @ApiModelProperty(value = "物资厂家id") private Long supplierId; /** 物资厂家名称 */ @ApiModelProperty(value = "物资厂家名称") + @Excel(name = "物资厂家名称") private String supplierName; /** 0-未验收,1-已验收,2-待通知,3-验收不通过,4-已入库,5-入库驳回,6-综合服务中心审核通过,7-综合服务中心不通过 */ - @Excel(name = "0-未验收,1-已验收,2-待通知,3-验收不通过,4-已入库,5-入库驳回,6-综合服务中心审核通过,7-综合服务中心不通过") + //@Excel(name = "0-未验收,1-已验收,2-待通知,3-验收不通过,4-已入库,5-入库驳回,6-综合服务中心审核通过,7-综合服务中心不通过") @ApiModelProperty(value = "0-未验收,1-已验收,2-待通知,3-验收不通过,4-已入库,5-入库驳回,6-综合服务中心审核通过,7-综合服务中心不通过") - private Long status; + private Integer status; /** 出厂日期 */ @ApiModelProperty(value = "出厂日期") @@ -97,12 +98,12 @@ public class PurchaseCheckDetails extends BaseEntity { private Date productionTime; /** 验收图片 */ - @Excel(name = "验收图片") + //@Excel(name = "验收图片") @ApiModelProperty(value = "验收图片") private String checkUrlName; /** 验收图片名称 */ - @Excel(name = "验收图片名称") + //@Excel(name = "验收图片名称") @ApiModelProperty(value = "验收图片名称") private String checkUrl; @@ -123,17 +124,17 @@ public class PurchaseCheckDetails extends BaseEntity { private Date inputTime; /** 验收附件名称 */ - @Excel(name = "验收附件名称") + //@Excel(name = "验收附件名称") @ApiModelProperty(value = "验收附件名称") private String fileName; /** 验收附件 */ - @Excel(name = "验收附件") + //@Excel(name = "验收附件") @ApiModelProperty(value = "验收附件") private String fileUrl; /** 数据所属组织 */ - @Excel(name = "数据所属组织") + //@Excel(name = "数据所属组织") @ApiModelProperty(value = "数据所属组织") private Long companyId; @@ -142,7 +143,7 @@ public class PurchaseCheckDetails extends BaseEntity { private String fixCode; /** 验收附件列表 */ - @Excel(name = "验收附件列表") + //@Excel(name = "验收附件列表") @ApiModelProperty(value = "验收附件列表") private List bmFileInfos; } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/domain/PurchaseCheckInfo.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/domain/PurchaseCheckInfo.java index 9bd53852..c21e32ed 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/domain/PurchaseCheckInfo.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/domain/PurchaseCheckInfo.java @@ -42,7 +42,6 @@ public class PurchaseCheckInfo extends BaseEntity { /** 采购日期 */ @ApiModelProperty(value = "采购日期") @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - @Excel(name = "采购日期", width = 30, dateFormat = "yyyy-MM-dd") private Date purchaseTime; /** 到货日期 */ @@ -69,7 +68,6 @@ public class PurchaseCheckInfo extends BaseEntity { /** 数据所属组织 */ @Excel(name = "数据所属组织") - @ApiModelProperty(value = "数据所属组织") private Long companyId; /** diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/domain/dto/PurchaseDto.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/domain/dto/PurchaseDto.java index b45dffd2..a68333fe 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/domain/dto/PurchaseDto.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/domain/dto/PurchaseDto.java @@ -54,7 +54,7 @@ public class PurchaseDto { private List purchaseIdList; @ApiModelProperty(value = "id列表") - private List taskIds; + private List taskIds; @ApiModelProperty(value = "机具编号") private String maCode; @@ -87,6 +87,11 @@ public class PurchaseDto { @ApiModelProperty(value = "数据所属组织") private Long companyId; + /** 验收结论 */ + //@Excel(name = "验收结论") + @ApiModelProperty(value = "验收结论") + private String checkResult; + private String createBy; private Date createTime; diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/mapper/PurchaseCheckDetailsMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/mapper/PurchaseCheckDetailsMapper.java index 62c4a007..ceb0bb82 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/mapper/PurchaseCheckDetailsMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/mapper/PurchaseCheckDetailsMapper.java @@ -2,6 +2,7 @@ package com.bonus.material.purchase.mapper; import java.util.List; import com.bonus.material.purchase.domain.PurchaseCheckDetails; +import com.bonus.material.purchase.domain.PurchaseCheckInfo; import com.bonus.material.purchase.domain.dto.PurchaseQueryDto; import org.apache.ibatis.annotations.Param; @@ -19,7 +20,7 @@ public interface PurchaseCheckDetailsMapper { * @param taskId * @param type 1-验收,2-入库 * @return String类型,多个物资类型根据逗号分割 */ - String selectMaTypeNameByTaskId(@Param("taskId") Long taskId, @Param("type") String type); + String selectMaTypeNameByTaskId(@Param("taskId") Long taskId, @Param("status") String status); /** @@ -34,7 +35,7 @@ public interface PurchaseCheckDetailsMapper { * 根据任务id查询新购验收任务详细列表--Join查询 * @param taskId 任务id */ - List selectPurchaseCheckDetailsListByTaskId(Long taskId); + List selectPurchaseCheckDetailsListByTaskId(@Param("taskId") Long taskId, @Param("status") String status); /** * 根据任务id查询新购验收任务详细列表--Join查询 @@ -50,6 +51,8 @@ public interface PurchaseCheckDetailsMapper { */ List selectPurchaseCheckDetailsList(PurchaseCheckDetails purchaseCheckDetails); + List selectPurchaseCheckDetailsListFromInfo(PurchaseCheckInfo purchaseCheckInfo); + /** * 新增新购验收任务详细 * @@ -75,10 +78,13 @@ public interface PurchaseCheckDetailsMapper { /** * 批量修改新购验收任务详细状态 -- 批量、限制状态 * @param taskId 任务id - * @param oldTaskStatus 旧状态 * @param newTaskStatus 新状态 */ - int batchUpdateDetailsTaskStatus(@Param("taskId") Long taskId, @Param("oldTaskStatus") Integer oldTaskStatus, @Param("newTaskStatus") Integer newTaskStatus); + int batchUpdateDetailsTaskStatus(@Param("taskId") Long taskId, @Param("newTaskStatus") Integer newTaskStatus, @Param("checkResult") String checkResult); + + int updatePurchaseDetails(PurchaseCheckDetails details); + + int getCountOfNoneThisStatus(@Param("taskId") Long taskId, @Param("newTaskStatus") Integer newTaskStatus); /** * 删除新购验收任务详细 diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/IPurchaseCheckDetailsService.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/IPurchaseCheckDetailsService.java index 83c73cd7..a878468c 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/IPurchaseCheckDetailsService.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/IPurchaseCheckDetailsService.java @@ -61,10 +61,9 @@ public interface IPurchaseCheckDetailsService { /** * 批量修改新购验收任务详细状态 -- 批量、限制状态 * @param taskId 任务id - * @param oldTaskStatus 旧状态 * @param newTaskStatus 新状态 */ - int batchUpdateDetailsTaskStatus(@Param("taskId") Long taskId, @Param("oldTaskStatus") Integer oldTaskStatus, @Param("newTaskStatus") Integer newTaskStatus); + int batchUpdateDetailsTaskStatus(@Param("taskId") Long taskId, @Param("newTaskStatus") Integer newTaskStatus, String checkResult); /** * 批量删除新购验收任务详细 diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/IPurchaseCheckInfoService.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/IPurchaseCheckInfoService.java index b5775f58..64364460 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/IPurchaseCheckInfoService.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/IPurchaseCheckInfoService.java @@ -3,8 +3,10 @@ package com.bonus.material.purchase.service; import java.util.List; import com.bonus.common.core.web.domain.AjaxResult; +import com.bonus.material.purchase.domain.PurchaseCheckDetails; import com.bonus.material.purchase.domain.PurchaseCheckInfo; import com.bonus.material.purchase.domain.dto.PurchaseCheckDto; +import com.bonus.material.purchase.domain.dto.PurchaseDto; import com.bonus.material.purchase.domain.dto.PurchaseQueryDto; import com.bonus.material.purchase.domain.vo.PurchaseCheckFormVo; @@ -30,6 +32,8 @@ public interface IPurchaseCheckInfoService { */ List selectPurchaseCheckInfoList(PurchaseCheckInfo purchaseCheckInfo); + List selectPurchaseCheckDetailsList(PurchaseCheckInfo purchaseCheckInfo); + /** * 新增新购验收任务 * @@ -38,11 +42,15 @@ public interface IPurchaseCheckInfoService { */ AjaxResult insertPurchaseCheckInfo(PurchaseCheckDto purchaseCheckDto); - /** - * 验收通过 - * @param taskId 新购验收任务id - */ - AjaxResult acceptance(List taskId); +// /** +// * 验收通过 +// * @param taskId 新购验收任务id +// */ +// AjaxResult acceptance(List taskId); + + AjaxResult outVerify(PurchaseDto purchaseDto); + + AjaxResult innerVerify(List purchaseCheckDetailsList); /** * 根据任务id查询验收单 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 095fa4bf..103d1aa2 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 @@ -74,7 +74,7 @@ public class PurchaseBindServiceImpl implements IPurchaseBindService { iterator.remove(); } } - extracted(list); + //extracted(list); } return list; } @@ -83,43 +83,43 @@ public class PurchaseBindServiceImpl implements IPurchaseBindService { * 远程调用方法抽取 * @param list */ - private void extracted(List list) { - Long[] array = list.stream() - // 提取 createBy 字段 - .map(PurchaseVo::getCreateBy) - .map(createBy -> { - try { - // 转换为 Long - return Long.parseLong(createBy); - } catch (NumberFormatException e) { - // 处理转换失败的情况,可以返回 null - return null; - } - }) - // 过滤掉 null 值 - .filter(value -> value != null) - // 转换为 Long[] 数组 - .toArray(Long[]::new); - Map nickNameMap = remoteConfig.getUserName(array); - Map labelMap = remoteConfig.getDictValue("purchase_task_status"); - // 更新 list 中每个 PurchaseVo 对象的 name 字段 - list.forEach(purchaseVo -> { - // 更新 createBy 为 nickName - String createBy = purchaseVo.getCreateBy(); - if (StringUtils.isNotBlank(createBy)) { - Long createById = Long.parseLong(createBy); - String nickName = nickNameMap.get(createById); - purchaseVo.setCreateBy(nickName != null ? nickName : createBy); - purchaseVo.setCreateBy(nickName != null ? nickName : createBy); // 设置为 nickName 或原值 - } - // 更新状态名称 - Integer status = purchaseVo.getStatus(); - if (status != null) { - String dictValue = labelMap.get(status.toString()); - purchaseVo.setStatusName(dictValue); - } - }); - } +// private void extracted(List list) { +// Long[] array = list.stream() +// // 提取 createBy 字段 +// .map(PurchaseVo::getCreateBy) +// .map(createBy -> { +// try { +// // 转换为 Long +// return Long.parseLong(createBy); +// } catch (NumberFormatException e) { +// // 处理转换失败的情况,可以返回 null +// return null; +// } +// }) +// // 过滤掉 null 值 +// .filter(value -> value != null) +// // 转换为 Long[] 数组 +// .toArray(Long[]::new); +// //Map nickNameMap = remoteConfig.getUserName(array); +// Map labelMap = remoteConfig.getDictValue("purchase_task_status"); +// // 更新 list 中每个 PurchaseVo 对象的 name 字段 +// list.forEach(purchaseVo -> { +// // 更新 createBy 为 nickName +//// String createBy = purchaseVo.getCreateBy(); +//// if (StringUtils.isNotBlank(createBy)) { +//// Long createById = Long.parseLong(createBy); +//// String nickName = nickNameMap.get(createById); +//// purchaseVo.setCreateBy(nickName != null ? nickName : createBy); +//// purchaseVo.setCreateBy(nickName != null ? nickName : createBy); // 设置为 nickName 或原值 +//// } +// // 更新状态名称 +// Integer status = purchaseVo.getStatus(); +// if (status != null) { +// String dictValue = labelMap.get(status.toString()); +// purchaseVo.setStatusName(dictValue); +// } +// }); +// } /** * 查询绑定信息 @@ -132,7 +132,7 @@ public class PurchaseBindServiceImpl implements IPurchaseBindService { return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), "参数不能为空"); } List list = purchaseBindMapper.selectPurchaseCheckInfoById(dto); - extracted(list); + //extracted(list); return AjaxResult.success(list); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseCheckDetailsServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseCheckDetailsServiceImpl.java index b390ab61..df4c69f4 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseCheckDetailsServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseCheckDetailsServiceImpl.java @@ -118,12 +118,11 @@ public class PurchaseCheckDetailsServiceImpl implements IPurchaseCheckDetailsSer * 批量修改新购验收任务详细状态 -- 批量、限制状态 * * @param taskId 任务id - * @param oldTaskStatus 旧状态 * @param newTaskStatus 新状态 */ @Override - public int batchUpdateDetailsTaskStatus(Long taskId, Integer oldTaskStatus, Integer newTaskStatus) { - return purchaseCheckDetailsMapper.batchUpdateDetailsTaskStatus(taskId, oldTaskStatus, newTaskStatus); + public int batchUpdateDetailsTaskStatus(Long taskId, Integer newTaskStatus, String checkResult) { + return purchaseCheckDetailsMapper.batchUpdateDetailsTaskStatus(taskId, newTaskStatus, checkResult); } /** diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseCheckInfoServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseCheckInfoServiceImpl.java index ff9a259f..4f0ff090 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseCheckInfoServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseCheckInfoServiceImpl.java @@ -2,13 +2,13 @@ package com.bonus.material.purchase.service.impl; import java.math.BigDecimal; import java.math.RoundingMode; +import java.util.ArrayList; import java.util.List; import java.util.Objects; import java.util.Optional; import java.util.concurrent.atomic.AtomicLong; import java.util.concurrent.atomic.AtomicReference; import java.util.stream.Collectors; - import com.bonus.common.core.exception.ServiceException; import com.bonus.common.core.utils.DateUtils; import com.bonus.common.core.web.domain.AjaxResult; @@ -18,6 +18,7 @@ import com.bonus.material.basic.mapper.BmFileInfoMapper; import com.bonus.material.purchase.config.PurchaseTaskEnum; import com.bonus.material.purchase.domain.PurchaseCheckDetails; import com.bonus.material.purchase.domain.dto.PurchaseCheckDto; +import com.bonus.material.purchase.domain.dto.PurchaseDto; import com.bonus.material.purchase.domain.dto.PurchaseQueryDto; import com.bonus.material.purchase.mapper.PurchaseCheckDetailsMapper; import com.bonus.material.purchase.domain.vo.PurchaseCheckFormVo; @@ -32,7 +33,6 @@ import com.bonus.material.purchase.service.IPurchaseCheckInfoService; import org.springframework.transaction.PlatformTransactionManager; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; - import javax.annotation.Resource; /** @@ -83,67 +83,62 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService { /** * 查询新购验收任务列表 * - * @param purchaseCheckInfoDto 新购验收任务请求参数 + * @param purchaseCheckInfo 新购验收任务请求参数 * @return 新购验收任务 */ @Override - public List selectPurchaseCheckInfoList(PurchaseCheckInfo purchaseCheckInfoDto) { - // 查询新购info列表,并用stream流过滤掉info列表中空的对象 或 taskId为空的对象 - List purchaseCheckInfos = purchaseCheckInfoMapper.selectPurchaseCheckInfoJoinList(purchaseCheckInfoDto) - .stream() - .filter(Objects::nonNull) - .filter(purchaseCheckInfo -> purchaseCheckInfo.getTaskId() != null) - .collect(Collectors.toList()); + public List selectPurchaseCheckInfoList(PurchaseCheckInfo purchaseCheckInfo) { + List purchaseCheckInfoResult = new ArrayList<>(); + List purchaseCheckInfos = purchaseCheckInfoMapper.selectPurchaseCheckInfoJoinList(purchaseCheckInfo) + .stream() + .filter(Objects::nonNull) + .filter(purchaseInfo -> purchaseInfo.getTaskId() != null) + .collect(Collectors.toList()); - // ----------- for循环开始 ------------- - for (PurchaseCheckInfo purchaseCheckInfo : purchaseCheckInfos) { - // 查询details表,获取详细的采购物资名称 - String purchaseMaName = purchaseCheckDetailsMapper.selectMaTypeNameByTaskId(purchaseCheckInfo.getTaskId(), null); - purchaseCheckInfo.setPurchaseMaTypeName(purchaseMaName != null ? purchaseMaName : ""); - - // 查询details表,获取详细的采购物资数量、价格 - List purchaseCheckDetails = purchaseCheckDetailsMapper.selectPurchaseCheckDetailsListByTaskId(purchaseCheckInfo.getTaskId()) - .stream() - .filter(Objects::nonNull) - .collect(Collectors.toList()); - - // 定义初始化统计变量,使用 AtomicLong 和 AtomicBigDecimal 来替代同步块,提高性能。 - // 采购物资数量 - AtomicLong purchaseMaTotalNumber = new AtomicLong(0L); - // 采购物资不含税价格 - AtomicReference purchaseMaTotalPrice = new AtomicReference<>(BigDecimal.ZERO); - - // 执行for循环统计采购物资数量、价格 - for (PurchaseCheckDetails detail : purchaseCheckDetails) { - if (detail.getPurchaseNum() == null || detail.getPurchasePrice() == null) { - continue; + for (PurchaseCheckInfo purchaseInfo : purchaseCheckInfos) { + String purchaseMaName = purchaseCheckDetailsMapper.selectMaTypeNameByTaskId(purchaseInfo.getTaskId(), purchaseCheckInfo.getTaskStatus()); + purchaseInfo.setPurchaseMaTypeName(purchaseMaName != null ? purchaseMaName : ""); + List purchaseCheckDetails = purchaseCheckDetailsMapper.selectPurchaseCheckDetailsListByTaskId(purchaseInfo.getTaskId(), purchaseCheckInfo.getTaskStatus()) + .stream() + .filter(Objects::nonNull) + .collect(Collectors.toList()); + if (!CollectionUtils.isEmpty(purchaseCheckDetails)) { + AtomicLong purchaseMaTotalNumber = new AtomicLong(0L); + AtomicReference purchaseMaTotalPrice = new AtomicReference<>(BigDecimal.ZERO); + // 执行for循环统计采购物资数量、价格 + for (PurchaseCheckDetails detail : purchaseCheckDetails) { + if (detail.getPurchaseNum() == null || detail.getPurchasePrice() == null) { + continue; + } + if (detail.getPurchaseNum() < 0 || detail.getPurchasePrice().compareTo(BigDecimal.ZERO) < 0) { + throw new IllegalArgumentException("采购数量和价格必须为非负数"); + } + purchaseMaTotalNumber.addAndGet(detail.getPurchaseNum()); + purchaseMaTotalPrice.updateAndGet(v -> v.add(new BigDecimal(detail.getPurchaseNum()).multiply(detail.getPurchasePrice()))); } - if (detail.getPurchaseNum() < 0 || detail.getPurchasePrice().compareTo(BigDecimal.ZERO) < 0) { - throw new IllegalArgumentException("采购数量和价格必须为非负数"); + purchaseInfo.setPurchaseMaNumber(purchaseMaTotalNumber.get()); + purchaseInfo.setPurchasePrice(purchaseMaTotalPrice.get()); + if (purchaseInfo.getTaxRate() != null && purchaseInfo.getPurchasePrice() != null) { + purchaseInfo.setPurchaseTaxPrice( + calculateTaxPrice(purchaseMaTotalPrice.get(), purchaseInfo.getTaxRate()) + ); } - // 原代码块使用sync确保线程安全,现更改为AtomicLong来替代同步块 - // 统计采购数量 - purchaseMaTotalNumber.addAndGet(detail.getPurchaseNum()); - // 采购物资数量乘以采购不含税价格 - purchaseMaTotalPrice.updateAndGet(v -> v.add(new BigDecimal(detail.getPurchaseNum()).multiply(detail.getPurchasePrice()))); - } - - // 赋值统计出来的采购物资数量、不含税价格 - purchaseCheckInfo.setPurchaseMaNumber(purchaseMaTotalNumber.get()); - purchaseCheckInfo.setPurchasePrice(purchaseMaTotalPrice.get()); - - // 通过不含税价格及税率,计算出含税价格并赋值 - if (purchaseCheckInfo.getTaxRate() != null && purchaseCheckInfo.getPurchasePrice() != null) { - purchaseCheckInfo.setPurchaseTaxPrice( - calculateTaxPrice(purchaseMaTotalPrice.get(), purchaseCheckInfo.getTaxRate()) - ); + purchaseCheckInfoResult.add(purchaseInfo); } } - // ------------- for循环结束 ------------- - - return purchaseCheckInfos; + return purchaseCheckInfoResult; } + /** + * 查询新购验收任务详细列表 + * + * @param purchaseCheckInfo 新购验收任务详细 + * @return 新购验收任务详细 + */ + @Override + public List selectPurchaseCheckDetailsList(PurchaseCheckInfo purchaseCheckInfo) { + return purchaseCheckDetailsMapper.selectPurchaseCheckDetailsListFromInfo(purchaseCheckInfo); + } /** * 含税价格计算 @@ -214,38 +209,50 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService { } } - /** - * 验收通过 - * - * @param taskIds 新购验收任务id - */ @Override - public AjaxResult acceptance(List taskIds) { + @Transactional + public AjaxResult outVerify(PurchaseDto purchaseDto) { try { - // 定义返回对象 AjaxResult result = new AjaxResult(); - // 数据过滤 - taskIds.removeIf(Objects::isNull); - // 执行业务逻辑 - for (Long taskId : taskIds) { - // 修改tm_task任务状态 + purchaseDto.getTaskIds().removeIf(Objects::isNull); + for (Long taskId : purchaseDto.getTaskIds()) { boolean updateResult = tmTaskMapper.updateTmTaskStatusByTaskId(taskId, - PurchaseTaskEnum.PURCHASE_TASK_STATUS_WAIT_CHECK.getTaskStatusValue(), - PurchaseTaskEnum.PURCHASE_TASK_STATUS_WAIT_BIND.getTaskStatusValue() + purchaseDto.getStatus() ) > 0; - if (updateResult) { result = purchaseCheckDetailsMapper.batchUpdateDetailsTaskStatus(taskId, - PurchaseTaskEnum.PURCHASE_TASK_STATUS_WAIT_CHECK.getTaskStatusValue(), - PurchaseTaskEnum.PURCHASE_TASK_STATUS_WAIT_BIND.getTaskStatusValue() - ) > 0 ? AjaxResult.success("验收通过,修改任务状态成功") : AjaxResult.error("修改任务明细失败"); + purchaseDto.getStatus(), purchaseDto.getCheckResult() + ) > 0 ? AjaxResult.success("验收状态更改成功") : AjaxResult.error("验收状态更改失败"); } else { result = AjaxResult.error("SQL未报错,但修改任务0条"); } } return result; } catch (Exception e) { - return AjaxResult.error("修改任务失败,SQL异常报错:" + e.getMessage()); + return AjaxResult.error("验收状态更改失败,异常报错:" + e.getMessage()); + } + } + + @Override + @Transactional + public AjaxResult innerVerify(List purchaseCheckDetailsList) { + try { + AjaxResult result = new AjaxResult(); + if (!CollectionUtils.isEmpty(purchaseCheckDetailsList)) { + Long taskId = purchaseCheckDetailsList.get(0).getTaskId(); + Integer status = purchaseCheckDetailsList.get(0).getStatus(); + for (PurchaseCheckDetails details : purchaseCheckDetailsList) { + result = purchaseCheckDetailsMapper.updatePurchaseDetails(details) > 0 ? AjaxResult.success("details验收状态更改成功") : AjaxResult.error("details验收状态更改失败"); + } + //查询是否这个taskId是否已全部验收通过,如果是的,更新整个task的任务状态 + int count = purchaseCheckDetailsMapper.getCountOfNoneThisStatus(taskId, status); + if (count == 0) { + result = tmTaskMapper.updateTmTaskStatusByTaskId(taskId, status) > 0 ? AjaxResult.success("task验收状态更改成功") : AjaxResult.error("task验收状态更改失败"); + } + } + return result; + } catch (Exception e) { + return AjaxResult.error("验收状态更改失败,异常报错:" + e.getMessage()); } } @@ -261,7 +268,7 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService { if (result != null) { // 执行SQL查询内层信息 - List purchaseCheckDetails = purchaseCheckDetailsMapper.selectPurchaseCheckDetailsListByTaskId(taskId); + List purchaseCheckDetails = purchaseCheckDetailsMapper.selectPurchaseCheckDetailsListByTaskId(taskId, null); // 过滤掉空数据 purchaseCheckDetails.removeIf(Objects::isNull); result.setMaterialList(purchaseCheckDetails); diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseNoticePersonServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseNoticePersonServiceImpl.java index 45ddd6ef..57cb29a5 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseNoticePersonServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseNoticePersonServiceImpl.java @@ -73,20 +73,19 @@ public class PurchaseNoticePersonServiceImpl implements IPurchaseNoticePersonSer public AjaxResult batchSendSms(PurchaseNoticePersonDto purchaseNoticePersonDto) { String splitPhoneNumber = String.join(",", purchaseNoticePersonDto.getPhoneNumbers()); try { - String sendResult = SmsUtils.smsToken(splitPhoneNumber, purchaseNoticePersonDto.getContent(), null); + String sendResult = SmsUtils.smsToken(splitPhoneNumber, purchaseNoticePersonDto.getContent(), "60"); if (sendResult != null) { // 发送短信后修改任务状态 tmTaskMapper.updateTmTask(new TmTask() .setTaskId(purchaseNoticePersonDto.getTaskId()) .setTaskType(PurchaseTaskEnum.PURCHASE_TASK_STATUS_WAIT_CHECK.getTaskTypeId()) - .setTaskStatus(PurchaseTaskEnum.PURCHASE_TASK_STATUS_WAIT_CHECK.getTaskStatusCode()) + .setTaskStatus(PurchaseTaskEnum.PURCHASE_TASK_STATUS_WAIT_CHECK.getTaskStatusValue()) ); // 修改采购明细的任务状态 purchaseCheckDetailsService.batchUpdateDetailsTaskStatus( purchaseNoticePersonDto.getTaskId(), - PurchaseTaskEnum.PURCHASE_TASK_STATUS_WAIT_NOTICE.getTaskStatusCode(), - PurchaseTaskEnum.PURCHASE_TASK_STATUS_WAIT_CHECK.getTaskStatusCode() + PurchaseTaskEnum.PURCHASE_TASK_STATUS_WAIT_CHECK.getTaskStatusValue(), "" ); return AjaxResult.success("短信发送成功:" + sendResult); diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/task/mapper/TmTaskMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/task/mapper/TmTaskMapper.java index 1c42fc51..e6e5dc82 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/task/mapper/TmTaskMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/task/mapper/TmTaskMapper.java @@ -55,10 +55,9 @@ public interface TmTaskMapper { /** * 根据任务id更新任务状态 -- 批量、限制状态 * @param taskId 任务id 必传 - * @param oldTaskStatus 旧状态:限制条件、限制影响边界 * @param newTaskStatus 新状态 */ - int updateTmTaskStatusByTaskId(@Param("taskId") Long taskId, @Param("oldTaskStatus") Integer oldTaskStatus, @Param("newTaskStatus") Integer newTaskStatus); + int updateTmTaskStatusByTaskId(@Param("taskId") Long taskId, @Param("newTaskStatus") Integer newTaskStatus); /** * 删除任务 diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmConfigMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmConfigMapper.xml index c22a6be1..1759b889 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmConfigMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmConfigMapper.xml @@ -78,4 +78,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{id} + + + delete from bm_config where item_name = #{itemName} + \ No newline at end of file diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/purchase/PurchaseCheckDetailsMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/purchase/PurchaseCheckDetailsMapper.xml index 8060596d..cf6df590 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/purchase/PurchaseCheckDetailsMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/purchase/PurchaseCheckDetailsMapper.xml @@ -74,15 +74,26 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and fix_code = #{fixCode} + + - - where pcd.task_id = #{taskId} + where 1=1 + + and pcd.status = #{status} + + + and pcd.task_id = #{taskId} + @@ -255,14 +272,37 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + select count(1) + from + purchase_check_details + where + `status` != #{newTaskStatus} + and del_flag = '0' and task_id = #{taskId} - and status = #{oldTaskStatus} \ No newline at end of file diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/task/TmTaskMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/task/TmTaskMapper.xml index bf40a252..32aad615 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/task/TmTaskMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/task/TmTaskMapper.xml @@ -112,6 +112,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" update tm_task set task_status = #{newTaskStatus} - where task_id = #{taskId} and task_status = #{oldTaskStatus} + where task_id = #{taskId} \ No newline at end of file diff --git a/bonus-modules/pom.xml b/bonus-modules/pom.xml index 0a6b6521..ba129e61 100644 --- a/bonus-modules/pom.xml +++ b/bonus-modules/pom.xml @@ -4,7 +4,7 @@ com.bonus bonus - 24.10.0-SNAPSHOT + 24.11.0-SNAPSHOT 4.0.0 diff --git a/pom.xml b/pom.xml index 043f9122..848801ed 100644 --- a/pom.xml +++ b/pom.xml @@ -6,14 +6,14 @@ com.bonus bonus - 24.10.0-SNAPSHOT + 24.11.0-SNAPSHOT bonus http://www.ahbonus.cn 博诺思微服务系统 - 24.10.0-SNAPSHOT + 24.11.0-SNAPSHOT UTF-8 UTF-8 1.8 diff --git a/scripts_244/deploy.sh b/scripts_244/deploy.sh index 9f3d40b5..d2bcc0aa 100644 --- a/scripts_244/deploy.sh +++ b/scripts_244/deploy.sh @@ -1,6 +1,6 @@ #!/bin/bash suffix="-material" -jar_version="24.10.0-SNAPSHOT" +jar_version="24.11.0-SNAPSHOT" export deploy_path=/opt/webapps/bonus-material export app_workspace=/opt/builds/releases/Bonus-Cloud/${jar_version} diff --git a/scripts_244/kill-ps.sh b/scripts_244/kill-ps.sh index 8d46cfa7..2e122e5f 100644 --- a/scripts_244/kill-ps.sh +++ b/scripts_244/kill-ps.sh @@ -1,9 +1,9 @@ -AUTH_RESOURCE_NAME=bonus-auth-24.10.0-SNAPSHOT-material.jar -GATEWAY_RESOURCE_NAME=bonus-gateway-24.10.0-SNAPSHOT-material.jar -SYS_RESOURCE_NAME=bonus-system-24.10.0-SNAPSHOT-material.jar -JOB_RESOURCE_NAME=bonus-job-24.10.0-SNAPSHOT-material.jar -FILE_RESOURCE_NAME=bonus-file-24.10.0-SNAPSHOT-material.jar -MONITOR_RESOURCE_NAME=bonus-visual-monitor-24.10.0-SNAPSHOT-material.jar +AUTH_RESOURCE_NAME=bonus-auth-24.11.0-SNAPSHOT-material.jar +GATEWAY_RESOURCE_NAME=bonus-gateway-24.11.0-SNAPSHOT-material.jar +SYS_RESOURCE_NAME=bonus-system-24.11.0-SNAPSHOT-material.jar +JOB_RESOURCE_NAME=bonus-job-24.11.0-SNAPSHOT-material.jar +FILE_RESOURCE_NAME=bonus-file-24.11.0-SNAPSHOT-material.jar +MONITOR_RESOURCE_NAME=bonus-visual-monitor-24.11.0-SNAPSHOT-material.jar MATERIAL_RESOURCE_NAME=bonus-material.jar diff --git a/scripts_56/deploy.sh b/scripts_56/deploy.sh index ba2988fa..4f67f751 100644 --- a/scripts_56/deploy.sh +++ b/scripts_56/deploy.sh @@ -2,20 +2,20 @@ export deploy_path=/opt/webapps/bonus-material -export app_workspace=/opt/builds/releases/Bonus-Cloud/24.10.0-SNAPSHOT +export app_workspace=/opt/builds/releases/Bonus-Cloud/24.11.0-SNAPSHOT export biz_workspace=/home/jenkins/workspace/Bonus-Cloud-Material suffix="-material" app_source_jars=( - "bonus-auth-24.10.0-SNAPSHOT.jar" - "bonus-gateway-24.10.0-SNAPSHOT.jar" - #"bonus-file-24.10.0-SNAPSHOT.jar" - #"bonus-gen-24.10.0-SNAPSHOT.jar" - #"bonus-job-24.10.0-SNAPSHOT.jar" - "bonus-system-24.10.0-SNAPSHOT.jar" - "bonus-visual-monitor-24.10.0-SNAPSHOT.jar" + "bonus-auth-24.11.0-SNAPSHOT.jar" + "bonus-gateway-24.11.0-SNAPSHOT.jar" + #"bonus-file-24.11.0-SNAPSHOT.jar" + #"bonus-gen-24.11.0-SNAPSHOT.jar" + #"bonus-job-24.11.0-SNAPSHOT.jar" + "bonus-system-24.11.0-SNAPSHOT.jar" + "bonus-visual-monitor-24.11.0-SNAPSHOT.jar" ) #for source_jar in "${app_source_jars[@]}"; do @@ -41,13 +41,13 @@ cp -f ${biz_workspace}/"bonus-modules/bonus-material/target/bonus-material.jar" echo "copied ${app_workspace}/${source_jar} to $deploy_path" # Define an array of JAR files to run -jars=("bonus-auth-24.10.0-SNAPSHOT-material.jar --spring.config.location=file:auth_bootstrap.yml" -"bonus-gateway-24.10.0-SNAPSHOT-material.jar --spring.config.location=file:gateway_bootstrap.yml" -"bonus-system-24.10.0-SNAPSHOT-material.jar --spring.config.location=file:system_bootstrap.yml" -#"bonus-gen-24.10.0-SNAPSHOT-material.jar --spring.config.location=file:gen_bootstrap.yml" -#"bonus-job-24.10.0-SNAPSHOT-material.jar --spring.config.location=file:job_bootstrap.yml" -#"bonus-file-24.10.0-SNAPSHOT-material.jar --spring.config.location=file:file_bootstrap.yml" -#"bonus-visual-24.10.0-SNAPSHOT-monitor-material.jar --spring.config.location=file:visual_bootstrap.yml" +jars=("bonus-auth-24.11.0-SNAPSHOT-material.jar --spring.config.location=file:auth_bootstrap.yml" +"bonus-gateway-24.11.0-SNAPSHOT-material.jar --spring.config.location=file:gateway_bootstrap.yml" +"bonus-system-24.11.0-SNAPSHOT-material.jar --spring.config.location=file:system_bootstrap.yml" +#"bonus-gen-24.11.0-SNAPSHOT-material.jar --spring.config.location=file:gen_bootstrap.yml" +#"bonus-job-24.11.0-SNAPSHOT-material.jar --spring.config.location=file:job_bootstrap.yml" +#"bonus-file-24.11.0-SNAPSHOT-material.jar --spring.config.location=file:file_bootstrap.yml" +#"bonus-visual-24.11.0-SNAPSHOT-monitor-material.jar --spring.config.location=file:visual_bootstrap.yml" "bonus-material.jar --spring.config.location=file:material_bootstrap.yml") # 遍历数组并检查每个JAR文件的进程