任务状态枚举更新、新购验收接口、事务处理

This commit is contained in:
syruan 2024-10-23 13:46:01 +08:00
parent d23f2765ae
commit 55aad85480
16 changed files with 202 additions and 36 deletions

View File

@ -12,16 +12,16 @@ import lombok.Getter;
@Getter @Getter
public enum PurchaseTaskEnum { public enum PurchaseTaskEnum {
PURCHASE_TASK_STATUS_NOTICE(55, 0, "待通知", "purchase_task_status", 16), PURCHASE_TASK_STATUS_WAIT_SUBMIT(122, 0, "待提交", "purchase_task_status", 0),
PURCHASE_TASK_STATUS_WAIT_CHECK(56, 1,"待验收", "purchase_task_status", 16), PURCHASE_TASK_STATUS_WAIT_NOTICE(123, 1, "待通知", "purchase_task_status", 0),
PURCHASE_TASK_STATUS_CHECKED_OK(57, 2,"验收合格", "purchase_task_status", 16), PURCHASE_TASK_STATUS_WAIT_CHECK(124, 2,"验收", "purchase_task_status", 0),
PURCHASE_TASK_STATUS_CHECK_NO(58, 3,"验收未通过", "purchase_task_status", 16), PURCHASE_TASK_STATUS_WAIT_BIND(125, 3,"待绑定", "purchase_task_status", 0),
PURCHASE_TASK_STATUS_ALL_IN(59, 4,"已全部入库", "purchase_task_status", 16), PURCHASE_TASK_STATUS_WAIT_IN(126, 4,"入库", "purchase_task_status", 0),
PURCHASE_TASK_STATUS_IN_CHECK(60, 5,"入库审核中", "purchase_task_status", 16), PURCHASE_TASK_STATUS_FINISH_OK(127, 5,"已完成", "purchase_task_status", 0),
PURCHASE_TASK_STATUS_SERVICE_CENTRE_NO(61, 6,"综合服务中心未通过", "purchase_task_status", 16), PURCHASE_TASK_STATUS_CHECK_NO(128, 6,"待验收(驳回后)", "purchase_task_status", 0),
PURCHASE_TASK_STATUS_IN_NO(62, 7,"入库审核未通过", "purchase_task_status", 16), PURCHASE_TASK_STATUS_BIND_NO(129, 7,"待绑定(驳回后)", "purchase_task_status", 0),
PURCHASE_TASK_STATUS_SERVICE_CENTRE_CHECK(63, 8,"综合服务中心审核中", "purchase_task_status", 16), PURCHASE_TASK_STATUS_IN_NO(130, 8,"待入库(驳回后)", "purchase_task_status", 0),
PURCHASE_TASK_STATUS_PART_IN(64, 9,"部分已入库", "purchase_task_status", 16); PURCHASE_TASK_STATUS_PART_IN(131, 9,"入库进行中", "purchase_task_status", 0);
private final Integer taskStatusCode; private final Integer taskStatusCode;

View File

@ -4,6 +4,7 @@ import java.util.List;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid; import javax.validation.Valid;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import com.bonus.common.log.enums.OperaType; import com.bonus.common.log.enums.OperaType;
@ -12,14 +13,7 @@ import com.bonus.material.purchase.dto.PurchaseCheckDto;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.bonus.common.log.annotation.SysLog; import com.bonus.common.log.annotation.SysLog;
import com.bonus.common.security.annotation.RequiresPermissions; import com.bonus.common.security.annotation.RequiresPermissions;
import com.bonus.material.purchase.domain.PurchaseCheckInfo; import com.bonus.material.purchase.domain.PurchaseCheckInfo;
@ -97,6 +91,20 @@ public class PurchaseCheckInfoController extends BaseController {
} }
} }
/**
* 验收合格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);
}
/** /**
* 删除新购验收任务 * 删除新购验收任务
*/ */

View File

@ -59,7 +59,7 @@ public class PurchaseNoticePersonController extends BaseController {
@ApiOperation(value = "导出新购短信通知人员列表") @ApiOperation(value = "导出新购短信通知人员列表")
@PreventRepeatSubmit @PreventRepeatSubmit
@RequiresPermissions("purchase:person:export") @RequiresPermissions("purchase:person:export")
@SysLog(title = "新购短信通知人员", businessType = OperaType.EXPORT, logType = 1,module = "仓储管理->导出新购短信通知人员") @SysLog(title = "新购短信通知人员", businessType = OperaType.EXPORT, module = "物资新购->导出新购短信通知人员")
@PostMapping("/export") @PostMapping("/export")
public void export(HttpServletResponse response, PurchaseNoticePerson purchaseNoticePerson) { public void export(HttpServletResponse response, PurchaseNoticePerson purchaseNoticePerson) {
List<PurchaseNoticePerson> list = purchaseNoticePersonService.selectPurchaseNoticePersonList(purchaseNoticePerson); List<PurchaseNoticePerson> list = purchaseNoticePersonService.selectPurchaseNoticePersonList(purchaseNoticePerson);
@ -83,7 +83,7 @@ public class PurchaseNoticePersonController extends BaseController {
@ApiOperation(value = "新增新购短信通知人员") @ApiOperation(value = "新增新购短信通知人员")
@PreventRepeatSubmit @PreventRepeatSubmit
@RequiresPermissions("purchase:person:add") @RequiresPermissions("purchase:person:add")
@SysLog(title = "新购短信通知人员", businessType = OperaType.INSERT, logType = 1,module = "仓储管理->新增新购短信通知人员") @SysLog(title = "新购短信通知人员", businessType = OperaType.INSERT, module = "物资新购->新增新购短信通知人员")
@PostMapping @PostMapping
public AjaxResult add(@RequestBody PurchaseNoticePerson purchaseNoticePerson) { public AjaxResult add(@RequestBody PurchaseNoticePerson purchaseNoticePerson) {
try { try {
@ -99,7 +99,7 @@ public class PurchaseNoticePersonController extends BaseController {
@ApiOperation(value = "批量新增新购短信通知人员") @ApiOperation(value = "批量新增新购短信通知人员")
@PreventRepeatSubmit @PreventRepeatSubmit
@RequiresPermissions("purchase:person:add") @RequiresPermissions("purchase:person:add")
@SysLog(title = "批量新增新购短信通知人员", businessType = OperaType.INSERT, logType = 1,module = "仓储管理->批量新增新购短信通知人员") @SysLog(title = "批量新增新购短信通知人员", businessType = OperaType.INSERT, module = "物资新购->批量新增新购短信通知人员")
@PostMapping("/batchAddNoticePerson") @PostMapping("/batchAddNoticePerson")
public AjaxResult batchAddNoticePerson(@RequestBody List<PurchaseNoticePerson> purchaseNoticePersonList) { public AjaxResult batchAddNoticePerson(@RequestBody List<PurchaseNoticePerson> purchaseNoticePersonList) {
try { try {
@ -115,7 +115,7 @@ public class PurchaseNoticePersonController extends BaseController {
@ApiOperation(value = "批量发送短信") @ApiOperation(value = "批量发送短信")
@PreventRepeatSubmit @PreventRepeatSubmit
@RequiresPermissions("purchase:person:edit") @RequiresPermissions("purchase:person:edit")
@SysLog(title = "批量发送短信", businessType = OperaType.UPDATE, module = "仓储管理->批量发送短信") @SysLog(title = "批量发送短信", businessType = OperaType.UPDATE, module = "物资新购->批量发送短信")
@PutMapping("/batchSendSms") @PutMapping("/batchSendSms")
public AjaxResult batchSendSms(@NotNull @Valid @RequestBody PurchaseNoticePersonDto purchaseNoticePersonDto) { public AjaxResult batchSendSms(@NotNull @Valid @RequestBody PurchaseNoticePersonDto purchaseNoticePersonDto) {
return purchaseNoticePersonService.batchSendSms(purchaseNoticePersonDto); return purchaseNoticePersonService.batchSendSms(purchaseNoticePersonDto);
@ -127,7 +127,7 @@ public class PurchaseNoticePersonController extends BaseController {
@ApiOperation(value = "修改新购短信通知人员") @ApiOperation(value = "修改新购短信通知人员")
@PreventRepeatSubmit @PreventRepeatSubmit
@RequiresPermissions("purchase:person:edit") @RequiresPermissions("purchase:person:edit")
@SysLog(title = "新购短信通知人员", businessType = OperaType.UPDATE, module = "仓储管理->修改新购短信通知人员") @SysLog(title = "新购短信通知人员", businessType = OperaType.UPDATE, module = "物资新购->修改新购短信通知人员")
@PutMapping @PutMapping
public AjaxResult edit(@RequestBody PurchaseNoticePerson purchaseNoticePerson) { public AjaxResult edit(@RequestBody PurchaseNoticePerson purchaseNoticePerson) {
try { try {
@ -143,7 +143,7 @@ public class PurchaseNoticePersonController extends BaseController {
@ApiOperation(value = "删除新购短信通知人员") @ApiOperation(value = "删除新购短信通知人员")
@PreventRepeatSubmit @PreventRepeatSubmit
@RequiresPermissions("purchase:person:remove") @RequiresPermissions("purchase:person:remove")
@SysLog(title = "新购短信通知人员", businessType = OperaType.DELETE, logType = 1,module = "仓储管理->删除新购短信通知人员") @SysLog(title = "新购短信通知人员", businessType = OperaType.DELETE, module = "物资新购->删除新购短信通知人员")
@DeleteMapping("/{ids}") @DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids) { public AjaxResult remove(@PathVariable Long[] ids) {
return toAjax(purchaseNoticePersonService.deletePurchaseNoticePersonByIds(ids)); return toAjax(purchaseNoticePersonService.deletePurchaseNoticePersonByIds(ids));

View File

@ -0,0 +1,22 @@
package com.bonus.material.purchase.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author : 阮世耀
* @version : 1.0
* @PackagePath: com.bonus.material.purchase.dto
* @CreateTime: 2024-10-22 17:43
* @Description: 物资新购验收任务Dto
*/
@Data
public class PurchaseAcceptDto {
@ApiModelProperty(value = "任务id")
private Long taskId;
@ApiModelProperty(value = "任务状态")
private Integer taskStatus;
}

View File

@ -1,6 +1,7 @@
package com.bonus.material.purchase.dto; package com.bonus.material.purchase.dto;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiOperation;
import lombok.Data; import lombok.Data;
import lombok.ToString; import lombok.ToString;
@ -32,4 +33,11 @@ public class PurchaseNoticePersonDto {
@NotNull(message = "短信内容不能为空") @NotNull(message = "短信内容不能为空")
@ApiModelProperty(value = "短信内容") @ApiModelProperty(value = "短信内容")
private String content; private String content;
/**
* 任务id
*/
@NotNull(message = "任务id不能为空")
@ApiModelProperty(value = "任务id")
private Long taskId;
} }

View File

@ -65,6 +65,14 @@ public interface PurchaseCheckDetailsMapper {
*/ */
int updatePurchaseCheckDetails(PurchaseCheckDetails purchaseCheckDetails); int updatePurchaseCheckDetails(PurchaseCheckDetails purchaseCheckDetails);
/**
* 批量修改新购验收任务详细状态 -- 批量限制状态
* @param taskId 任务id
* @param oldTaskStatus 旧状态
* @param newTaskStatus 新状态
*/
int batchUpdateDetailsTaskStatus(@Param("taskId") Long taskId, @Param("oldTaskStatus") Integer oldTaskStatus, @Param("newTaskStatus") Integer newTaskStatus);
/** /**
* 删除新购验收任务详细 * 删除新购验收任务详细
* *

View File

@ -5,6 +5,7 @@ import java.util.List;
import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.common.core.web.domain.AjaxResult;
import com.bonus.material.purchase.domain.PurchaseCheckDetails; import com.bonus.material.purchase.domain.PurchaseCheckDetails;
import com.bonus.material.purchase.dto.PurchaseCheckFileDto; import com.bonus.material.purchase.dto.PurchaseCheckFileDto;
import org.apache.ibatis.annotations.Param;
/** /**
* 新购验收任务详细Service接口 * 新购验收任务详细Service接口
@ -57,6 +58,14 @@ public interface IPurchaseCheckDetailsService {
*/ */
int updatePurchaseCheckDetails(PurchaseCheckDetails purchaseCheckDetails); int updatePurchaseCheckDetails(PurchaseCheckDetails purchaseCheckDetails);
/**
* 批量修改新购验收任务详细状态 -- 批量限制状态
* @param taskId 任务id
* @param oldTaskStatus 旧状态
* @param newTaskStatus 新状态
*/
int batchUpdateDetailsTaskStatus(@Param("taskId") Long taskId, @Param("oldTaskStatus") Integer oldTaskStatus, @Param("newTaskStatus") Integer newTaskStatus);
/** /**
* 批量删除新购验收任务详细 * 批量删除新购验收任务详细
* *

View File

@ -36,6 +36,12 @@ public interface IPurchaseCheckInfoService {
*/ */
AjaxResult insertPurchaseCheckInfo(PurchaseCheckDto purchaseCheckDto); AjaxResult insertPurchaseCheckInfo(PurchaseCheckDto purchaseCheckDto);
/**
* 验收通过
* @param taskId 新购验收任务id
*/
AjaxResult acceptance(List<Long> taskId);
/** /**
* 修改新购验收任务 * 修改新购验收任务
* *

View File

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

View File

@ -18,7 +18,6 @@ import com.bonus.material.purchase.dto.PurchaseCheckDto;
import com.bonus.material.purchase.mapper.PurchaseCheckDetailsMapper; import com.bonus.material.purchase.mapper.PurchaseCheckDetailsMapper;
import com.bonus.material.task.domain.TmTask; import com.bonus.material.task.domain.TmTask;
import com.bonus.material.task.mapper.TmTaskMapper; import com.bonus.material.task.mapper.TmTaskMapper;
import com.mysql.cj.exceptions.DataTruncationException;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.dao.DataAccessException; import org.springframework.dao.DataAccessException;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -160,16 +159,16 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService {
// 赋值创建时间 // 赋值创建时间
purchaseCheckInfo.getPurchaseCheckInfo().setCreateTime(DateUtils.getNowDate()); purchaseCheckInfo.getPurchaseCheckInfo().setCreateTime(DateUtils.getNowDate());
try { try {
// 开启事务
TransactionStatus transactionStatus = transactionManager.getTransaction(new DefaultTransactionDefinition());
// 查询新购任务当月最大单号 // 查询新购任务当月最大单号
Integer thisMonthMaxOrder = tmTaskMapper.getMonthMaxOrderByDate(DateUtils.getCurrentYear(), DateUtils.getCurrentMonth(), Long.valueOf(PurchaseTaskEnum.PURCHASE_TASK_STATUS_NOTICE.getTaskTypeId())); Integer thisMonthMaxOrder = tmTaskMapper.getMonthMaxOrderByDate(DateUtils.getCurrentYear(), DateUtils.getCurrentMonth(), Long.valueOf(PurchaseTaskEnum.PURCHASE_TASK_STATUS_WAIT_NOTICE.getTaskTypeId()));
// 查询出的单号值进行必要性校正 // 查询出的单号值进行必要性校正
thisMonthMaxOrder = Optional.ofNullable(thisMonthMaxOrder).orElse(0); thisMonthMaxOrder = Optional.ofNullable(thisMonthMaxOrder).orElse(0);
// 生成单号 // 生成单号
TmTask tmTask = genderTaskCode(purchaseCheckInfo, thisMonthMaxOrder); TmTask tmTask = genderTaskCode(purchaseCheckInfo, thisMonthMaxOrder);
Long taskId; Long taskId;
// 开启事务
TransactionStatus transactionStatus = transactionManager.getTransaction(new DefaultTransactionDefinition());
if (tmTaskMapper.insertTmTask(tmTask) > 0) { if (tmTaskMapper.insertTmTask(tmTask) > 0) {
taskId = tmTask.getTaskId(); taskId = tmTask.getTaskId();
} else { } else {
@ -205,6 +204,41 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService {
} }
} }
/**
* 验收通过
*
* @param taskIds 新购验收任务id
*/
@Override
public AjaxResult acceptance(List<Long> taskIds) {
try {
// 定义返回对象
AjaxResult result = new AjaxResult();
// 数据过滤
taskIds.removeIf(Objects::isNull);
// 执行业务逻辑
for (Long taskId : taskIds) {
// 修改tm_task任务状态
boolean updateResult = tmTaskMapper.updateTmTaskStatusByTaskId(taskId,
PurchaseTaskEnum.PURCHASE_TASK_STATUS_WAIT_CHECK.getTaskStatusValue(),
PurchaseTaskEnum.PURCHASE_TASK_STATUS_WAIT_BIND.getTaskStatusValue()
) > 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("修改任务明细失败");
} else {
result = AjaxResult.error("SQL未报错但修改任务0条");
}
}
return result;
} catch (Exception e) {
return AjaxResult.error("修改任务失败,SQL异常报错:" + e.getMessage());
}
}
/** /**
* 生成任务编号并构造Tm_Task任务对象 * 生成任务编号并构造Tm_Task任务对象
* @param purchaseCheckInfo 新购验收任务数据 * @param purchaseCheckInfo 新购验收任务数据
@ -216,8 +250,8 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService {
// 构造函数创建任务对象 // 构造函数创建任务对象
return new TmTask(null, return new TmTask(null,
PurchaseTaskEnum.PURCHASE_TASK_STATUS_NOTICE.getTaskTypeId(), PurchaseTaskEnum.PURCHASE_TASK_STATUS_WAIT_NOTICE.getTaskTypeId(),
PurchaseTaskEnum.PURCHASE_TASK_STATUS_NOTICE.getTaskStatusCode(), PurchaseTaskEnum.PURCHASE_TASK_STATUS_WAIT_NOTICE.getTaskStatusValue(),
taskCode, purchaseCheckInfo.getPurchaseCheckInfo().getCompanyId(), "1", thisMonthMaxOrder + 1 taskCode, purchaseCheckInfo.getPurchaseCheckInfo().getCompanyId(), "1", thisMonthMaxOrder + 1
); );
} }

View File

@ -1,16 +1,20 @@
package com.bonus.material.purchase.service.impl; package com.bonus.material.purchase.service.impl;
import java.util.List; import java.util.List;
import com.bonus.common.core.exception.ServiceException; import com.bonus.common.core.exception.ServiceException;
import com.bonus.common.core.utils.DateUtils; import com.bonus.common.core.utils.DateUtils;
import com.bonus.common.core.utils.sms.SmsUtils; import com.bonus.common.core.utils.sms.SmsUtils;
import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.common.core.web.domain.AjaxResult;
import com.bonus.material.purchase.config.PurchaseTaskEnum;
import com.bonus.material.purchase.dto.PurchaseNoticePersonDto; import com.bonus.material.purchase.dto.PurchaseNoticePersonDto;
import org.springframework.beans.factory.annotation.Autowired; import com.bonus.material.task.domain.TmTask;
import com.bonus.material.task.mapper.TmTaskMapper;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.bonus.material.purchase.mapper.PurchaseNoticePersonMapper; import com.bonus.material.purchase.mapper.PurchaseNoticePersonMapper;
import com.bonus.material.purchase.domain.PurchaseNoticePerson; import com.bonus.material.purchase.domain.PurchaseNoticePerson;
import com.bonus.material.purchase.service.IPurchaseNoticePersonService; import com.bonus.material.purchase.service.IPurchaseNoticePersonService;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -26,6 +30,12 @@ public class PurchaseNoticePersonServiceImpl implements IPurchaseNoticePersonSer
@Resource @Resource
private PurchaseNoticePersonMapper purchaseNoticePersonMapper; private PurchaseNoticePersonMapper purchaseNoticePersonMapper;
@Resource
private TmTaskMapper tmTaskMapper;
@Resource
private PurchaseCheckDetailsServiceImpl purchaseCheckDetailsService;
/** /**
* 查询新购短信通知人员 * 查询新购短信通知人员
* *
@ -49,12 +59,32 @@ public class PurchaseNoticePersonServiceImpl implements IPurchaseNoticePersonSer
} }
@Override @Override
@Transactional
public AjaxResult batchSendSms(PurchaseNoticePersonDto purchaseNoticePersonDto) { public AjaxResult batchSendSms(PurchaseNoticePersonDto purchaseNoticePersonDto) {
String splitPhoneNumber = String.join(",", purchaseNoticePersonDto.getPhoneNumbers()); String splitPhoneNumber = String.join(",", purchaseNoticePersonDto.getPhoneNumbers());
try { try {
String sendResult = SmsUtils.smsToken(splitPhoneNumber, purchaseNoticePersonDto.getContent(), null); String sendResult = SmsUtils.smsToken(splitPhoneNumber, purchaseNoticePersonDto.getContent(), null);
return AjaxResult.success(sendResult); 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())
);
// 修改采购明细的任务状态
purchaseCheckDetailsService.batchUpdateDetailsTaskStatus(
purchaseNoticePersonDto.getTaskId(),
PurchaseTaskEnum.PURCHASE_TASK_STATUS_WAIT_NOTICE.getTaskStatusCode(),
PurchaseTaskEnum.PURCHASE_TASK_STATUS_WAIT_CHECK.getTaskStatusCode()
);
return AjaxResult.success("短信发送成功:" + sendResult);
} else {
return AjaxResult.error("短信发送失败,发送结果为空");
}
} catch (Exception e) { } catch (Exception e) {
// 抛出异常执行事务回滚
throw new RuntimeException("短信发送异常:" + e.getMessage()); throw new RuntimeException("短信发送异常:" + e.getMessage());
} }
} }

View File

@ -6,6 +6,7 @@ import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.ToString; import lombok.ToString;
import com.bonus.common.core.web.domain.BaseEntity; import com.bonus.common.core.web.domain.BaseEntity;
import lombok.experimental.Accessors;
/** /**
* 任务对象 tm_task * 任务对象 tm_task
@ -14,6 +15,7 @@ import com.bonus.common.core.web.domain.BaseEntity;
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@Data @Data
@ToString @ToString
@Accessors(chain = true)
public class TmTask extends BaseEntity { public class TmTask extends BaseEntity {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@ -51,8 +53,8 @@ public class TmTask extends BaseEntity {
public TmTask(Long taskId, Integer taskType, Integer taskStatus, String code, Long companyId, String status, Integer monthOrder) { public TmTask(Long taskId, Integer taskType, Integer taskStatus, String code, Long companyId, String status, Integer monthOrder) {
this.taskId = taskId; this.taskId = taskId;
this.taskType = Math.toIntExact(taskType); this.taskType = taskType;
this.taskStatus = Math.toIntExact(taskStatus); this.taskStatus = taskStatus;
this.code = code; this.code = code;
this.companyId = companyId; this.companyId = companyId;
this.status = status; this.status = status;

View File

@ -51,6 +51,15 @@ public interface TmTaskMapper {
*/ */
int updateTmTask(TmTask tmTask); int updateTmTask(TmTask tmTask);
/**
* 根据任务id更新任务状态 -- 批量限制状态
* @param taskId 任务id 必传
* @param oldTaskStatus 旧状态限制条件限制影响边界
* @param newTaskStatus 新状态
*/
int updateTmTaskStatusByTaskId(@Param("taskId") Long taskId, @Param("oldTaskStatus") Integer oldTaskStatus, @Param("newTaskStatus") Integer newTaskStatus);
/** /**
* 删除任务 * 删除任务
* *

View File

@ -201,4 +201,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
values(#{item.taskId},#{item.typeId},#{item.purchasePrice},#{item.purchaseNum},#{item.checkNum},#{item.bindNum},#{item.checkResult},#{item.supplierId},#{item.status},#{item.productionTime},#{item.createBy},#{item.createTime},#{item.updateBy},#{item.updateTime},#{item.remark},#{item.checkUrlName},#{item.checkUrl},#{item.inputNum},#{item.inputStatus},#{item.inputTime},#{item.fileName},#{item.fileUrl},#{item.companyId}) values(#{item.taskId},#{item.typeId},#{item.purchasePrice},#{item.purchaseNum},#{item.checkNum},#{item.bindNum},#{item.checkResult},#{item.supplierId},#{item.status},#{item.productionTime},#{item.createBy},#{item.createTime},#{item.updateBy},#{item.updateTime},#{item.remark},#{item.checkUrlName},#{item.checkUrl},#{item.inputNum},#{item.inputStatus},#{item.inputTime},#{item.fileName},#{item.fileUrl},#{item.companyId})
</foreach> </foreach>
</insert> </insert>
<select id="batchUpdateDetailsTaskStatus" resultType="int">
update
purchase_check_details
set
`status` = #{newTaskStatus}
where
del_flag = '0'
and task_id = #{taskId}
and status = #{oldTaskStatus}
</select>
</mapper> </mapper>

View File

@ -21,7 +21,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</resultMap> </resultMap>
<sql id="selectPurchaseMacodeInfoVo"> <sql id="selectPurchaseMacodeInfoVo">
select id, task_id, type_id, ma_code, qr_code, fix_code, code_type, status, create_by, create_time, update_by, update_time, remark, company_id from purchase_macode_info select id, task_id, type_id, ma_code, qr_code, fix_code, code_type, status,
create_by, create_time, update_by, update_time, remark, company_id
from purchase_macode_info
</sql> </sql>
<select id="selectPurchaseMacodeInfoList" parameterType="com.bonus.material.purchase.domain.PurchaseMacodeInfo" resultMap="PurchaseMacodeInfoResult"> <select id="selectPurchaseMacodeInfoList" parameterType="com.bonus.material.purchase.domain.PurchaseMacodeInfo" resultMap="PurchaseMacodeInfoResult">

View File

@ -104,4 +104,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
and task_type = #{type} and task_type = #{type}
</if> </if>
</select> </select>
<update id="updateTmTaskStatusByTaskId">
update tm_task set task_status = #{newTaskStatus}
where task_id = #{taskId} and task_status = #{oldTaskStatus}
</update>
</mapper> </mapper>