diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptJob/PurchasereceiptJobMainController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptJob/PurchasereceiptJobMainController.java index 40516566..9d128f4d 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptJob/PurchasereceiptJobMainController.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptJob/PurchasereceiptJobMainController.java @@ -52,6 +52,22 @@ public class PurchasereceiptJobMainController { @Resource private AdminUserApi userApi; + @Operation(summary = "承接任务") + @PreAuthorize("@ss.hasPermission('wms:purchasereceipt-job-main:accept')") + @PostMapping(value = "/accept/{id}") + public CommonResult accept(@PathVariable("id") Long id) { + int result = purchasereceiptJobMainService.accept(id); + return success(result > 0); + } + + @Operation(summary = "取消承接任务") + @PreAuthorize("@ss.hasPermission('wms:purchasereceipt-job-main:cancelAccept')") + @PostMapping(value = "/cancelAccept/{id}") + public CommonResult cancelAccept(@PathVariable("id") Long id) { + int result = purchasereceiptJobMainService.cancelAccept(id); + return success(result > 0); + } + @GetMapping("/page") @Operation(summary = "获得采购收货任务主分页") @PreAuthorize("@ss.hasPermission('wms:purchasereceipt-job-main:query')") diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/purchasereceiptJob/PurchasereceiptJobMainDO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/purchasereceiptJob/PurchasereceiptJobMainDO.java index 431a8761..ee796349 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/purchasereceiptJob/PurchasereceiptJobMainDO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/purchasereceiptJob/PurchasereceiptJobMainDO.java @@ -1,5 +1,7 @@ package com.win.module.wms.dal.dataobject.purchasereceiptJob; +import com.baomidou.mybatisplus.annotation.FieldStrategy; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.sun.xml.bind.v2.TODO; @@ -116,14 +118,17 @@ public class PurchasereceiptJobMainDO extends BaseDO { /** * 承接人用户ID */ + @TableField(updateStrategy = FieldStrategy.ALWAYS) private String acceptUserId; /** * 承接人用户名 */ + @TableField(updateStrategy = FieldStrategy.ALWAYS) private String acceptUserName; /** * 承接时间 */ + @TableField(updateStrategy = FieldStrategy.ALWAYS) private LocalDateTime acceptTime; /** * 完成人用户ID diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/job/JobStatusEnum.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/job/JobStatusEnum.java index 0a20e367..5022ac6e 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/job/JobStatusEnum.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/job/JobStatusEnum.java @@ -18,11 +18,11 @@ public enum JobStatusEnum { } public String getCode() { - return code; + return this.code; } public String getName() { - return name; + return this.name; } /** diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/job/JobStatusState.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/job/JobStatusState.java index 083d2395..a0699442 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/job/JobStatusState.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/job/JobStatusState.java @@ -38,7 +38,7 @@ public class JobStatusState { * @return */ public boolean accept() { - if(this.jobStatusEnum.getCode() == JobStatusEnum.PENDING.getCode()) { + if(this.jobStatusEnum.getCode().equals(JobStatusEnum.PENDING.getCode())) { this.jobStatusEnum = JobStatusEnum.PROCESSING; return Boolean.TRUE; } else { @@ -47,11 +47,11 @@ public class JobStatusState { } /** - * 放弃 + * 取消承接 * @return */ - public boolean abandon() { - if(this.jobStatusEnum.getCode() == JobStatusEnum.PROCESSING.getCode()) { + public boolean cancelAccept() { + if(this.jobStatusEnum.getCode().equals(JobStatusEnum.PROCESSING.getCode())) { this.jobStatusEnum = JobStatusEnum.PENDING; return Boolean.TRUE; } else { @@ -64,7 +64,7 @@ public class JobStatusState { * @return */ public boolean execute() { - if(this.jobStatusEnum.getCode() == JobStatusEnum.PROCESSING.getCode()) { + if(this.jobStatusEnum.getCode().equals(JobStatusEnum.PROCESSING.getCode())) { this.jobStatusEnum = JobStatusEnum.COMPLETED; return Boolean.TRUE; } else { diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/order/OrderStatusConverter.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/order/OrderStatusConverter.java new file mode 100644 index 00000000..2f8c7607 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/order/OrderStatusConverter.java @@ -0,0 +1,33 @@ +package com.win.module.wms.enums.order; + +import com.alibaba.excel.converters.Converter; +import com.alibaba.excel.converters.ReadConverterContext; +import com.alibaba.excel.converters.WriteConverterContext; +import com.alibaba.excel.enums.CellDataTypeEnum; +import com.alibaba.excel.metadata.data.WriteCellData; +import lombok.extern.slf4j.Slf4j; + +@Slf4j +public class OrderStatusConverter implements Converter { + + @Override + public Class supportJavaTypeKey() { + throw new UnsupportedOperationException("暂不支持,也不需要"); + } + + @Override + public CellDataTypeEnum supportExcelTypeKey() { + throw new UnsupportedOperationException("暂不支持,也不需要"); + } + + @Override + public String convertToJavaData(ReadConverterContext context) { + return OrderStatusEnum.convertName(context.getReadCellData().getStringValue()).getCode(); + } + + @Override + public WriteCellData convertToExcelData(WriteConverterContext context) { + return new WriteCellData<>(OrderStatusEnum.convertCode(String.valueOf(context.getValue())).getName()); + } + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/order/OrderStatusEnum.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/order/OrderStatusEnum.java index 8460e6cd..741f8509 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/order/OrderStatusEnum.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/order/OrderStatusEnum.java @@ -1,33 +1,60 @@ package com.win.module.wms.enums.order; +import java.util.stream.Stream; + public enum OrderStatusEnum { - READY("1"), // 准备 - PUBLISHED("2"), // 发布 - CLOSED("3"), // 关闭 - COMPLETED("4"), // 已完成 + READY("1", "准备"), + PUBLISHED("2", "发布"), + CLOSED("3", "关闭"), + COMPLETED("4", "已完成"), ; private String code; + private String name; - OrderStatusEnum(String code) { + OrderStatusEnum(String code, String name) { this.code = code; + this.name = name; } public String getCode() { - return code; + return this.code; + } + + public String getName() { + return this.name; } /** * 用状态值获取枚举 - * @param status + * @param code * @return */ - static OrderStatusEnum getJobStatusEnum(String status) { - for (OrderStatusEnum jobStatusEnum : values()) { - if (jobStatusEnum.getCode().equals(status)) { - return jobStatusEnum; + static OrderStatusEnum getOrderStatusEnum(String code) { + for (OrderStatusEnum orderStatusEnum : values()) { + if (orderStatusEnum.getCode().equals(code)) { + return orderStatusEnum; } } return READY; } + + public static OrderStatusEnum convertCode(String code) { + return Stream.of(values()) + .filter(bean -> bean.code.equals(code)) + .findAny() + .orElse(READY); + } + + public static OrderStatusEnum convertName(String name) { + return Stream.of(values()) + .filter(bean -> bean.name.equals(name)) + .findAny() + .orElse(READY); + } + + public static String[] getStatusNameArray() { + return Stream.of(values()).map(OrderStatusEnum::getName).toArray(String[]::new); + } + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/order/OrderStatusState.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/order/OrderStatusState.java index e4f1ca88..6ff19d5b 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/order/OrderStatusState.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/order/OrderStatusState.java @@ -22,7 +22,7 @@ public class OrderStatusState { * @param status */ public OrderStatusState(String status) { - this.orderStatusEnum = OrderStatusEnum.getJobStatusEnum(status); + this.orderStatusEnum = OrderStatusEnum.getOrderStatusEnum(status); } /** @@ -38,7 +38,7 @@ public class OrderStatusState { * @return */ public boolean publish() { - if(this.orderStatusEnum.getCode() == OrderStatusEnum.READY.getCode()) { + if(this.orderStatusEnum.getCode().equals(OrderStatusEnum.READY.getCode())) { this.orderStatusEnum = OrderStatusEnum.PUBLISHED; return Boolean.TRUE; } else { @@ -51,7 +51,7 @@ public class OrderStatusState { * @return */ public boolean withdraw() { - if(this.orderStatusEnum.getCode() == OrderStatusEnum.PUBLISHED.getCode()) { + if(this.orderStatusEnum.getCode().equals(OrderStatusEnum.PUBLISHED.getCode())) { this.orderStatusEnum = OrderStatusEnum.READY; return Boolean.TRUE; } else { @@ -64,7 +64,7 @@ public class OrderStatusState { * @return */ public boolean close() { - if(this.orderStatusEnum.getCode() == OrderStatusEnum.READY.getCode()) { + if(this.orderStatusEnum.getCode().equals(OrderStatusEnum.READY.getCode())) { this.orderStatusEnum = OrderStatusEnum.CLOSED; return Boolean.TRUE; } else { @@ -77,7 +77,7 @@ public class OrderStatusState { * @return */ public boolean open() { - if(this.orderStatusEnum.getCode() == OrderStatusEnum.CLOSED.getCode()) { + if(this.orderStatusEnum.getCode().equals(OrderStatusEnum.CLOSED.getCode())) { this.orderStatusEnum = OrderStatusEnum.READY; return Boolean.TRUE; } else { diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/plan/PlanStatusConverter.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/plan/PlanStatusConverter.java new file mode 100644 index 00000000..3f3a4707 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/plan/PlanStatusConverter.java @@ -0,0 +1,33 @@ +package com.win.module.wms.enums.plan; + +import com.alibaba.excel.converters.Converter; +import com.alibaba.excel.converters.ReadConverterContext; +import com.alibaba.excel.converters.WriteConverterContext; +import com.alibaba.excel.enums.CellDataTypeEnum; +import com.alibaba.excel.metadata.data.WriteCellData; +import lombok.extern.slf4j.Slf4j; + +@Slf4j +public class PlanStatusConverter implements Converter { + + @Override + public Class supportJavaTypeKey() { + throw new UnsupportedOperationException("暂不支持,也不需要"); + } + + @Override + public CellDataTypeEnum supportExcelTypeKey() { + throw new UnsupportedOperationException("暂不支持,也不需要"); + } + + @Override + public String convertToJavaData(ReadConverterContext context) { + return PlanStatusEnum.convertName(context.getReadCellData().getStringValue()).getCode(); + } + + @Override + public WriteCellData convertToExcelData(WriteConverterContext context) { + return new WriteCellData<>(PlanStatusEnum.convertCode(String.valueOf(context.getValue())).getName()); + } + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/plan/PlanStatusEnum.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/plan/PlanStatusEnum.java index 5d758576..832b6f77 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/plan/PlanStatusEnum.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/plan/PlanStatusEnum.java @@ -1,36 +1,63 @@ package com.win.module.wms.enums.plan; +import java.util.stream.Stream; + public enum PlanStatusEnum { - NEW("1"), // 新增 - REVIEWING("2"), // 审批中 - AGREED("3"), // 审批通过 - REFUSED("4"), // 审批驳回 - CLOSED("5"), // 关闭 - PUBLISHED("6"), // 发布 - COMPLETED("7"), // 已完成 + NEW("1", "新增"), + REVIEWING("2", "审批中"), + AGREED("3", "审批通过"), + REFUSED("4", "审批驳回"), + CLOSED("5", "关闭"), + PUBLISHED("6", "发布"), + COMPLETED("7", "已完成"), ; private final String code; + private String name; - PlanStatusEnum(String code) { + PlanStatusEnum(String code, String name) { this.code = code; + this.name = name; } public String getCode() { - return code; + return this.code; + } + + public String getName() { + return this.name; } /** * 用状态值获取枚举 - * @param status + * @param code * @return */ - static PlanStatusEnum getJobStatusEnum(String status) { - for (PlanStatusEnum jobStatusEnum : values()) { - if (jobStatusEnum.getCode().equals(status)) { - return jobStatusEnum; + static PlanStatusEnum getPlanStatusEnum(String code) { + for (PlanStatusEnum planStatusEnum : values()) { + if (planStatusEnum.getCode().equals(code)) { + return planStatusEnum; } } return NEW; } + + public static PlanStatusEnum convertCode(String code) { + return Stream.of(values()) + .filter(bean -> bean.code.equals(code)) + .findAny() + .orElse(NEW); + } + + public static PlanStatusEnum convertName(String name) { + return Stream.of(values()) + .filter(bean -> bean.name.equals(name)) + .findAny() + .orElse(NEW); + } + + public static String[] getStatusNameArray() { + return Stream.of(values()).map(PlanStatusEnum::getName).toArray(String[]::new); + } + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/plan/PlanStatusState.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/plan/PlanStatusState.java index b5fd1118..e37b158e 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/plan/PlanStatusState.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/plan/PlanStatusState.java @@ -8,13 +8,13 @@ public class PlanStatusState { /** * 当前状态枚举 */ - private PlanStatusEnum orderStatusEnum; + private PlanStatusEnum planStatusEnum; /** * 构造函数,默认创建 */ public PlanStatusState() { - this.orderStatusEnum = PlanStatusEnum.NEW; + this.planStatusEnum = PlanStatusEnum.NEW; } /** @@ -22,7 +22,7 @@ public class PlanStatusState { * @param status */ public PlanStatusState(String status) { - this.orderStatusEnum = PlanStatusEnum.getJobStatusEnum(status); + this.planStatusEnum = PlanStatusEnum.getPlanStatusEnum(status); } /** @@ -30,7 +30,7 @@ public class PlanStatusState { * @param requestStatusEnum */ public PlanStatusState(PlanStatusEnum requestStatusEnum) { - this.orderStatusEnum = requestStatusEnum; + this.planStatusEnum = requestStatusEnum; } /** @@ -38,8 +38,8 @@ public class PlanStatusState { * @return */ public boolean submit() { - if(this.orderStatusEnum.getCode() == PlanStatusEnum.NEW.getCode()) { - this.orderStatusEnum = PlanStatusEnum.REVIEWING; + if(this.planStatusEnum.getCode().equals(PlanStatusEnum.NEW.getCode())) { + this.planStatusEnum = PlanStatusEnum.REVIEWING; return Boolean.TRUE; } else { return Boolean.FALSE; @@ -51,8 +51,8 @@ public class PlanStatusState { * @return */ public boolean reject() { - if(this.orderStatusEnum.getCode() == PlanStatusEnum.REVIEWING.getCode()) { - this.orderStatusEnum = PlanStatusEnum.REFUSED; + if(this.planStatusEnum.getCode().equals(PlanStatusEnum.REVIEWING.getCode())) { + this.planStatusEnum = PlanStatusEnum.REFUSED; return Boolean.TRUE; } else { return Boolean.FALSE; @@ -64,8 +64,8 @@ public class PlanStatusState { * @return */ public boolean agree() { - if(this.orderStatusEnum.getCode() == PlanStatusEnum.REVIEWING.getCode()) { - this.orderStatusEnum = PlanStatusEnum.AGREED; + if(this.planStatusEnum.getCode().equals(PlanStatusEnum.REVIEWING.getCode())) { + this.planStatusEnum = PlanStatusEnum.AGREED; return Boolean.TRUE; } else { return Boolean.FALSE; @@ -77,8 +77,8 @@ public class PlanStatusState { * @return */ public boolean close() { - if(this.orderStatusEnum.getCode() == PlanStatusEnum.NEW.getCode() || this.orderStatusEnum.getCode() == PlanStatusEnum.REVIEWING.getCode() || this.orderStatusEnum.getCode() == PlanStatusEnum.AGREED.getCode() || this.orderStatusEnum.getCode() == PlanStatusEnum.PUBLISHED.getCode()) { - this.orderStatusEnum = PlanStatusEnum.CLOSED; + if(this.planStatusEnum.getCode().equals(PlanStatusEnum.NEW.getCode()) || this.planStatusEnum.getCode().equals(PlanStatusEnum.REVIEWING.getCode()) || this.planStatusEnum.getCode().equals(PlanStatusEnum.AGREED.getCode()) || this.planStatusEnum.getCode().equals(PlanStatusEnum.PUBLISHED.getCode())) { + this.planStatusEnum = PlanStatusEnum.CLOSED; return Boolean.TRUE; } else { return Boolean.FALSE; @@ -90,8 +90,8 @@ public class PlanStatusState { * @return */ public boolean resetting() { - if(this.orderStatusEnum.getCode() == PlanStatusEnum.REFUSED.getCode()) { - this.orderStatusEnum = PlanStatusEnum.NEW; + if(this.planStatusEnum.getCode().equals(PlanStatusEnum.REFUSED.getCode())) { + this.planStatusEnum = PlanStatusEnum.NEW; return Boolean.TRUE; } else { return Boolean.FALSE; @@ -103,8 +103,8 @@ public class PlanStatusState { * @return */ public boolean execute() { - if(this.orderStatusEnum.getCode() == PlanStatusEnum.PUBLISHED.getCode()) { - this.orderStatusEnum = PlanStatusEnum.COMPLETED; + if(this.planStatusEnum.getCode().equals(PlanStatusEnum.PUBLISHED.getCode())) { + this.planStatusEnum = PlanStatusEnum.COMPLETED; return Boolean.TRUE; } else { return Boolean.FALSE; @@ -116,7 +116,7 @@ public class PlanStatusState { * @return */ public PlanStatusEnum getState() { - return orderStatusEnum; + return planStatusEnum; } } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/request/RequestStatusConverter.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/request/RequestStatusConverter.java new file mode 100644 index 00000000..a4fb7af0 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/request/RequestStatusConverter.java @@ -0,0 +1,33 @@ +package com.win.module.wms.enums.request; + +import com.alibaba.excel.converters.Converter; +import com.alibaba.excel.converters.ReadConverterContext; +import com.alibaba.excel.converters.WriteConverterContext; +import com.alibaba.excel.enums.CellDataTypeEnum; +import com.alibaba.excel.metadata.data.WriteCellData; +import lombok.extern.slf4j.Slf4j; + +@Slf4j +public class RequestStatusConverter implements Converter { + + @Override + public Class supportJavaTypeKey() { + throw new UnsupportedOperationException("暂不支持,也不需要"); + } + + @Override + public CellDataTypeEnum supportExcelTypeKey() { + throw new UnsupportedOperationException("暂不支持,也不需要"); + } + + @Override + public String convertToJavaData(ReadConverterContext context) { + return RequestStatusEnum.convertName(context.getReadCellData().getStringValue()).getCode(); + } + + @Override + public WriteCellData convertToExcelData(WriteConverterContext context) { + return new WriteCellData<>(RequestStatusEnum.convertCode(String.valueOf(context.getValue())).getName()); + } + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/request/RequestStatusEnum.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/request/RequestStatusEnum.java index 09b0493b..e89321f7 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/request/RequestStatusEnum.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/request/RequestStatusEnum.java @@ -1,38 +1,67 @@ package com.win.module.wms.enums.request; +import com.win.module.wms.enums.job.JobStatusEnum; + +import java.util.stream.Stream; + public enum RequestStatusEnum { - NEW("1"), // 新增 - REVIEWING("2"), // 审批中 - AGREED("3"), // 审批通过 - REFUSED("4"), // 审批驳回 - CLOSED("5"), // 关闭 - HANDLING("6"), // 处理中 - PARTIAL("7"), // 部分完成 - COMPLETED("8"), // 已完成 - ABORT("9"), // 中止 + NEW("1", "新增"), + REVIEWING("2", "审批中"), + AGREED("3", "审批通过"), + REFUSED("4", "审批驳回"), + CLOSED("5", "关闭"), + HANDLING("6", "处理中"), + PARTIAL("7", "部分完成"), + COMPLETED("8", "已完成"), + ABORT("9", "中止"), ; private final String code; + private final String name; - RequestStatusEnum(String code) { + RequestStatusEnum(String code, String name) { this.code = code; + this.name = name; } public String getCode() { - return code; + return this.code; + } + + public String getName() { + return this.name; } /** * 用状态值获取枚举 - * @param status + * @param code * @return */ - static RequestStatusEnum getRequestStatusEnum(String status) { - for (RequestStatusEnum jobStatusEnum : values()) { - if (jobStatusEnum.getCode().equals(status)) { - return jobStatusEnum; + static RequestStatusEnum getRequestStatusEnum(String code) { + for (RequestStatusEnum requestStatusEnum : values()) { + if (requestStatusEnum.getCode().equals(code)) { + return requestStatusEnum; } } return NEW; } + + public static RequestStatusEnum convertCode(String code) { + return Stream.of(values()) + .filter(bean -> bean.code.equals(code)) + .findAny() + .orElse(NEW); + } + + public static RequestStatusEnum convertName(String name) { + return Stream.of(values()) + .filter(bean -> bean.name.equals(name)) + .findAny() + .orElse(NEW); + } + + public static String[] getStatusNameArray() { + return Stream.of(values()).map(RequestStatusEnum::getName).toArray(String[]::new); + } + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptJob/PurchasereceiptJobMainService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptJob/PurchasereceiptJobMainService.java index bc8029bb..30f8a559 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptJob/PurchasereceiptJobMainService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptJob/PurchasereceiptJobMainService.java @@ -19,6 +19,20 @@ import java.util.Map; */ public interface PurchasereceiptJobMainService { + /** + * 承接任务 + * @param id + * @return + */ + Integer accept(Long id); + + /** + * 取消承接任务 + * @param id + * @return + */ + Integer cancelAccept(Long id); + /** * 获得用高级搜索户分页列表 * diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptJob/PurchasereceiptJobMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptJob/PurchasereceiptJobMainServiceImpl.java index d494add7..852ad6f7 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptJob/PurchasereceiptJobMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptJob/PurchasereceiptJobMainServiceImpl.java @@ -3,22 +3,27 @@ package com.win.module.wms.service.purchasereceiptJob; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.PageResult; +import com.win.module.system.api.user.AdminUserApi; +import com.win.module.system.api.user.dto.AdminUserRespDTO; import com.win.module.wms.controller.purchasereceiptJob.vo.PurchasereceiptJobMainExportReqVO; import com.win.module.wms.controller.purchasereceiptJob.vo.PurchasereceiptJobMainPageReqVO; import com.win.module.wms.dal.dataobject.purchasereceiptJob.PurchasereceiptJobMainDO; import com.win.module.wms.dal.dataobject.supplierdeliverRecord.SupplierdeliverRecordDetailDO; import com.win.module.wms.dal.mysql.purchasereceiptJob.PurchasereceiptJobMainMapper; +import com.win.module.wms.enums.job.JobStatusState; import com.win.module.wms.service.supplierdeliverRecord.SupplierdeliverRecordMainService; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; +import java.time.LocalDateTime; import java.util.Collection; import java.util.HashMap; import java.util.List; import java.util.Map; import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; +import static com.win.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; import static com.win.module.wms.enums.ErrorCodeConstants.*; /** @@ -34,16 +39,52 @@ public class PurchasereceiptJobMainServiceImpl implements PurchasereceiptJobMain private PurchasereceiptJobMainMapper purchasereceiptJobMainMapper; @Resource private SupplierdeliverRecordMainService supplierdeliverRecordMainService; + @Resource + private AdminUserApi userApi; + + @Override + public Integer accept(Long id) { + PurchasereceiptJobMainDO purchasereceiptJobMainDO = this.validatePurchasereceiptJobMainExists(id); + JobStatusState jobStatusState = new JobStatusState(purchasereceiptJobMainDO.getStatus()); + if(!jobStatusState.accept()) { + throw exception(PURCHASERECEIPT_JOB_MAIN_STATUS_ERROR); + } + Long userId = getLoginUserId(); + AdminUserRespDTO userRespDTO = userApi.getUser(userId); + purchasereceiptJobMainDO.setStatus(jobStatusState.getState().getCode()); + purchasereceiptJobMainDO.setAcceptUserId(String.valueOf(userId)); + purchasereceiptJobMainDO.setAcceptUserName(userRespDTO.getNickname()); + purchasereceiptJobMainDO.setAcceptTime(LocalDateTime.now()); + return purchasereceiptJobMainMapper.updateById(purchasereceiptJobMainDO); + } + + @Override + public Integer cancelAccept(Long id) { + PurchasereceiptJobMainDO purchasereceiptJobMainDO = this.validatePurchasereceiptJobMainExists(id); + JobStatusState jobStatusState = new JobStatusState(purchasereceiptJobMainDO.getStatus()); + if(!jobStatusState.cancelAccept()) { + throw exception(PURCHASERECEIPT_JOB_MAIN_STATUS_ERROR); + } + Long userId = getLoginUserId(); + AdminUserRespDTO userRespDTO = userApi.getUser(userId); + purchasereceiptJobMainDO.setStatus(jobStatusState.getState().getCode()); + purchasereceiptJobMainDO.setAcceptUserId(null); + purchasereceiptJobMainDO.setAcceptUserName(null); + purchasereceiptJobMainDO.setAcceptTime(null); + return purchasereceiptJobMainMapper.updateById(purchasereceiptJobMainDO); + } @Override public PageResult getPurchasereceiptJobMainSenior(CustomConditions conditions) { return purchasereceiptJobMainMapper.selectSenior(conditions); } - private void validatePurchasereceiptJobMainExists(Long id) { - if (purchasereceiptJobMainMapper.selectById(id) == null) { + private PurchasereceiptJobMainDO validatePurchasereceiptJobMainExists(Long id) { + PurchasereceiptJobMainDO purchasereceiptJobMainDO = purchasereceiptJobMainMapper.selectById(id); + if (purchasereceiptJobMainDO == null) { throw exception(PURCHASERECEIPT_JOB_MAIN_NOT_EXISTS); } + return purchasereceiptJobMainDO; } @Override