Merge remote-tracking branch 'origin/master'

This commit is contained in:
jjLv 2024-11-08 17:27:31 +08:00
commit 14b448a7de
29 changed files with 465 additions and 370 deletions

View File

@ -5,7 +5,7 @@
<parent>
<groupId>com.bonus</groupId>
<artifactId>bonus</artifactId>
<version>24.10.0-SNAPSHOT</version>
<version>24.11.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>com.bonus</groupId>
<artifactId>bonus-modules</artifactId>
<version>24.10.0-SNAPSHOT</version>
<version>24.11.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>com.bonus</groupId>
<artifactId>bonus-modules</artifactId>
<version>24.10.0-SNAPSHOT</version>
<version>24.11.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
@ -97,7 +97,7 @@
<dependency>
<groupId>com.bonus</groupId>
<artifactId>bonus-common-biz</artifactId>
<version>24.10.0-SNAPSHOT</version>
<version>24.11.0-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
<dependency>

View File

@ -66,4 +66,6 @@ public interface BmConfigMapper
* @return 结果
*/
public int deleteBmConfigByIds(Long[] ids);
public int deleteBmConfigByName(String itemName);
}

View File

@ -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);
}

View File

@ -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)
{

View File

@ -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<PurchaseVo> list = purchaseBindService.selectAll(dto);
return getDataTable(list);
}
// @ApiOperation(value = "查询新购验收绑定详细列表")
// @RequiresPermissions("purchase:bind:list")
// @GetMapping(value = "/list")
// public TableDataInfo getList(PurchaseDto dto) {
// startPage();
// List<PurchaseVo> list = purchaseBindService.selectAll(dto);
// return getDataTable(list);
// }
/**
* 获取新购绑定二级明细列表
* @param
* @return
*/
@ApiOperation(value = "获取新购绑定二级明细列表")
@RequiresPermissions("purchase:bind:details")
@GetMapping("/details")
public TableDataInfo getDetails(PurchaseDto dto) {
startPage();
List<PurchaseVo> list = purchaseBindService.getDetails(dto);
return getDataTable(list);
}
// @ApiOperation(value = "获取新购绑定二级明细列表")
// @RequiresPermissions("purchase:bind:query")
// @GetMapping("/details")
// public TableDataInfo getDetails(PurchaseDto dto) {
// startPage();
// List<PurchaseVo> list = purchaseBindService.getDetails(dto);
// return getDataTable(list);
// }
/**
* 绑定

View File

@ -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<PurchaseCheckDetails> 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<PurchaseCheckDetails> list = purchaseCheckDetailsService.selectPurchaseCheckDetailsList(purchaseCheckDetails);
ExcelUtil<PurchaseCheckDetails> util = new ExcelUtil<PurchaseCheckDetails>(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<PurchaseCheckDetails> 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<PurchaseCheckDetails> list = purchaseCheckDetailsService.selectPurchaseCheckDetailsList(purchaseCheckDetails);
// ExcelUtil<PurchaseCheckDetails> util = new ExcelUtil<PurchaseCheckDetails>(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);
// }
//
//
//}

View File

@ -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<Long> 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<PurchaseCheckDetails> 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<PurchaseCheckInfo> util = new ExcelUtil<PurchaseCheckInfo>(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<PurchaseCheckDetails> list = purchaseCheckInfoService.selectPurchaseCheckDetailsList(purchaseCheckInfo);
ExcelUtil<PurchaseCheckDetails> util = new ExcelUtil<PurchaseCheckDetails>(PurchaseCheckDetails.class);
util.exportExcel(response, list, "新购验收任务详细数据");
}
}

View File

@ -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<PurchaseVo> list = purchaseStorageService.selectAll(dto);
return getDataTable(list);
}
// @ApiOperation(value = "查询新购验收入库详细列表")
// @RequiresPermissions("purchase:storage:list")
// @GetMapping(value = "/list")
// public TableDataInfo getList(PurchaseDto dto) {
// startPage();
// List<PurchaseVo> list = purchaseStorageService.selectAll(dto);
// return getDataTable(list);
// }
/**
* 获取新购入库二级明细列表
* @param
* @return
*/
@ApiOperation(value = "获取新购入库二级明细列表")
@RequiresPermissions("purchase:storage:details")
@GetMapping("/details")
public TableDataInfo getDetails(PurchaseDto dto) {
startPage();
List<PurchaseVo> list = purchaseStorageService.getDetails(dto);
return getDataTable(list);
}
// @ApiOperation(value = "获取新购入库二级明细列表")
// @RequiresPermissions("purchase:storage:details")
// @GetMapping("/details")
// public TableDataInfo getDetails(PurchaseDto dto) {
// startPage();
// List<PurchaseVo> list = purchaseStorageService.getDetails(dto);
// return getDataTable(list);
// }
/**
* 入库或批量入库

View File

@ -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<BmFileInfo> bmFileInfos;
}

View File

@ -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;
/**

View File

@ -54,7 +54,7 @@ public class PurchaseDto {
private List<String> purchaseIdList;
@ApiModelProperty(value = "id列表")
private List<Integer> taskIds;
private List<Long> 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;

View File

@ -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<PurchaseCheckDetails> selectPurchaseCheckDetailsListByTaskId(Long taskId);
List<PurchaseCheckDetails> selectPurchaseCheckDetailsListByTaskId(@Param("taskId") Long taskId, @Param("status") String status);
/**
* 根据任务id查询新购验收任务详细列表--Join查询
@ -50,6 +51,8 @@ public interface PurchaseCheckDetailsMapper {
*/
List<PurchaseCheckDetails> selectPurchaseCheckDetailsList(PurchaseCheckDetails purchaseCheckDetails);
List<PurchaseCheckDetails> 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);
/**
* 删除新购验收任务详细

View File

@ -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);
/**
* 批量删除新购验收任务详细

View File

@ -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<PurchaseCheckInfo> selectPurchaseCheckInfoList(PurchaseCheckInfo purchaseCheckInfo);
List<PurchaseCheckDetails> selectPurchaseCheckDetailsList(PurchaseCheckInfo purchaseCheckInfo);
/**
* 新增新购验收任务
*
@ -38,11 +42,15 @@ public interface IPurchaseCheckInfoService {
*/
AjaxResult insertPurchaseCheckInfo(PurchaseCheckDto purchaseCheckDto);
/**
* 验收通过
* @param taskId 新购验收任务id
*/
AjaxResult acceptance(List<Long> taskId);
// /**
// * 验收通过
// * @param taskId 新购验收任务id
// */
// AjaxResult acceptance(List<Long> taskId);
AjaxResult outVerify(PurchaseDto purchaseDto);
AjaxResult innerVerify(List<PurchaseCheckDetails> purchaseCheckDetailsList);
/**
* 根据任务id查询验收单

View File

@ -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<PurchaseVo> 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<Long, String> nickNameMap = remoteConfig.getUserName(array);
Map<String, String> 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<PurchaseVo> 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<Long, String> nickNameMap = remoteConfig.getUserName(array);
// Map<String, String> 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<PurchaseVo> list = purchaseBindMapper.selectPurchaseCheckInfoById(dto);
extracted(list);
//extracted(list);
return AjaxResult.success(list);
}

View File

@ -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);
}
/**

View File

@ -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<PurchaseCheckInfo> selectPurchaseCheckInfoList(PurchaseCheckInfo purchaseCheckInfoDto) {
// 查询新购info列表并用stream流过滤掉info列表中空的对象 taskId为空的对象
List<PurchaseCheckInfo> purchaseCheckInfos = purchaseCheckInfoMapper.selectPurchaseCheckInfoJoinList(purchaseCheckInfoDto)
.stream()
.filter(Objects::nonNull)
.filter(purchaseCheckInfo -> purchaseCheckInfo.getTaskId() != null)
.collect(Collectors.toList());
public List<PurchaseCheckInfo> selectPurchaseCheckInfoList(PurchaseCheckInfo purchaseCheckInfo) {
List<PurchaseCheckInfo> purchaseCheckInfoResult = new ArrayList<>();
List<PurchaseCheckInfo> 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> purchaseCheckDetails = purchaseCheckDetailsMapper.selectPurchaseCheckDetailsListByTaskId(purchaseCheckInfo.getTaskId())
.stream()
.filter(Objects::nonNull)
.collect(Collectors.toList());
// 定义初始化统计变量,使用 AtomicLong AtomicBigDecimal 来替代同步块提高性能
// 采购物资数量
AtomicLong purchaseMaTotalNumber = new AtomicLong(0L);
// 采购物资不含税价格
AtomicReference<BigDecimal> 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> purchaseCheckDetails = purchaseCheckDetailsMapper.selectPurchaseCheckDetailsListByTaskId(purchaseInfo.getTaskId(), purchaseCheckInfo.getTaskStatus())
.stream()
.filter(Objects::nonNull)
.collect(Collectors.toList());
if (!CollectionUtils.isEmpty(purchaseCheckDetails)) {
AtomicLong purchaseMaTotalNumber = new AtomicLong(0L);
AtomicReference<BigDecimal> 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<PurchaseCheckDetails> selectPurchaseCheckDetailsList(PurchaseCheckInfo purchaseCheckInfo) {
return purchaseCheckDetailsMapper.selectPurchaseCheckDetailsListFromInfo(purchaseCheckInfo);
}
/**
* 含税价格计算
@ -214,38 +209,50 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService {
}
}
/**
* 验收通过
*
* @param taskIds 新购验收任务id
*/
@Override
public AjaxResult acceptance(List<Long> 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<PurchaseCheckDetails> 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> purchaseCheckDetails = purchaseCheckDetailsMapper.selectPurchaseCheckDetailsListByTaskId(taskId);
List<PurchaseCheckDetails> purchaseCheckDetails = purchaseCheckDetailsMapper.selectPurchaseCheckDetailsListByTaskId(taskId, null);
// 过滤掉空数据
purchaseCheckDetails.removeIf(Objects::isNull);
result.setMaterialList(purchaseCheckDetails);

View File

@ -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);

View File

@ -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);
/**
* 删除任务

View File

@ -78,4 +78,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
#{id}
</foreach>
</delete>
<delete id="deleteBmConfigByName" parameterType="String">
delete from bm_config where item_name = #{itemName}
</delete>
</mapper>

View File

@ -74,15 +74,26 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="fixCode != null "> and fix_code = #{fixCode}</if>
</where>
</select>
<select id="selectPurchaseCheckDetailsListFromInfo" parameterType="com.bonus.material.purchase.domain.PurchaseCheckInfo" resultMap="PurchaseCheckDetailsResult">
<include refid="selectPurchaseCheckDetailsJoinVo"/>
where task_id = #{taskId}
</select>
<select id="selectPurchaseCheckDetailsById" parameterType="Long" resultMap="PurchaseCheckDetailsResult">
<include refid="selectPurchaseCheckDetailsVo"/>
where id = #{id}
</select>
<select id="selectPurchaseCheckDetailsListByTaskId" parameterType="Long" resultMap="PurchaseCheckDetailsResult">
<select id="selectPurchaseCheckDetailsListByTaskId" resultMap="PurchaseCheckDetailsResult">
<include refid="selectPurchaseCheckDetailsJoinVo"/>
where pcd.task_id = #{taskId}
where 1=1
<if test="status != null">
and pcd.status = #{status}
</if>
<if test="taskId != null">
and pcd.task_id = #{taskId}
</if>
</select>
<select id="selectPurchaseCheckDetailsListByQueryDto" parameterType="com.bonus.material.purchase.domain.dto.PurchaseQueryDto" resultMap="PurchaseCheckDetailsResult">
@ -234,7 +245,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
left join
ma_type mt1 on mt.parent_id = mt1.type_id
where
pcd.task_id = #{taskId}
1=1
<if test="status != null">
and pcd.status = #{status}
</if>
<if test="taskId != null">
and pcd.task_id = #{taskId}
</if>
) t
GROUP BY task_id
</select>
@ -255,14 +272,37 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</foreach>
</insert>
<select id="batchUpdateDetailsTaskStatus" resultType="int">
<update id="batchUpdateDetailsTaskStatus">
update
purchase_check_details
set
`status` = #{newTaskStatus}
`status` = #{newTaskStatus}, check_result = #{checkResult}
where
del_flag = '0'
task_id = #{taskId}
</update>
<update id="updatePurchaseDetails">
update
purchase_check_details
set
`status` = #{status}, check_result = #{checkResult}
where
1=1
<if test="taskId != null">
and task_id = #{taskId}
</if>
<if test="typeId != null">
and type_id = #{typeId}
</if>
</update>
<select id="getCountOfNoneThisStatus" resultType="Integer">
select count(1)
from
purchase_check_details
where
`status` != #{newTaskStatus}
and del_flag = '0'
and task_id = #{taskId}
and status = #{oldTaskStatus}
</select>
</mapper>

View File

@ -112,6 +112,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<update id="updateTmTaskStatusByTaskId">
update tm_task set task_status = #{newTaskStatus}
where task_id = #{taskId} and task_status = #{oldTaskStatus}
where task_id = #{taskId}
</update>
</mapper>

View File

@ -4,7 +4,7 @@
<parent>
<groupId>com.bonus</groupId>
<artifactId>bonus</artifactId>
<version>24.10.0-SNAPSHOT</version>
<version>24.11.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -6,14 +6,14 @@
<groupId>com.bonus</groupId>
<artifactId>bonus</artifactId>
<version>24.10.0-SNAPSHOT</version>
<version>24.11.0-SNAPSHOT</version>
<name>bonus</name>
<url>http://www.ahbonus.cn</url>
<description>博诺思微服务系统</description>
<properties>
<bonus.version>24.10.0-SNAPSHOT</bonus.version>
<bonus.version>24.11.0-SNAPSHOT</bonus.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>

View File

@ -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}

View File

@ -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

View File

@ -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文件的进程