新购接口优化合并

This commit is contained in:
sxu 2024-11-10 21:41:12 +08:00
parent 70ee9d114a
commit 672d11e239
26 changed files with 404 additions and 306 deletions

View File

@ -15,6 +15,6 @@ public class BmConfigItems {
public static final String BACK_TASK_AUDIT_ROLE_IDS = "back_task_audit_role_ids"; public static final String BACK_TASK_AUDIT_ROLE_IDS = "back_task_audit_role_ids";
/** 物资状态流转: 【】允许一个新购单的部分物资提前流转到下一个阶段 */ /** 物资状态流转: 【】允许一个新购单的部分物资提前流转到下一个阶段 */
public static final String BOOLEAN_PURCHASE_ALLOW_PART_TRANSFER = "purchase_allow_part_transfer"; public static final String BOOLEAN_ALLOW_PURCHASE_PART_TRANSFER = "allow_purchase_part_transfer";
} }

View File

@ -19,16 +19,6 @@ public class MaterialConstants {
// 树的根节点ID // 树的根节点ID
public static final Long TREE_ROOT_ID = 0L; public static final Long TREE_ROOT_ID = 0L;
/**
* 领料任务类型
*/
public static final Long LEASE_TASK_TYPE = 2L;
/**
* 退料任务类型
*/
public static final Long BACK_TASK_TYPE = 3L;
/** /**
* XLS * XLS
*/ */
@ -54,62 +44,9 @@ public class MaterialConstants {
*/ */
public static final String LATITUDE_PATTERN = "^(-?(90(\\.0+)?|[1-8]?\\d(\\.\\d{1,6})?))$"; public static final String LATITUDE_PATTERN = "^(-?(90(\\.0+)?|[1-8]?\\d(\\.\\d{1,6})?))$";
/**
* 待提交
*/
public static final Integer ZERO_CONSTANT = 0;
/**
* 待通知
*/
public static final Integer ONE_CONSTANT = 1;
/**
* 待验收
*/
public static final Integer TWO_CONSTANT = 2;
/**
* 待绑定
*/
public static final Integer THREE_CONSTANT = 3;
/**
* 待入库
*/
public static final Integer FOUR_CONSTANT = 4;
/**
* 已完成
*/
public static final Integer FIVE_CONSTANT = 5;
/**
* 待验收(驳回后)
*/
public static final Integer SIX_CONSTANT = 6;
/**
* 待绑定(驳回后)
*/
public static final Integer SEVEN_CONSTANT = 7;
/**
* 待入库(驳回后)
*/
public static final Integer EIGHT_CONSTANT = 8;
/**
* 入库进行中
*/
public static final Integer NINE_CONSTANT = 9;
/** /**
* 未完成 * 未完成
*/ */
public static final Integer TEN_CONSTANT = 10; public static final Integer TEN_CONSTANT = 10;
// 物资厂家管理任务类型 TASK_TYPE
public static final Long TASK_TYPE_WUZI_CHANGJIA = 9L;
} }

View File

@ -0,0 +1,17 @@
package com.bonus.common.biz.enums;
import lombok.Getter;
@Getter
public enum MaTypeManageTypeEnum {
CODE_DEVICE(0, "编码设备"),
NUMBER_DEVICE(1, "数量设备"),;
private final Integer typeId;
private final String typeName;
MaTypeManageTypeEnum(Integer typeId, String typeName) {
this.typeId = typeId;
this.typeName = typeName;
}
}

View File

@ -0,0 +1,26 @@
package com.bonus.common.biz.enums;
import lombok.Getter;
@Getter
public enum PurchaseTaskStatusEnum {
TO_NOTICE(1, "待通知"),
TO_CHECK(2, "待验收"),
TO_BIND(3, "待绑定"),
TO_STORE(4, "待入库"),
TO_CHECK_AFTER_REJECT(12, "待验收(驳回后)"),
TO_BIND_AFTER_REJECT(13, "待绑定(驳回后)"),
TO_STORE_AFTER_REJECT(14, "待入库(驳回后)"),
IN_STORE(19, "已入库"),
TASK_NOT_START(20, "入库未开始"),
TASK_IN_PROGRESS(21, "入库进行中"),
TASK_FINISHED(22, "入库已完成");
private final Integer status;
private final String statusName;
PurchaseTaskStatusEnum(Integer status, String statusName) {
this.status = status;
this.statusName = statusName;
}
}

View File

@ -0,0 +1,26 @@
package com.bonus.common.biz.enums;
import lombok.Getter;
@Getter
public enum TmTaskTypeEnum {
TM_TASK_PURCHASE(0, "新购"),
TM_TASK_PURCHASE_PART(1, "新购配件任务"),
TM_TASK_LEASE(2, "领料任务"),
TM_TASK_BACK(3, "退料任务"),
TM_TASK_REPAIR(4, "维修任务"),
TM_TASK_REPAIR_STORAGE(5, "修试后入库任务"),
TM_TASK_SCRAP(6, "报废任务"),
TM_TASK_SETTLEMENT(7, "结算任务"),
TM_TASK_CHECK(8, "检验任务"),
TM_TASK_FACTORY_MANAGEMENT(9, "物资厂家管理任务");
private final Integer taskTypeId;
private final String taskTypeName;
TmTaskTypeEnum(Integer taskTypeId, String taskTypeName) {
this.taskTypeId = taskTypeId;
this.taskTypeName = taskTypeName;
}
}

View File

@ -27,7 +27,7 @@ public class BmFileInfo extends BaseEntity
/** 任务类型, 参考数据字典 tm_task_type */ /** 任务类型, 参考数据字典 tm_task_type */
@Excel(name = "任务类型") @Excel(name = "任务类型")
@ApiModelProperty(value = "任务类型") @ApiModelProperty(value = "任务类型")
private Long taskType; private Integer taskType;
/** 任务id */ /** 任务id */
@Excel(name = "任务id") @Excel(name = "任务id")

View File

@ -68,9 +68,13 @@ public interface IBmConfigService
*/ */
public int deleteBmConfigById(Long id); public int deleteBmConfigById(Long id);
public List<String> getLeaseTaskAuditRoleIds(); public boolean isBmConfigEnabledWithDefaultFalse(String itemName);
public List<String> getBackTaskAuditRoleIds(); public boolean isBmConfigEnabledWithDefaultTrue(String itemName);
public boolean isPurchaseAllowPartTransfer(); public List<String> getBmConfigResultAsList(String itemName);
// public List<String> getLeaseTaskAuditRoleIds();
//
// public List<String> getBackTaskAuditRoleIds();
} }

View File

@ -123,36 +123,9 @@ public class BmConfigServiceImpl implements IBmConfigService
} }
} }
/**获取所设定的选项:领料审核角色列表*/ public boolean isBmConfigEnabledWithDefaultFalse(String itemName) {
public List<String> getLeaseTaskAuditRoleIds() {
List<String> list = new ArrayList();
BmConfig bmConfig = bmConfigMapper.selectBmConfigByItemName(BmConfigItems.LEASE_TASK_AUDIT_ROLE_IDS);
if (Objects.nonNull(bmConfig)) {
String value = getValueWithDefault(bmConfig.getItemValue(), "");
if (StringUtils.isNotEmpty(value)) {
list = Arrays.asList(value.split(","));
}
}
return list;
}
/**获取所设定的选项:退料审核角色列表*/
public List<String> getBackTaskAuditRoleIds() {
List<String> list = new ArrayList();
BmConfig bmConfig = bmConfigMapper.selectBmConfigByItemName(BmConfigItems.BACK_TASK_AUDIT_ROLE_IDS);
if (Objects.nonNull(bmConfig)) {
String value = getValueWithDefault(bmConfig.getItemValue(), "");
if (StringUtils.isNotEmpty(value)) {
list = Arrays.asList(value.split(","));
}
}
return list;
}
/**获取所设定的选项:新购物资是否允许部分流转到下一阶段*/
public boolean isPurchaseAllowPartTransfer() {
boolean result = false; boolean result = false;
BmConfig bmConfig = bmConfigMapper.selectBmConfigByItemName(BmConfigItems.BOOLEAN_PURCHASE_ALLOW_PART_TRANSFER); BmConfig bmConfig = bmConfigMapper.selectBmConfigByItemName(itemName);
if (Objects.nonNull(bmConfig)) { if (Objects.nonNull(bmConfig)) {
String value = getValueWithDefault(bmConfig.getItemValue(), "0"); String value = getValueWithDefault(bmConfig.getItemValue(), "0");
if (StringUtils.isNotEmpty(value)) { if (StringUtils.isNotEmpty(value)) {
@ -161,4 +134,54 @@ public class BmConfigServiceImpl implements IBmConfigService
} }
return result; return result;
} }
public boolean isBmConfigEnabledWithDefaultTrue(String itemName) {
boolean result = false;
BmConfig bmConfig = bmConfigMapper.selectBmConfigByItemName(itemName);
if (Objects.nonNull(bmConfig)) {
String value = getValueWithDefault(bmConfig.getItemValue(), "1");
if (StringUtils.isNotEmpty(value)) {
result = "1".equals(value) ? true : false;
}
}
return result;
}
public List<String> getBmConfigResultAsList(String itemName) {
List<String> list = new ArrayList();
BmConfig bmConfig = bmConfigMapper.selectBmConfigByItemName(itemName);
if (Objects.nonNull(bmConfig)) {
String value = getValueWithDefault(bmConfig.getItemValue(), "");
if (StringUtils.isNotEmpty(value)) {
list = Arrays.asList(value.split(","));
}
}
return list;
}
/**获取所设定的选项:领料审核角色列表*/
// public List<String> getLeaseTaskAuditRoleIds() {
// List<String> list = new ArrayList();
// BmConfig bmConfig = bmConfigMapper.selectBmConfigByItemName(BmConfigItems.LEASE_TASK_AUDIT_ROLE_IDS);
// if (Objects.nonNull(bmConfig)) {
// String value = getValueWithDefault(bmConfig.getItemValue(), "");
// if (StringUtils.isNotEmpty(value)) {
// list = Arrays.asList(value.split(","));
// }
// }
// return list;
// }
//
// /**获取所设定的选项:退料审核角色列表*/
// public List<String> getBackTaskAuditRoleIds() {
// List<String> list = new ArrayList();
// BmConfig bmConfig = bmConfigMapper.selectBmConfigByItemName(BmConfigItems.BACK_TASK_AUDIT_ROLE_IDS);
// if (Objects.nonNull(bmConfig)) {
// String value = getValueWithDefault(bmConfig.getItemValue(), "");
// if (StringUtils.isNotEmpty(value)) {
// list = Arrays.asList(value.split(","));
// }
// }
// return list;
// }
} }

View File

@ -2,8 +2,7 @@ package com.bonus.material.ma.service.impl;
import java.util.List; import java.util.List;
import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicBoolean;
import com.bonus.common.biz.enums.TmTaskTypeEnum;
import com.bonus.common.biz.constant.MaterialConstants;
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.web.domain.AjaxResult; import com.bonus.common.core.web.domain.AjaxResult;
@ -47,7 +46,7 @@ public class SupplierInfoServiceImpl implements ISupplierInfoService {
SupplierInfo supplierInfo = supplierInfoMapper.selectSupplierInfoBySupplierId(supplierId); SupplierInfo supplierInfo = supplierInfoMapper.selectSupplierInfoBySupplierId(supplierId);
BmFileInfo bmFileInfo = new BmFileInfo(); BmFileInfo bmFileInfo = new BmFileInfo();
bmFileInfo.setModelId(supplierInfo.getSupplierId()); bmFileInfo.setModelId(supplierInfo.getSupplierId());
bmFileInfo.setTaskType(MaterialConstants.TASK_TYPE_WUZI_CHANGJIA); bmFileInfo.setTaskType(TmTaskTypeEnum.TM_TASK_FACTORY_MANAGEMENT.getTaskTypeId());
List<BmFileInfo> fileInfos = bmFileInfoMapper.selectBmFileInfoList(bmFileInfo); List<BmFileInfo> fileInfos = bmFileInfoMapper.selectBmFileInfoList(bmFileInfo);
supplierInfo.setBmFileInfos(fileInfos); supplierInfo.setBmFileInfos(fileInfos);
return supplierInfo; return supplierInfo;
@ -108,7 +107,7 @@ public class SupplierInfoServiceImpl implements ISupplierInfoService {
if (updatedSupplierInfoResult > 0) { if (updatedSupplierInfoResult > 0) {
BmFileInfo bmFileInfoToDelete = new BmFileInfo(); BmFileInfo bmFileInfoToDelete = new BmFileInfo();
bmFileInfoToDelete.setModelId(supplierInfo.getSupplierId()); bmFileInfoToDelete.setModelId(supplierInfo.getSupplierId());
bmFileInfoToDelete.setTaskType(MaterialConstants.TASK_TYPE_WUZI_CHANGJIA); bmFileInfoToDelete.setTaskType(TmTaskTypeEnum.TM_TASK_FACTORY_MANAGEMENT.getTaskTypeId());
bmFileInfoMapper.deleteBmFileInfoByBizInfo(bmFileInfoToDelete); bmFileInfoMapper.deleteBmFileInfoByBizInfo(bmFileInfoToDelete);
if (CollectionUtils.isEmpty(supplierInfo.getBmFileInfos())) { if (CollectionUtils.isEmpty(supplierInfo.getBmFileInfos())) {
return AjaxResult.success("修改任务成功,无营业执照附件"); return AjaxResult.success("修改任务成功,无营业执照附件");
@ -140,7 +139,7 @@ public class SupplierInfoServiceImpl implements ISupplierInfoService {
for (int i = 0; i < supplierIds.length; i++) { for (int i = 0; i < supplierIds.length; i++) {
bmFileInfoToDelete = new BmFileInfo(); bmFileInfoToDelete = new BmFileInfo();
bmFileInfoToDelete.setModelId(supplierIds[i]); bmFileInfoToDelete.setModelId(supplierIds[i]);
bmFileInfoToDelete.setTaskType(MaterialConstants.TASK_TYPE_WUZI_CHANGJIA); bmFileInfoToDelete.setTaskType(TmTaskTypeEnum.TM_TASK_FACTORY_MANAGEMENT.getTaskTypeId());
bmFileInfoMapper.deleteBmFileInfoByBizInfo(bmFileInfoToDelete); bmFileInfoMapper.deleteBmFileInfoByBizInfo(bmFileInfoToDelete);
} }
return supplierInfoMapper.deleteSupplierInfoBySupplierIds(supplierIds); return supplierInfoMapper.deleteSupplierInfoBySupplierIds(supplierIds);

View File

@ -1,44 +1,44 @@
package com.bonus.material.purchase.config; //package com.bonus.material.purchase.config;
//
import lombok.Getter; //import lombok.Getter;
//
/** ///**
* @author : 阮世耀 // * @author : 阮世耀
* @version : 1.0 // * @version : 1.0
* @PackagePath: com.bonus.material.purchase.config // * @PackagePath: com.bonus.material.purchase.config
* @CreateTime: 2024-10-21 16:13 // * @CreateTime: 2024-10-21 16:13
* @Description: 新购模块阶段枚举 // * @Description: 新购模块阶段枚举
*/ // */
@Getter //@Getter
public enum PurchaseModelEnum { //public enum PurchaseModelEnum {
//
PURCHASE_MODEL_MANAGE("新购管理"), // PURCHASE_MODEL_MANAGE("新购管理"),
PURCHASE_MODEL_CONFIRM("新购确认"), // PURCHASE_MODEL_CONFIRM("新购确认"),
PURCHASE_MODEL_CHECK("新购验收"), // PURCHASE_MODEL_CHECK("新购验收"),
PURCHASE_MODEL_BIND("新购绑定"), // PURCHASE_MODEL_BIND("新购绑定"),
PURCHASE_MODEL_STORE("新购入库"); // PURCHASE_MODEL_STORE("新购入库");
//
private final String modelName; // private final String modelName;
//
/** // /**
* 定义构造函数 // * 定义构造函数
* @param modelName 模块名称 // * @param modelName 模块名称
*/ // */
PurchaseModelEnum(String modelName) { // PurchaseModelEnum(String modelName) {
this.modelName = modelName; // this.modelName = modelName;
} // }
//
//
/** // /**
* 判断传入的参数是否存在于枚举类中 // * 判断传入的参数是否存在于枚举类中
* @return 如果存在返回 true否则返回 false // * @return 如果存在返回 true否则返回 false
*/ // */
public static boolean containsModelName(String modelName) { // public static boolean containsModelName(String modelName) {
for (PurchaseModelEnum model : PurchaseModelEnum.values()) { // for (PurchaseModelEnum model : PurchaseModelEnum.values()) {
if (model.getModelName().equals(modelName)) { // if (model.getModelName().equals(modelName)) {
return true; // return true;
} // }
} // }
return false; // return false;
} // }
} //}

View File

@ -1,41 +1,41 @@
package com.bonus.material.purchase.config; //package com.bonus.material.purchase.config;
//
import lombok.Getter; //import lombok.Getter;
//
/** ///**
* @author : 阮世耀 // * @author : 阮世耀
* @version : 1.0 // * @version : 1.0
* @PackagePath: com.bonus.material.purchase.config // * @PackagePath: com.bonus.material.purchase.config
* @CreateTime: 2024-10-22 13:08 // * @CreateTime: 2024-10-22 13:08
* @Description: 新购任务信息枚举 // * @Description: 新购任务信息枚举
*/ // */
@Getter //@Getter
public enum PurchaseTaskEnum { //public enum PurchaseTaskEnum {
//
PURCHASE_TASK_STATUS_WAIT_SUBMIT(122, 0, "待提交", "purchase_task_status", 0), // PURCHASE_TASK_STATUS_WAIT_SUBMIT(122, 0, "待提交", "purchase_task_status", 0),
PURCHASE_TASK_STATUS_WAIT_NOTICE(123, 1, "待通知", "purchase_task_status", 0), // PURCHASE_TASK_STATUS_WAIT_NOTICE(123, 1, "待通知", "purchase_task_status", 0),
PURCHASE_TASK_STATUS_WAIT_CHECK(124, 2,"待验收", "purchase_task_status", 0), // PURCHASE_TASK_STATUS_WAIT_CHECK(124, 2,"待验收", "purchase_task_status", 0),
PURCHASE_TASK_STATUS_WAIT_BIND(125, 3,"待绑定", "purchase_task_status", 0), // PURCHASE_TASK_STATUS_WAIT_BIND(125, 3,"待绑定", "purchase_task_status", 0),
PURCHASE_TASK_STATUS_WAIT_IN(126, 4,"待入库", "purchase_task_status", 0), // PURCHASE_TASK_STATUS_WAIT_IN(126, 4,"待入库", "purchase_task_status", 0),
PURCHASE_TASK_STATUS_FINISH_OK(127, 5,"已完成", "purchase_task_status", 0), // PURCHASE_TASK_STATUS_FINISH_OK(127, 5,"已完成", "purchase_task_status", 0),
PURCHASE_TASK_STATUS_CHECK_NO(128, 6,"待验收(驳回后)", "purchase_task_status", 0), // PURCHASE_TASK_STATUS_CHECK_NO(128, 6,"待验收(驳回后)", "purchase_task_status", 0),
PURCHASE_TASK_STATUS_BIND_NO(129, 7,"待绑定(驳回后)", "purchase_task_status", 0), // PURCHASE_TASK_STATUS_BIND_NO(129, 7,"待绑定(驳回后)", "purchase_task_status", 0),
PURCHASE_TASK_STATUS_IN_NO(130, 8,"待入库(驳回后)", "purchase_task_status", 0), // PURCHASE_TASK_STATUS_IN_NO(130, 8,"待入库(驳回后)", "purchase_task_status", 0),
PURCHASE_TASK_STATUS_PART_IN(131, 9,"入库进行中", "purchase_task_status", 0), // PURCHASE_TASK_STATUS_PART_IN(131, 9,"入库进行中", "purchase_task_status", 0),
PURCHASE_TASK_STATUS_FINISH_NO(132, 10,"未完成", "purchase_task_status", 0); // PURCHASE_TASK_STATUS_FINISH_NO(132, 10,"未完成", "purchase_task_status", 0);
//
//
private final Integer taskStatusCode; // private final Integer taskStatusCode;
private final Integer taskStatusValue; // private final Integer taskStatusValue;
private final String taskStatusName; // private final String taskStatusName;
private final String taskTypeValue; // private final String taskTypeValue;
private final Integer taskTypeId; // private final Integer taskTypeId;
//
PurchaseTaskEnum(Integer taskStatusCode, Integer taskStatusValue, String taskStatusName, String taskTypeValue, Integer taskTypeId) { // PurchaseTaskEnum(Integer taskStatusCode, Integer taskStatusValue, String taskStatusName, String taskTypeValue, Integer taskTypeId) {
this.taskStatusCode = taskStatusCode; // this.taskStatusCode = taskStatusCode;
this.taskStatusValue = taskStatusValue; // this.taskStatusValue = taskStatusValue;
this.taskStatusName = taskStatusName; // this.taskStatusName = taskStatusName;
this.taskTypeValue = taskTypeValue; // this.taskTypeValue = taskTypeValue;
this.taskTypeId = taskTypeId; // this.taskTypeId = taskTypeId;
} // }
} //}

View File

@ -5,7 +5,6 @@ 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.NotNull; import javax.validation.constraints.NotNull;
import com.bonus.common.log.enums.OperaType; import com.bonus.common.log.enums.OperaType;
import com.bonus.material.common.annotation.PreventRepeatSubmit; import com.bonus.material.common.annotation.PreventRepeatSubmit;
import com.bonus.material.purchase.domain.PurchaseCheckDetails; import com.bonus.material.purchase.domain.PurchaseCheckDetails;
@ -43,9 +42,9 @@ public class PurchaseCheckInfoController extends BaseController {
@ApiOperation(value = "查询新购验收任务列表") @ApiOperation(value = "查询新购验收任务列表")
//@RequiresPermissions("purchase:info:list") //@RequiresPermissions("purchase:info:list")
@GetMapping("/list") @GetMapping("/list")
public TableDataInfo list(PurchaseCheckInfo purchaseCheckInfo) { public TableDataInfo list(PurchaseQueryDto purchaseQueryDto) {
startPage(); startPage();
List<PurchaseCheckInfo> list = purchaseCheckInfoService.selectPurchaseCheckInfoList(purchaseCheckInfo); List<PurchaseCheckInfo> list = purchaseCheckInfoService.selectPurchaseCheckInfoList(purchaseQueryDto);
return getDataTable(list); return getDataTable(list);
} }
@ -153,8 +152,8 @@ public class PurchaseCheckInfoController extends BaseController {
//@RequiresPermissions("purchase:info:export") //@RequiresPermissions("purchase:info:export")
@SysLog(title = "新购验收任务", businessType = OperaType.EXPORT, module = "物资新购->导出新购验收任务") @SysLog(title = "新购验收任务", businessType = OperaType.EXPORT, module = "物资新购->导出新购验收任务")
@PostMapping("/export") @PostMapping("/export")
public void export(HttpServletResponse response, PurchaseCheckInfo purchaseCheckInfo) { public void export(HttpServletResponse response, PurchaseQueryDto purchaseQueryDto) {
List<PurchaseCheckInfo> list = purchaseCheckInfoService.selectPurchaseCheckInfoList(purchaseCheckInfo); List<PurchaseCheckInfo> list = purchaseCheckInfoService.selectPurchaseCheckInfoList(purchaseQueryDto);
ExcelUtil<PurchaseCheckInfo> util = new ExcelUtil<PurchaseCheckInfo>(PurchaseCheckInfo.class); ExcelUtil<PurchaseCheckInfo> util = new ExcelUtil<PurchaseCheckInfo>(PurchaseCheckInfo.class);
util.exportExcel(response, list, "新购验收任务数据"); util.exportExcel(response, list, "新购验收任务数据");
} }

View File

@ -34,7 +34,7 @@ public class PurchaseCheckInfo extends BaseEntity {
private Long taskId; private Long taskId;
@ApiModelProperty(value = "任务状态") @ApiModelProperty(value = "任务状态")
private String taskStatus; private Integer taskStatus;
@ApiModelProperty(value = "采购单号") @ApiModelProperty(value = "采购单号")
private String code; private String code;

View File

@ -1,10 +1,15 @@
package com.bonus.material.purchase.domain.dto; package com.bonus.material.purchase.domain.dto;
import com.bonus.common.core.annotation.Excel;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
import java.util.List;
/** /**
* @author : 阮世耀 * @author : 阮世耀
@ -25,10 +30,12 @@ public class PurchaseQueryDto {
private String code; private String code;
@ApiModelProperty(value = "开始时间") @ApiModelProperty(value = "开始时间")
private String startTime; @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date startTime;
@ApiModelProperty(value = "结束时间") @ApiModelProperty(value = "结束时间")
private String endTime; @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date endTime;
@ApiModelProperty(value = "任务状态") @ApiModelProperty(value = "任务状态")
private Integer taskStatus; private Integer taskStatus;
@ -46,4 +53,33 @@ public class PurchaseQueryDto {
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date productionTime; private Date productionTime;
/** 采购日期 */
@ApiModelProperty(value = "采购日期")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date purchaseTime;
/** 到货日期 */
@ApiModelProperty(value = "到货日期")
@NotNull(message = "到货日期不能为空")
@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 arrivalTime;
/** 采购员 */
@Excel(name = "采购员")
@ApiModelProperty(value = "采购员")
private Long purchaser;
/**
* 税率
*/
@ApiModelProperty(value = "税率 0~100")
@Size(max = 100, message = "税率长度必须介于 0 和 100 之间")
private BigDecimal taxRate;
/**
* 子任务状态列表, 比如待验收2,6 待绑定3,7 待入库4,8
*/
@ApiModelProperty(value = "子任务状态列表")
private List<Integer> subTaskStatus;
} }

View File

@ -20,7 +20,7 @@ public interface PurchaseCheckDetailsMapper {
* @param taskId * @param type 1-验收2-入库 * @param taskId * @param type 1-验收2-入库
* @return String类型多个物资类型根据逗号分割 * @return String类型多个物资类型根据逗号分割
*/ */
String selectMaTypeNameByTaskId(@Param("taskId") Long taskId, @Param("status") String status); String selectMaTypeNameByTaskId(@Param("taskId") Long taskId, @Param("status") Integer status);
/** /**
@ -35,7 +35,7 @@ public interface PurchaseCheckDetailsMapper {
* 根据任务id查询新购验收任务详细列表--Join查询 * 根据任务id查询新购验收任务详细列表--Join查询
* @param taskId 任务id * @param taskId 任务id
*/ */
List<PurchaseCheckDetails> selectPurchaseCheckDetailsListByTaskId(@Param("taskId") Long taskId, @Param("status") String status); List<PurchaseCheckDetails> selectPurchaseCheckDetailsListByTaskId(@Param("taskId") Long taskId, @Param("status") Integer status);
/** /**
* 根据任务id查询新购验收任务详细列表--Join查询 * 根据任务id查询新购验收任务详细列表--Join查询

View File

@ -2,6 +2,7 @@ package com.bonus.material.purchase.mapper;
import java.util.List; import java.util.List;
import com.bonus.material.purchase.domain.PurchaseCheckInfo; import com.bonus.material.purchase.domain.PurchaseCheckInfo;
import com.bonus.material.purchase.domain.dto.PurchaseQueryDto;
import com.bonus.material.purchase.domain.vo.PurchaseCheckFormVo; import com.bonus.material.purchase.domain.vo.PurchaseCheckFormVo;
/** /**
@ -30,10 +31,10 @@ public interface PurchaseCheckInfoMapper {
/** /**
* 查询新购验收任务列表--多表关联查询 * 查询新购验收任务列表--多表关联查询
* *
* @param purchaseCheckInfo 新购验收任务 * @param purchaseQueryDto 新购验收任务
* @return 新购验收任务集合 * @return 新购验收任务集合
*/ */
List<PurchaseCheckInfo> selectPurchaseCheckInfoJoinList(PurchaseCheckInfo purchaseCheckInfo); List<PurchaseCheckInfo> selectPurchaseCheckInfoJoinList(PurchaseQueryDto purchaseQueryDto);
/** /**
* 根据任务id查询任务单外层信息 * 根据任务id查询任务单外层信息

View File

@ -27,10 +27,10 @@ public interface IPurchaseCheckInfoService {
/** /**
* 查询新购验收任务列表 * 查询新购验收任务列表
* *
* @param purchaseCheckInfo 新购验收任务 * @param purchaseQueryDto 新购验收任务
* @return 新购验收任务集合 * @return 新购验收任务集合
*/ */
List<PurchaseCheckInfo> selectPurchaseCheckInfoList(PurchaseCheckInfo purchaseCheckInfo); List<PurchaseCheckInfo> selectPurchaseCheckInfoList(PurchaseQueryDto purchaseQueryDto);
List<PurchaseCheckDetails> selectPurchaseCheckDetailsList(PurchaseCheckInfo purchaseCheckInfo); List<PurchaseCheckDetails> selectPurchaseCheckDetailsList(PurchaseCheckInfo purchaseCheckInfo);

View File

@ -5,8 +5,9 @@ import com.bonus.common.biz.config.DateTimeHelper;
import com.bonus.common.biz.config.QrCodeUtils; import com.bonus.common.biz.config.QrCodeUtils;
import com.bonus.common.biz.constant.MaterialConstants; import com.bonus.common.biz.constant.MaterialConstants;
import com.bonus.common.biz.enums.HttpCodeEnum; import com.bonus.common.biz.enums.HttpCodeEnum;
import com.bonus.common.biz.enums.MaTypeManageTypeEnum;
import com.bonus.common.biz.enums.PurchaseTaskStatusEnum;
import com.bonus.common.core.utils.DateUtils; import com.bonus.common.core.utils.DateUtils;
import com.bonus.common.core.utils.StringUtils;
import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.common.core.web.domain.AjaxResult;
import com.bonus.common.security.utils.SecurityUtils; import com.bonus.common.security.utils.SecurityUtils;
import com.bonus.material.purchase.config.RemoteConfig; import com.bonus.material.purchase.config.RemoteConfig;
@ -20,7 +21,6 @@ import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.*; import java.io.*;
@ -63,7 +63,7 @@ public class PurchaseBindServiceImpl implements IPurchaseBindService {
// 检查是否全部为 1 // 检查是否全部为 1
boolean allOnes = true; boolean allOnes = true;
for (String manageType : split) { for (String manageType : split) {
if (!MaterialConstants.ONE_CONSTANT.equals(manageType.trim())) { if (!MaTypeManageTypeEnum.NUMBER_DEVICE.getTypeId().equals(manageType.trim())) {
allOnes = false; allOnes = false;
// 发现不是 1跳出循环 // 发现不是 1跳出循环
break; break;
@ -194,10 +194,10 @@ public class PurchaseBindServiceImpl implements IPurchaseBindService {
if (CollectionUtils.isNotEmpty(voList)) { if (CollectionUtils.isNotEmpty(voList)) {
for (PurchaseVo purchaseVo : voList) { for (PurchaseVo purchaseVo : voList) {
if (purchaseVo.getBindNum().equals(purchaseVo.getCheckNum())) { if (purchaseVo.getBindNum().equals(purchaseVo.getCheckNum())) {
purchaseBindMapper.updateStatusById(MaterialConstants.FOUR_CONSTANT, purchaseVo.getPurchaseId()); purchaseBindMapper.updateStatusById(PurchaseTaskStatusEnum.TO_STORE.getStatus(), purchaseVo.getPurchaseId());
} }
if (purchaseVo.getBindNum() < purchaseVo.getCheckNum()) { if (purchaseVo.getBindNum() < purchaseVo.getCheckNum()) {
purchaseBindMapper.updateStatusById(MaterialConstants.THREE_CONSTANT, purchaseVo.getPurchaseId()); purchaseBindMapper.updateStatusById(PurchaseTaskStatusEnum.TO_BIND.getStatus(), purchaseVo.getPurchaseId());
} }
} }
} }
@ -225,13 +225,13 @@ public class PurchaseBindServiceImpl implements IPurchaseBindService {
* @return * @return
*/ */
private int updateTaskStatus(Integer taskId, List<Integer> statusList) { private int updateTaskStatus(Integer taskId, List<Integer> statusList) {
if (statusList.contains(MaterialConstants.EIGHT_CONSTANT) || if (statusList.contains(PurchaseTaskStatusEnum.TO_STORE_AFTER_REJECT.getStatus()) ||
statusList.contains(MaterialConstants.THREE_CONSTANT)) { statusList.contains(PurchaseTaskStatusEnum.TO_BIND.getStatus())) {
return tmTaskMapper.updateStatusById(MaterialConstants.TEN_CONSTANT, taskId.toString()); return tmTaskMapper.updateStatusById(MaterialConstants.TEN_CONSTANT, taskId.toString());
} else if (!statusList.contains(MaterialConstants.EIGHT_CONSTANT) && } else if (!statusList.contains(PurchaseTaskStatusEnum.TO_STORE_AFTER_REJECT.getStatus()) &&
!statusList.contains(MaterialConstants.THREE_CONSTANT) && !statusList.contains(PurchaseTaskStatusEnum.TO_BIND.getStatus()) &&
statusList.contains(MaterialConstants.FOUR_CONSTANT)) { statusList.contains(PurchaseTaskStatusEnum.TO_STORE.getStatus())) {
return tmTaskMapper.updateStatusById(MaterialConstants.FIVE_CONSTANT, taskId.toString()); return tmTaskMapper.updateStatusById(PurchaseTaskStatusEnum.IN_STORE.getStatus(), taskId.toString());
} }
return 0; return 0;
} }
@ -280,8 +280,9 @@ public class PurchaseBindServiceImpl implements IPurchaseBindService {
if (CollectionUtils.isNotEmpty(list)) { if (CollectionUtils.isNotEmpty(list)) {
for (PurchaseVo purchaseVo : list) { for (PurchaseVo purchaseVo : list) {
//更新状态为已驳回 //更新状态为已驳回
if (purchaseVo.getStatus().equals(MaterialConstants.THREE_CONSTANT) || purchaseVo.getStatus().equals(MaterialConstants.SEVEN_CONSTANT)) { if (purchaseVo.getStatus().equals(PurchaseTaskStatusEnum.TO_BIND.getStatus()) ||
purchaseBindMapper.updateStatusById(MaterialConstants.SEVEN_CONSTANT, purchaseVo.getPurchaseId()); purchaseVo.getStatus().equals(PurchaseTaskStatusEnum.TO_BIND_AFTER_REJECT.getStatus())) {
purchaseBindMapper.updateStatusById(PurchaseTaskStatusEnum.TO_BIND_AFTER_REJECT.getStatus(), purchaseVo.getPurchaseId());
} }
} }
} }
@ -291,7 +292,7 @@ public class PurchaseBindServiceImpl implements IPurchaseBindService {
if (dto.getPurchaseId() != null) { if (dto.getPurchaseId() != null) {
List<String> idList = Arrays.asList(dto.getPurchaseId().split(",")); List<String> idList = Arrays.asList(dto.getPurchaseId().split(","));
for (String purchaseId : idList) { for (String purchaseId : idList) {
purchaseBindMapper.updateStatusById(MaterialConstants.SEVEN_CONSTANT, purchaseId); purchaseBindMapper.updateStatusById(PurchaseTaskStatusEnum.TO_BIND_AFTER_REJECT.getStatus(), purchaseId);
} }
for (String id : idList) { for (String id : idList) {
//根据二级页面驳回状态更新任务状态 //根据二级页面驳回状态更新任务状态
@ -329,11 +330,12 @@ public class PurchaseBindServiceImpl implements IPurchaseBindService {
.mapToInt(entry -> { .mapToInt(entry -> {
Integer taskId = entry.getKey(); Integer taskId = entry.getKey();
List<Integer> statusList = entry.getValue(); List<Integer> statusList = entry.getValue();
if (statusList.contains(MaterialConstants.SEVEN_CONSTANT) || statusList.contains(MaterialConstants.THREE_CONSTANT)) { if (statusList.contains(PurchaseTaskStatusEnum.TO_BIND_AFTER_REJECT.getStatus()) ||
statusList.contains(PurchaseTaskStatusEnum.TO_BIND.getStatus())) {
return tmTaskMapper.updateStatusById(MaterialConstants.TEN_CONSTANT, taskId.toString()); return tmTaskMapper.updateStatusById(MaterialConstants.TEN_CONSTANT, taskId.toString());
} else if (!statusList.contains(MaterialConstants.SEVEN_CONSTANT) && !statusList.contains(MaterialConstants.THREE_CONSTANT) } else if (!statusList.contains(PurchaseTaskStatusEnum.TO_BIND_AFTER_REJECT.getStatus()) && !statusList.contains(PurchaseTaskStatusEnum.TO_BIND.getStatus())
&& statusList.contains(MaterialConstants.FOUR_CONSTANT)) { && statusList.contains(PurchaseTaskStatusEnum.TO_STORE.getStatus())) {
return tmTaskMapper.updateStatusById(MaterialConstants.FIVE_CONSTANT, taskId.toString()); return tmTaskMapper.updateStatusById(PurchaseTaskStatusEnum.IN_STORE.getStatus(), taskId.toString());
} }
return 0; return 0;
}).sum(); }).sum();

View File

@ -2,20 +2,20 @@ package com.bonus.material.purchase.service.impl;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.math.RoundingMode; import java.math.RoundingMode;
import java.util.ArrayList; import java.util.*;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import java.util.concurrent.atomic.AtomicLong; import java.util.concurrent.atomic.AtomicLong;
import java.util.concurrent.atomic.AtomicReference; import java.util.concurrent.atomic.AtomicReference;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import com.bonus.common.biz.constant.BmConfigItems;
import com.bonus.common.biz.enums.PurchaseTaskStatusEnum;
import com.bonus.common.biz.enums.TmTaskTypeEnum;
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.web.domain.AjaxResult; import com.bonus.common.core.web.domain.AjaxResult;
import com.bonus.common.security.utils.SecurityUtils; import com.bonus.common.security.utils.SecurityUtils;
import com.bonus.material.basic.domain.BmFileInfo; import com.bonus.material.basic.domain.BmFileInfo;
import com.bonus.material.basic.mapper.BmFileInfoMapper; import com.bonus.material.basic.mapper.BmFileInfoMapper;
import com.bonus.material.purchase.config.PurchaseTaskEnum; import com.bonus.material.basic.service.IBmConfigService;
import com.bonus.material.purchase.domain.PurchaseCheckDetails; import com.bonus.material.purchase.domain.PurchaseCheckDetails;
import com.bonus.material.purchase.domain.dto.PurchaseCheckDto; import com.bonus.material.purchase.domain.dto.PurchaseCheckDto;
import com.bonus.material.purchase.domain.dto.PurchaseDto; import com.bonus.material.purchase.domain.dto.PurchaseDto;
@ -30,7 +30,6 @@ import org.springframework.stereotype.Service;
import com.bonus.material.purchase.mapper.PurchaseCheckInfoMapper; import com.bonus.material.purchase.mapper.PurchaseCheckInfoMapper;
import com.bonus.material.purchase.domain.PurchaseCheckInfo; import com.bonus.material.purchase.domain.PurchaseCheckInfo;
import com.bonus.material.purchase.service.IPurchaseCheckInfoService; import com.bonus.material.purchase.service.IPurchaseCheckInfoService;
import org.springframework.transaction.PlatformTransactionManager;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -46,7 +45,7 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService {
public static final String TASK_TYPE_LABEL = "XG"; public static final String TASK_TYPE_LABEL = "XG";
@Autowired @Autowired
private PlatformTransactionManager transactionManager; private IBmConfigService bmConfigService;
@Resource @Resource
private PurchaseCheckInfoMapper purchaseCheckInfoMapper; private PurchaseCheckInfoMapper purchaseCheckInfoMapper;
@ -69,43 +68,47 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService {
@Override @Override
public PurchaseCheckDto selectPurchaseCheckInfoById(PurchaseQueryDto purchaseQueryDto) { public PurchaseCheckDto selectPurchaseCheckInfoById(PurchaseQueryDto purchaseQueryDto) {
PurchaseCheckDto purchaseCheckDtoResult = new PurchaseCheckDto(); PurchaseCheckDto purchaseCheckDtoResult = new PurchaseCheckDto();
PurchaseCheckInfo purchaseCheckInfo = purchaseCheckInfoMapper.selectPurchaseCheckInfoById(purchaseQueryDto.getId()); boolean isAllowPartTransfer = bmConfigService.isBmConfigEnabledWithDefaultFalse(BmConfigItems.BOOLEAN_ALLOW_PURCHASE_PART_TRANSFER);
if (purchaseCheckInfo != null) { List<PurchaseCheckDetails> purchaseCheckDetails;
purchaseCheckDtoResult.setPurchaseCheckInfo(purchaseCheckInfo); if (isAllowPartTransfer) {
List<PurchaseCheckDetails> purchaseCheckDetails = purchaseCheckDetailsMapper.selectPurchaseCheckDetailsListByQueryDto(purchaseQueryDto); purchaseCheckDetails = purchaseCheckDetailsMapper.selectPurchaseCheckDetailsListByQueryDto(purchaseQueryDto);
if (purchaseCheckDetails != null) { } else {
purchaseQueryDto.setTaskStatus(null);
purchaseCheckDetails = purchaseCheckDetailsMapper.selectPurchaseCheckDetailsListByQueryDto(purchaseQueryDto);
}
purchaseCheckDtoResult.setPurchaseCheckDetailsList(purchaseCheckDetails); purchaseCheckDtoResult.setPurchaseCheckDetailsList(purchaseCheckDetails);
}
}
return purchaseCheckDtoResult; return purchaseCheckDtoResult;
} }
/** /**
* 查询新购验收任务列表 * 查询新购验收任务列表
* *
* @param purchaseCheckInfo 新购验收任务请求参数 * @param purchaseQueryDto 新购验收任务请求参数
* @return 新购验收任务 * @return 新购验收任务
*/ */
@Override @Override
public List<PurchaseCheckInfo> selectPurchaseCheckInfoList(PurchaseCheckInfo purchaseCheckInfo) { public List<PurchaseCheckInfo> selectPurchaseCheckInfoList(PurchaseQueryDto purchaseQueryDto) {
List<PurchaseCheckInfo> purchaseCheckInfos = purchaseCheckInfoMapper.selectPurchaseCheckInfoJoinList(purchaseQueryDto);
List<PurchaseCheckInfo> purchaseCheckInfoResult = new ArrayList<>(); List<PurchaseCheckInfo> purchaseCheckInfoResult = new ArrayList<>();
List<PurchaseCheckInfo> purchaseCheckInfos = purchaseCheckInfoMapper.selectPurchaseCheckInfoJoinList(purchaseCheckInfo) if (CollectionUtils.isEmpty(purchaseCheckInfos)) {
.stream() return purchaseCheckInfoResult;
.filter(Objects::nonNull) }
.filter(purchaseInfo -> purchaseInfo.getTaskId() != null) boolean isAllowPartTransfer = bmConfigService.isBmConfigEnabledWithDefaultFalse(BmConfigItems.BOOLEAN_ALLOW_PURCHASE_PART_TRANSFER);
.collect(Collectors.toList()); // TODO 下一行需要前端传1后删除
purchaseQueryDto.setTaskStatus(Objects.isNull(purchaseQueryDto.getTaskStatus()) ? PurchaseTaskStatusEnum.TO_NOTICE.getStatus() : purchaseQueryDto.getTaskStatus());
for (PurchaseCheckInfo purchaseInfo : purchaseCheckInfos) { for (PurchaseCheckInfo purchaseInfo : purchaseCheckInfos) {
String purchaseMaName = purchaseCheckDetailsMapper.selectMaTypeNameByTaskId(purchaseInfo.getTaskId(), purchaseCheckInfo.getTaskStatus()); List<PurchaseCheckDetails> purchaseCheckDetails = purchaseCheckDetailsMapper.selectPurchaseCheckDetailsListByTaskId(purchaseInfo.getTaskId(), null);
purchaseInfo.setPurchaseMaTypeName(purchaseMaName != null ? purchaseMaName : ""); OptionalInt minStatus = purchaseCheckDetails.stream().mapToInt(PurchaseCheckDetails::getStatus).min();
List<PurchaseCheckDetails> purchaseCheckDetails = purchaseCheckDetailsMapper.selectPurchaseCheckDetailsListByTaskId(purchaseInfo.getTaskId(), purchaseCheckInfo.getTaskStatus()) OptionalInt maxStatus = purchaseCheckDetails.stream().mapToInt(PurchaseCheckDetails::getStatus).max();
.stream() if (isAllowPartTransfer) {
.filter(Objects::nonNull) purchaseCheckDetails = purchaseCheckDetails.stream().filter(o -> purchaseQueryDto.getTaskStatus().equals(o.getStatus())).collect(Collectors.toList());
.collect(Collectors.toList()); purchaseInfo.setPurchaseMaTypeName(purchaseCheckDetailsMapper.selectMaTypeNameByTaskId(purchaseInfo.getTaskId(), purchaseQueryDto.getTaskStatus()));
} else {
purchaseInfo.setPurchaseMaTypeName(purchaseCheckDetailsMapper.selectMaTypeNameByTaskId(purchaseInfo.getTaskId(), null));
}
if (!CollectionUtils.isEmpty(purchaseCheckDetails)) { if (!CollectionUtils.isEmpty(purchaseCheckDetails)) {
AtomicLong purchaseMaTotalNumber = new AtomicLong(0L); AtomicLong purchaseMaTotalNumber = new AtomicLong(0L);
AtomicReference<BigDecimal> purchaseMaTotalPrice = new AtomicReference<>(BigDecimal.ZERO); AtomicReference<BigDecimal> purchaseMaTotalPrice = new AtomicReference<>(BigDecimal.ZERO);
// 执行for循环统计采购物资数量价格
for (PurchaseCheckDetails detail : purchaseCheckDetails) { for (PurchaseCheckDetails detail : purchaseCheckDetails) {
if (detail.getPurchaseNum() == null || detail.getPurchasePrice() == null) { if (detail.getPurchaseNum() == null || detail.getPurchasePrice() == null) {
continue; continue;
@ -119,11 +122,21 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService {
purchaseInfo.setPurchaseMaNumber(purchaseMaTotalNumber.get()); purchaseInfo.setPurchaseMaNumber(purchaseMaTotalNumber.get());
purchaseInfo.setPurchasePrice(purchaseMaTotalPrice.get()); purchaseInfo.setPurchasePrice(purchaseMaTotalPrice.get());
if (purchaseInfo.getTaxRate() != null && purchaseInfo.getPurchasePrice() != null) { if (purchaseInfo.getTaxRate() != null && purchaseInfo.getPurchasePrice() != null) {
purchaseInfo.setPurchaseTaxPrice( purchaseInfo.setPurchaseTaxPrice(calculateTaxPrice(purchaseMaTotalPrice.get(), purchaseInfo.getTaxRate()));
calculateTaxPrice(purchaseMaTotalPrice.get(), purchaseInfo.getTaxRate())
);
} }
if (maxStatus.isPresent() && maxStatus.getAsInt() == PurchaseTaskStatusEnum.TO_NOTICE.getStatus()) {
purchaseInfo.setTaskStatus(PurchaseTaskStatusEnum.TASK_NOT_START.getStatus()); // 外层任务未开始
} else if (minStatus.isPresent() && minStatus.getAsInt() == PurchaseTaskStatusEnum.IN_STORE.getStatus()) {
purchaseInfo.setTaskStatus(PurchaseTaskStatusEnum.TASK_FINISHED.getStatus()); // 外层任务已完成
} else {
purchaseInfo.setTaskStatus(PurchaseTaskStatusEnum.TASK_IN_PROGRESS.getStatus()); //外层任务进行中
}
if (isAllowPartTransfer) {
purchaseCheckInfoResult.add(purchaseInfo); purchaseCheckInfoResult.add(purchaseInfo);
} else if (minStatus.isPresent() && Integer.valueOf(minStatus.getAsInt()).equals(purchaseQueryDto.getTaskStatus())) {
// 当不允许部分物资状态流转时例如内部状态含(2,3)其中最小的状态值(2),当等于传入的状态值(2)才显示外面的列表
purchaseCheckInfoResult.add(purchaseInfo);
}
} }
} }
return purchaseCheckInfoResult; return purchaseCheckInfoResult;
@ -164,12 +177,14 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService {
purchaseCheckInfo.getPurchaseCheckInfo().setCreateTime(DateUtils.getNowDate()); purchaseCheckInfo.getPurchaseCheckInfo().setCreateTime(DateUtils.getNowDate());
purchaseCheckInfo.getPurchaseCheckInfo().setCreateBy(SecurityUtils.getUsername()); purchaseCheckInfo.getPurchaseCheckInfo().setCreateBy(SecurityUtils.getUsername());
try { try {
// 查询新购任务当月最大单号 int thisMonthMaxOrder = tmTaskMapper.getMonthMaxOrderByDate(DateUtils.getCurrentYear(), DateUtils.getCurrentMonth(), TmTaskTypeEnum.TM_TASK_PURCHASE.getTaskTypeId());
Integer thisMonthMaxOrder = tmTaskMapper.getMonthMaxOrderByDate(DateUtils.getCurrentYear(), DateUtils.getCurrentMonth(), Long.valueOf(PurchaseTaskEnum.PURCHASE_TASK_STATUS_WAIT_NOTICE.getTaskTypeId())); String taskCode = genderTaskCode(purchaseCheckInfo, thisMonthMaxOrder);
// 查询出的单号值进行必要性校正 TmTask tmTask = new TmTask(null, TmTaskTypeEnum.TM_TASK_PURCHASE.getTaskTypeId(),
thisMonthMaxOrder = Optional.ofNullable(thisMonthMaxOrder).orElse(0); PurchaseTaskStatusEnum.TO_NOTICE.getStatus(),
// 生成单号 purchaseCheckInfo.getPurchaseCheckInfo().getCompanyId(), "1", thisMonthMaxOrder + 1, taskCode);
TmTask tmTask = genderTaskCode(purchaseCheckInfo, thisMonthMaxOrder); //tmTask.setMonthOrder(thisMonthMaxOrder);
//tmTask.setCode(genderTaskCode(purchaseCheckInfo, thisMonthMaxOrder));
tmTask.setCreateTime(DateUtils.getNowDate());
tmTaskMapper.insertTmTask(tmTask); tmTaskMapper.insertTmTask(tmTask);
Long taskId = tmTask.getTaskId(); Long taskId = tmTask.getTaskId();
purchaseCheckInfo.getPurchaseCheckInfo().setTaskId(taskId); purchaseCheckInfo.getPurchaseCheckInfo().setTaskId(taskId);
@ -190,6 +205,7 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService {
if (!CollectionUtils.isEmpty(purchaseCheckDetailsList)) { if (!CollectionUtils.isEmpty(purchaseCheckDetailsList)) {
for (PurchaseCheckDetails details : purchaseCheckDetailsList) { for (PurchaseCheckDetails details : purchaseCheckDetailsList) {
details.setTaskId(taskId); details.setTaskId(taskId);
details.setStatus(PurchaseTaskStatusEnum.TO_NOTICE.getStatus());
details.setInputStatus("0"); details.setInputStatus("0");
List<BmFileInfo> bmFileInfos = details.getBmFileInfos(); List<BmFileInfo> bmFileInfos = details.getBmFileInfos();
if (!CollectionUtils.isEmpty(bmFileInfos)) { if (!CollectionUtils.isEmpty(bmFileInfos)) {
@ -284,15 +300,8 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService {
* @param thisMonthMaxOrder 当月最大单号 * @param thisMonthMaxOrder 当月最大单号
* @return 任务对象 * @return 任务对象
*/ */
private static TmTask genderTaskCode(PurchaseCheckDto purchaseCheckInfo, Integer thisMonthMaxOrder) { private static String genderTaskCode(PurchaseCheckDto purchaseCheckInfo, Integer thisMonthMaxOrder) {
String taskCode = TASK_TYPE_LABEL + DateUtils.getCurrentYear() + DateUtils.getCurrentMonth() + String.format("%06d", thisMonthMaxOrder + 1); return TASK_TYPE_LABEL + DateUtils.getCurrentYear() + DateUtils.getCurrentMonth() + String.format("%06d", thisMonthMaxOrder + 1);
// 构造函数创建任务对象
return new TmTask(null,
PurchaseTaskEnum.PURCHASE_TASK_STATUS_WAIT_NOTICE.getTaskTypeId(),
PurchaseTaskEnum.PURCHASE_TASK_STATUS_WAIT_NOTICE.getTaskStatusValue(),
taskCode, purchaseCheckInfo.getPurchaseCheckInfo().getCompanyId(), "1", thisMonthMaxOrder + 1
);
} }
/** /**
@ -326,6 +335,7 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService {
@Override @Override
@Transactional @Transactional
public int deletePurchaseCheckInfoByIds(Long[] ids) { public int deletePurchaseCheckInfoByIds(Long[] ids) {
tmTaskMapper.deleteTmTaskByPurchaseIds(ids);
purchaseCheckDetailsMapper.deletePurchaseCheckDetailsByParentIds(ids); purchaseCheckDetailsMapper.deletePurchaseCheckDetailsByParentIds(ids);
return purchaseCheckInfoMapper.deletePurchaseCheckInfoByIds(ids); return purchaseCheckInfoMapper.deletePurchaseCheckInfoByIds(ids);
} }

View File

@ -1,12 +1,12 @@
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.biz.enums.PurchaseTaskStatusEnum;
import com.bonus.common.biz.enums.TmTaskTypeEnum;
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.domain.dto.PurchaseNoticePersonDto; import com.bonus.material.purchase.domain.dto.PurchaseNoticePersonDto;
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;
@ -78,14 +78,14 @@ public class PurchaseNoticePersonServiceImpl implements IPurchaseNoticePersonSer
// 发送短信后修改任务状态 // 发送短信后修改任务状态
tmTaskMapper.updateTmTask(new TmTask() tmTaskMapper.updateTmTask(new TmTask()
.setTaskId(purchaseNoticePersonDto.getTaskId()) .setTaskId(purchaseNoticePersonDto.getTaskId())
.setTaskType(PurchaseTaskEnum.PURCHASE_TASK_STATUS_WAIT_CHECK.getTaskTypeId()) .setTaskType(TmTaskTypeEnum.TM_TASK_PURCHASE.getTaskTypeId())
.setTaskStatus(PurchaseTaskEnum.PURCHASE_TASK_STATUS_WAIT_CHECK.getTaskStatusValue()) .setTaskStatus(PurchaseTaskStatusEnum.TO_CHECK.getStatus())
); );
// 修改采购明细的任务状态 // 修改采购明细的任务状态
purchaseCheckDetailsService.batchUpdateDetailsTaskStatus( purchaseCheckDetailsService.batchUpdateDetailsTaskStatus(
purchaseNoticePersonDto.getTaskId(), purchaseNoticePersonDto.getTaskId(),
PurchaseTaskEnum.PURCHASE_TASK_STATUS_WAIT_CHECK.getTaskStatusValue(), "" PurchaseTaskStatusEnum.TO_CHECK.getStatus(), ""
); );
return AjaxResult.success("短信发送成功:" + sendResult); return AjaxResult.success("短信发送成功:" + sendResult);

View File

@ -1,8 +1,9 @@
package com.bonus.material.purchase.service.impl; package com.bonus.material.purchase.service.impl;
import com.alibaba.nacos.common.utils.CollectionUtils; import com.alibaba.nacos.common.utils.CollectionUtils;
import com.bonus.common.biz.constant.MaterialConstants; import com.bonus.common.biz.constant.MaterialConstants;
import com.bonus.common.biz.enums.HttpCodeEnum; import com.bonus.common.biz.enums.HttpCodeEnum;
import com.bonus.common.biz.enums.MaTypeManageTypeEnum;
import com.bonus.common.biz.enums.PurchaseTaskStatusEnum;
import com.bonus.common.core.utils.StringUtils; import com.bonus.common.core.utils.StringUtils;
import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.common.core.web.domain.AjaxResult;
import com.bonus.material.ma.mapper.MachineMapper; import com.bonus.material.ma.mapper.MachineMapper;
@ -15,16 +16,12 @@ import com.bonus.material.purchase.domain.vo.PurchaseVo;
import com.bonus.material.task.mapper.TmTaskMapper; import com.bonus.material.task.mapper.TmTaskMapper;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import static com.bonus.common.biz.constant.MaterialConstants.ONE_CONSTANT;
import static com.bonus.common.biz.constant.MaterialConstants.ZERO_CONSTANT;
/** /**
* 新购入库实现层 * 新购入库实现层
* @Author ma_sh * @Author ma_sh
@ -164,7 +161,7 @@ public class PurchaseStorageServiceImpl implements IPurchaseStorageService {
* @return * @return
*/ */
private AjaxResult rejectByPurchaseIds(PurchaseDto purchaseDto) { private AjaxResult rejectByPurchaseIds(PurchaseDto purchaseDto) {
purchaseDto.setStatus(MaterialConstants.EIGHT_CONSTANT); purchaseDto.setStatus(PurchaseTaskStatusEnum.TO_STORE_AFTER_REJECT.getStatus());
int result = 0; int result = 0;
try { try {
List<PurchaseVo> details = purchaseBindMapper.getDetails(purchaseDto); List<PurchaseVo> details = purchaseBindMapper.getDetails(purchaseDto);
@ -188,7 +185,7 @@ public class PurchaseStorageServiceImpl implements IPurchaseStorageService {
* @return * @return
*/ */
private int updateRejectAndStatus(int purchaseId) { private int updateRejectAndStatus(int purchaseId) {
return purchaseStorageMapper.updateStatusById(MaterialConstants.EIGHT_CONSTANT, purchaseId); return purchaseStorageMapper.updateStatusById(PurchaseTaskStatusEnum.TO_STORE_AFTER_REJECT.getStatus(), purchaseId);
} }
/** /**
@ -205,8 +202,8 @@ public class PurchaseStorageServiceImpl implements IPurchaseStorageService {
List<PurchaseVo> details; List<PurchaseVo> details;
details = purchaseBindMapper.getDetails(dto); details = purchaseBindMapper.getDetails(dto);
for (PurchaseVo purchaseVo : details) { for (PurchaseVo purchaseVo : details) {
if (purchaseVo.getStatus().equals(MaterialConstants.EIGHT_CONSTANT) || purchaseVo.getStatus().equals(MaterialConstants.FOUR_CONSTANT)) { if (purchaseVo.getStatus().equals(PurchaseTaskStatusEnum.TO_STORE_AFTER_REJECT.getStatus()) || purchaseVo.getStatus().equals(PurchaseTaskStatusEnum.TO_STORE.getStatus())) {
result += purchaseStorageMapper.updateStatusById(MaterialConstants.EIGHT_CONSTANT, Integer.parseInt(purchaseVo.getPurchaseId())); result += purchaseStorageMapper.updateStatusById(PurchaseTaskStatusEnum.TO_STORE_AFTER_REJECT.getStatus(), Integer.parseInt(purchaseVo.getPurchaseId()));
} }
} }
details = purchaseBindMapper.getDetails(dto); details = purchaseBindMapper.getDetails(dto);
@ -227,7 +224,7 @@ public class PurchaseStorageServiceImpl implements IPurchaseStorageService {
* @return * @return
*/ */
private AjaxResult processByPurchaseIds(PurchaseDto purchaseDto) { private AjaxResult processByPurchaseIds(PurchaseDto purchaseDto) {
purchaseDto.setStatus(MaterialConstants.FIVE_CONSTANT); purchaseDto.setStatus(PurchaseTaskStatusEnum.IN_STORE.getStatus());
int result = 0; int result = 0;
try { try {
List<PurchaseVo> details = purchaseBindMapper.getDetails(purchaseDto); List<PurchaseVo> details = purchaseBindMapper.getDetails(purchaseDto);
@ -252,10 +249,10 @@ public class PurchaseStorageServiceImpl implements IPurchaseStorageService {
* @return * @return
*/ */
private int updatePurchaseInfoAndDetails(PurchaseVo detail, int purchaseId) { private int updatePurchaseInfoAndDetails(PurchaseVo detail, int purchaseId) {
int result = purchaseStorageMapper.updateStatusById(MaterialConstants.FIVE_CONSTANT, purchaseId); int result = purchaseStorageMapper.updateStatusById(PurchaseTaskStatusEnum.IN_STORE.getStatus(), purchaseId);
if (ZERO_CONSTANT.equals(Integer.valueOf(detail.getManageType()))) { if (MaTypeManageTypeEnum.CODE_DEVICE.getTypeId().equals(Integer.valueOf(detail.getManageType()))) {
result += purchaseStorageMapper.insertMachine(detail); result += purchaseStorageMapper.insertMachine(detail);
} else if (ONE_CONSTANT.equals(Integer.valueOf(detail.getManageType()))) { } else if (MaTypeManageTypeEnum.NUMBER_DEVICE.getTypeId().equals(Integer.valueOf(detail.getManageType()))) {
result += purchaseStorageMapper.updateStorageNum(detail.getBindNum(), detail.getTypeId()); result += purchaseStorageMapper.updateStorageNum(detail.getBindNum(), detail.getTypeId());
} }
return result + purchaseStorageMapper.updateNum(detail.getPurchaseId(), detail.getBindNum()); return result + purchaseStorageMapper.updateNum(detail.getPurchaseId(), detail.getBindNum());
@ -296,10 +293,10 @@ public class PurchaseStorageServiceImpl implements IPurchaseStorageService {
return details.stream() return details.stream()
.mapToInt(detail -> { .mapToInt(detail -> {
int result = purchaseStorageMapper.updateNum(detail.getPurchaseId(), detail.getBindNum()); int result = purchaseStorageMapper.updateNum(detail.getPurchaseId(), detail.getBindNum());
result += purchaseStorageMapper.updateStatusById(MaterialConstants.FIVE_CONSTANT, Integer.parseInt(detail.getPurchaseId())); result += purchaseStorageMapper.updateStatusById(PurchaseTaskStatusEnum.IN_STORE.getStatus(), Integer.parseInt(detail.getPurchaseId()));
if (ZERO_CONSTANT.equals(Integer.valueOf(detail.getManageType()))) { if (MaTypeManageTypeEnum.CODE_DEVICE.getTypeId().equals(Integer.valueOf(detail.getManageType()))) {
result += purchaseStorageMapper.insertMachine(detail); result += purchaseStorageMapper.insertMachine(detail);
} else if (ONE_CONSTANT.equals(Integer.valueOf(detail.getManageType()))) { } else if (MaTypeManageTypeEnum.NUMBER_DEVICE.getTypeId().equals(Integer.valueOf(detail.getManageType()))) {
result += purchaseStorageMapper.updateStorageNum(detail.getBindNum(), detail.getTypeId()); result += purchaseStorageMapper.updateStorageNum(detail.getBindNum(), detail.getTypeId());
} }
return result; return result;
@ -322,11 +319,11 @@ public class PurchaseStorageServiceImpl implements IPurchaseStorageService {
.mapToInt(entry -> { .mapToInt(entry -> {
Integer id = entry.getKey(); Integer id = entry.getKey();
List<Integer> statusList = entry.getValue(); List<Integer> statusList = entry.getValue();
if (statusList.contains(MaterialConstants.FOUR_CONSTANT) || statusList.contains(MaterialConstants.EIGHT_CONSTANT)) { if (statusList.contains(PurchaseTaskStatusEnum.TO_STORE.getStatus()) || statusList.contains(PurchaseTaskStatusEnum.TO_STORE_AFTER_REJECT.getStatus())) {
return tmTaskMapper.updateStatusById(MaterialConstants.TEN_CONSTANT, id.toString()); return tmTaskMapper.updateStatusById(MaterialConstants.TEN_CONSTANT, id.toString());
} else if (!statusList.contains(MaterialConstants.FOUR_CONSTANT) && !statusList.contains(MaterialConstants.EIGHT_CONSTANT) } else if (!statusList.contains(PurchaseTaskStatusEnum.TO_STORE.getStatus()) && !statusList.contains(PurchaseTaskStatusEnum.TO_STORE_AFTER_REJECT.getStatus())
&& statusList.contains(MaterialConstants.FIVE_CONSTANT)) { && statusList.contains(PurchaseTaskStatusEnum.IN_STORE.getStatus())) {
return tmTaskMapper.updateStatusById(MaterialConstants.FIVE_CONSTANT, id.toString()); return tmTaskMapper.updateStatusById(PurchaseTaskStatusEnum.IN_STORE.getStatus(), id.toString());
} }
return 0; return 0;
}).sum(); }).sum();

View File

@ -1,6 +1,7 @@
package com.bonus.material.task.domain; package com.bonus.material.task.domain;
import com.bonus.common.core.annotation.Excel; import com.bonus.common.core.annotation.Excel;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
@ -8,6 +9,8 @@ import lombok.ToString;
import com.bonus.common.core.web.domain.BaseEntity; import com.bonus.common.core.web.domain.BaseEntity;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
import java.util.Date;
/** /**
* 任务对象 tm_task * 任务对象 tm_task
* @author syruan * @author syruan
@ -51,14 +54,14 @@ public class TmTask extends BaseEntity {
@ApiModelProperty(value = "任务当月序号 例如:1 插入及查询时请携带任务类型") @ApiModelProperty(value = "任务当月序号 例如:1 插入及查询时请携带任务类型")
private Integer monthOrder; private Integer monthOrder;
public TmTask(Long taskId, Integer taskType, Integer taskStatus, String code, Long companyId, String status, Integer monthOrder) { public TmTask(Long taskId, Integer taskType, Integer taskStatus, Long companyId, String status, Integer monthOrder, String code) {
this.taskId = taskId; this.taskId = taskId;
this.taskType = taskType; this.taskType = taskType;
this.taskStatus = taskStatus; this.taskStatus = taskStatus;
this.code = code;
this.companyId = companyId; this.companyId = companyId;
this.status = status; this.status = status;
this.monthOrder = monthOrder; this.monthOrder = monthOrder;
this.code = code;
} }
public TmTask() {} public TmTask() {}

View File

@ -23,9 +23,9 @@ public interface TmTaskMapper {
* 查询当年当月最大任务序号用于生成任务编号 by 分类型查询 * 查询当年当月最大任务序号用于生成任务编号 by 分类型查询
* @param year * @param year
* @param month * @param month
* @param type 任务类型字典表中获取例如新购是:16 * @param taskType 任务类型字典表中获取例如新购是:16
*/ */
Integer getMonthMaxOrderByDate(@Param("year") String year, @Param("month") String month, @Param("type") Long type); int getMonthMaxOrderByDate(@Param("year") String year, @Param("month") String month, @Param("taskType") Integer taskType);
/** /**
* 查询任务列表 * 查询任务列表
@ -82,4 +82,6 @@ public interface TmTaskMapper {
* @return * @return
*/ */
int updateStatusById(@Param("updatedStatus") Integer updatedStatus, @Param("id") String id); int updateStatusById(@Param("updatedStatus") Integer updatedStatus, @Param("id") String id);
int deleteTmTaskByPurchaseIds(Long[] ids);
} }

View File

@ -3,7 +3,8 @@ package com.bonus.material.task.service.impl;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import com.bonus.common.biz.constant.MaterialConstants; import com.bonus.common.biz.constant.BmConfigItems;
import com.bonus.common.biz.enums.TmTaskTypeEnum;
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.material.basic.service.IBmConfigService; import com.bonus.material.basic.service.IBmConfigService;
@ -117,10 +118,10 @@ public class TmTaskAuditLogServiceImpl implements ITmTaskAuditLogService {
public TmTaskAuditResult getAuditResult(TmTaskAuditLog tmTaskAuditLog) { public TmTaskAuditResult getAuditResult(TmTaskAuditLog tmTaskAuditLog) {
List<String> needRoles = new ArrayList<>(); List<String> needRoles = new ArrayList<>();
if (MaterialConstants.LEASE_TASK_TYPE.equals(tmTaskAuditLog.getTaskType())) { if (TmTaskTypeEnum.TM_TASK_LEASE.getTaskTypeId().equals(tmTaskAuditLog.getTaskType())) {
needRoles = bmConfigService.getLeaseTaskAuditRoleIds(); needRoles = bmConfigService.getBmConfigResultAsList(BmConfigItems.LEASE_TASK_AUDIT_ROLE_IDS);
} else if (MaterialConstants.BACK_TASK_TYPE.equals(tmTaskAuditLog.getTaskType())) { } else if (TmTaskTypeEnum.TM_TASK_BACK.getTaskTypeId().equals(tmTaskAuditLog.getTaskType())) {
needRoles = bmConfigService.getBackTaskAuditRoleIds(); needRoles = bmConfigService.getBmConfigResultAsList(BmConfigItems.BACK_TASK_AUDIT_ROLE_IDS);
} //TODO, add more tasks logic to get needRoles } //TODO, add more tasks logic to get needRoles
if (CollectionUtils.isEmpty(needRoles)) { if (CollectionUtils.isEmpty(needRoles)) {

View File

@ -134,7 +134,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<where> <where>
<if test="taskId != null "> and pci.task_id = #{taskId}</if> <if test="taskId != null "> and pci.task_id = #{taskId}</if>
<if test="purchaseTime != null "> and pci.purchase_time = #{purchaseTime}</if> <if test="purchaseTime != null "> and pci.purchase_time = #{purchaseTime}</if>
<if test="arrivalTime != null "> and pci.arrival_time = #{arrivalTime}</if> <if test="startTime != null "> and date_format(pci.arrival_time,'%y%m%d') &gt;= date_format(#{startTime},'%y%m%d')</if>
<if test="endTime != null "> and date_format(pci.arrival_time,'%y%m%d') &lt;= date_format(#{endTime},'%y%m%d')</if>
<if test="purchaser != null "> and pci.purchaser = #{purchaser}</if> <if test="purchaser != null "> and pci.purchaser = #{purchaser}</if>
<if test="supplierId != null "> and pci.supplier_id = #{supplierId}</if> <if test="supplierId != null "> and pci.supplier_id = #{supplierId}</if>
<if test="taxRate != null "> and pci.tax_rate = #{taxRate}</if> <if test="taxRate != null "> and pci.tax_rate = #{taxRate}</if>

View File

@ -20,7 +20,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<sql id="selectTmTaskVo"> <sql id="selectTmTaskVo">
select task_id, task_type, task_status, code, create_by, create_time, select task_id, task_type, task_status, code, create_by, create_time,
update_by, update_time, remark, company_id, status , month_order update_by, update_time, remark, company_id, status, month_order
from tm_task from tm_task
</sql> </sql>
@ -31,6 +31,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="taskType != null "> and task_type = #{taskType}</if> <if test="taskType != null "> and task_type = #{taskType}</if>
<if test="taskStatus != null "> and task_status = #{taskStatus}</if> <if test="taskStatus != null "> and task_status = #{taskStatus}</if>
<if test="code != null and code != ''"> and code = #{code}</if> <if test="code != null and code != ''"> and code = #{code}</if>
<if test="monthOrder != null and code != ''"> and month_order = #{monthOrder}</if>
<if test="companyId != null "> and company_id = #{companyId}</if> <if test="companyId != null "> and company_id = #{companyId}</if>
<if test="status != null and status != ''"> and status = #{status}</if> <if test="status != null and status != ''"> and status = #{status}</if>
</where> </where>
@ -47,6 +48,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="taskType != null">task_type,</if> <if test="taskType != null">task_type,</if>
<if test="taskStatus != null">task_status,</if> <if test="taskStatus != null">task_status,</if>
<if test="code != null">`code`,</if> <if test="code != null">`code`,</if>
<if test="monthOrder != null">month_order,</if>
<if test="createBy != null">create_by,</if> <if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if> <if test="createTime != null">create_time,</if>
<if test="updateBy != null">update_by,</if> <if test="updateBy != null">update_by,</if>
@ -59,6 +61,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="taskType != null">#{taskType},</if> <if test="taskType != null">#{taskType},</if>
<if test="taskStatus != null">#{taskStatus},</if> <if test="taskStatus != null">#{taskStatus},</if>
<if test="code != null">#{code},</if> <if test="code != null">#{code},</if>
<if test="monthOrder != null">#{monthOrder},</if>
<if test="createBy != null">#{createBy},</if> <if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if> <if test="createTime != null">#{createTime},</if>
<if test="updateBy != null">#{updateBy},</if> <if test="updateBy != null">#{updateBy},</if>
@ -75,6 +78,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="taskType != null">task_type = #{taskType},</if> <if test="taskType != null">task_type = #{taskType},</if>
<if test="taskStatus != null">task_status = #{taskStatus},</if> <if test="taskStatus != null">task_status = #{taskStatus},</if>
<if test="code != null">code = #{code},</if> <if test="code != null">code = #{code},</if>
<if test="monthOrder != null">month_order = #{monthOrder},</if>
<if test="createBy != null">create_by = #{createBy},</if> <if test="createBy != null">create_by = #{createBy},</if>
<if test="createTime != null">create_time = #{createTime},</if> <if test="createTime != null">create_time = #{createTime},</if>
<if test="updateBy != null">update_by = #{updateBy},</if> <if test="updateBy != null">update_by = #{updateBy},</if>
@ -105,8 +109,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
select max(month_order) from tm_task select max(month_order) from tm_task
where where
month(create_time) = #{month} and year(create_time) = #{year} month(create_time) = #{month} and year(create_time) = #{year}
<if test="type != null and type !=''"> <if test="taskType != null and taskType !=''">
and task_type = #{type} and task_type = #{taskType}
</if> </if>
</select> </select>
@ -114,4 +118,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
update tm_task set task_status = #{newTaskStatus} update tm_task set task_status = #{newTaskStatus}
where task_id = #{taskId} where task_id = #{taskId}
</update> </update>
<delete id="deleteTmTaskByPurchaseIds" parameterType="String">
delete from tm_task where task_id in
(
select task_id from purchase_check_info where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
)
</delete>
</mapper> </mapper>