diff --git a/win-framework/win-spring-boot-starter-mybatis/src/main/java/com/win/framework/mybatis/core/dataobject/ConcurrencyDO.java b/win-framework/win-spring-boot-starter-mybatis/src/main/java/com/win/framework/mybatis/core/dataobject/ConcurrencyDO.java new file mode 100644 index 00000000..9b2f066d --- /dev/null +++ b/win-framework/win-spring-boot-starter-mybatis/src/main/java/com/win/framework/mybatis/core/dataobject/ConcurrencyDO.java @@ -0,0 +1,23 @@ +package com.win.framework.mybatis.core.dataobject; + +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.Version; +import lombok.Data; + +/** + * 基础实体对象 + * + * @author 闻荫源码 + */ +@Data +public abstract class ConcurrencyDO extends IdDO { + + /** + * 并发乐观锁 + */ + @Version + @TableField(fill = FieldFill.INSERT) + private Integer ConcurrencyStamp; + +} diff --git a/win-framework/win-spring-boot-starter-mybatis/src/main/java/com/win/framework/mybatis/core/dataobject/IdDO.java b/win-framework/win-spring-boot-starter-mybatis/src/main/java/com/win/framework/mybatis/core/dataobject/IdDO.java new file mode 100644 index 00000000..a1ef5bb2 --- /dev/null +++ b/win-framework/win-spring-boot-starter-mybatis/src/main/java/com/win/framework/mybatis/core/dataobject/IdDO.java @@ -0,0 +1,21 @@ +package com.win.framework.mybatis.core.dataobject; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import lombok.Data; + +/** + * 基础实体对象 + * + * @author 闻荫源码 + */ +@Data +public abstract class IdDO extends BaseDO { + + /** + * id + */ + @TableId(type = IdType.AUTO) + private Long id; + +} diff --git a/win-framework/win-spring-boot-starter-mybatis/src/main/java/com/win/framework/mybatis/core/dataobject/MasterDO.java b/win-framework/win-spring-boot-starter-mybatis/src/main/java/com/win/framework/mybatis/core/dataobject/MasterDO.java new file mode 100644 index 00000000..478bbfec --- /dev/null +++ b/win-framework/win-spring-boot-starter-mybatis/src/main/java/com/win/framework/mybatis/core/dataobject/MasterDO.java @@ -0,0 +1,62 @@ +package com.win.framework.mybatis.core.dataobject; + +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import org.apache.ibatis.type.JdbcType; + +import java.time.LocalDateTime; + + +/** + * 基础实体对象 + * + * @author 闻荫源码 + */ +@Data +public abstract class MasterDO extends ConcurrencyDO { + + /** + * 是否可用 + */ + private String available; + + /** + * 生效时间 + */ + private LocalDateTime activeTime; + + /** + * 生效时间 + */ + private LocalDateTime expireTime; + + /** + * 备注 + */ + private String remark; + + /** + * 删除时间 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime deletionTime; + + /** + * 删除者,目前使用 SysUser 的 id 编号 + *
+ * 使用 String 类型的原因是,未来可能会存在非数值的情况,留好拓展性。 + */ + @TableField(fill = FieldFill.INSERT_UPDATE, jdbcType = JdbcType.VARCHAR) + private String deleterId; + + /** + * 扩展属性 + */ + private String extraProperties; + + /** + * 地点ID + */ + private String siteId; + +} diff --git a/win-framework/win-spring-boot-starter-mybatis/src/main/java/com/win/framework/mybatis/core/viewobject/BaseVO.java b/win-framework/win-spring-boot-starter-mybatis/src/main/java/com/win/framework/mybatis/core/viewobject/BaseVO.java new file mode 100644 index 00000000..8a3a7767 --- /dev/null +++ b/win-framework/win-spring-boot-starter-mybatis/src/main/java/com/win/framework/mybatis/core/viewobject/BaseVO.java @@ -0,0 +1,40 @@ +package com.win.framework.mybatis.core.viewobject; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +/** + * 基础实体对象 + * + * @author 闻荫源码 + */ +@Data +public abstract class BaseVO implements Serializable { + + @Schema(description = "id", example = "id") + private Long id; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime createTime; + + @Schema(description = "最后更新时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime updateTime; + + @Schema(description = "创建者") + private String creator; + + @Schema(description = "更新者") + private String updater; + + @Schema(description = "是否删除") + private Boolean deleted; + +} diff --git a/win-framework/win-spring-boot-starter-mybatis/src/main/java/com/win/framework/mybatis/core/viewobject/MasterVO.java b/win-framework/win-spring-boot-starter-mybatis/src/main/java/com/win/framework/mybatis/core/viewobject/MasterVO.java new file mode 100644 index 00000000..f23c91a0 --- /dev/null +++ b/win-framework/win-spring-boot-starter-mybatis/src/main/java/com/win/framework/mybatis/core/viewobject/MasterVO.java @@ -0,0 +1,52 @@ +package com.win.framework.mybatis.core.viewobject; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotNull; +import java.time.LocalDateTime; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + + +/** + * 基础实体对象 + * + * @author 闻荫源码 + */ +@Data +public abstract class MasterVO extends BaseVO{ + + @Schema(description = "是否可用", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "是否可用不能为空") + private String available; + + @Schema(description = "生效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime activeTime; + + @Schema(description = "失效时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime expireTime; + + @Schema(description = "备注", example = "你猜") + private String remark; + + @Schema(description = "删除时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime deletionTime; + + @Schema(description = "删除者") + private String deleterId; + + @Schema(description = "扩展属性") + private String extraProperties; + + @Schema(description = "地点ID") + private String siteId; + + @Schema(description = "并发乐观锁") + private Integer ConcurrencyStamp; + +} diff --git a/win-module-infra/win-module-infra-biz/src/main/resources/codegen/java/service/service.vm b/win-module-infra/win-module-infra-biz/src/main/resources/codegen/java/service/service.vm index 568abec4..0d41403c 100644 --- a/win-module-infra/win-module-infra-biz/src/main/resources/codegen/java/service/service.vm +++ b/win-module-infra/win-module-infra-biz/src/main/resources/codegen/java/service/service.vm @@ -1,99 +1,79 @@ package ${basePackage}.module.${table.moduleName}.service.${table.businessName}; -import org.springframework.stereotype.Service; -import javax.annotation.Resource; -import org.springframework.validation.annotation.Validated; - import java.util.*; +import javax.validation.*; import ${basePackage}.module.${table.moduleName}.controller.${sceneEnum.basePackage}.${table.businessName}.vo.*; import ${basePackage}.module.${table.moduleName}.dal.dataobject.${table.businessName}.${table.className}DO; import ${PageResultClassName}; -import ${basePackage}.module.${table.moduleName}.convert.${table.businessName}.${table.className}Convert; -import ${basePackage}.module.${table.moduleName}.dal.mysql.${table.businessName}.${table.className}Mapper; - -import static ${ServiceExceptionUtilClassName}.exception; -import static ${basePackage}.module.${table.moduleName}.enums.ErrorCodeConstants.*; - /** - * ${table.classComment} Service + * ${table.classComment} Service 接口 * * @author ${table.author} */ -@Service -@Validated -public class ${table.className}Service { - - @Resource - private ${table.className}Mapper ${classNameVar}Mapper; - - - public ${primaryColumn.javaType} create${simpleClassName}(${sceneEnum.prefixClass}${table.className}CreateReqVO createReqVO) { - // 插入 - ${table.className}DO ${classNameVar} = ${table.className}Convert.INSTANCE.convert(createReqVO); - ${classNameVar}Mapper.insert(${classNameVar}); - // 返回 - return ${classNameVar}.getId(); - } - - public void update${simpleClassName}(${sceneEnum.prefixClass}${table.className}UpdateReqVO updateReqVO) { - // 校验存在 - validate${simpleClassName}Exists(updateReqVO.getId()); - // 更新 - ${table.className}DO updateObj = ${table.className}Convert.INSTANCE.convert(updateReqVO); - ${classNameVar}Mapper.updateById(updateObj); - } - - public void delete${simpleClassName}(${primaryColumn.javaType} id) { - // 校验存在 - validate${simpleClassName}Exists(id); - // 删除 - ${classNameVar}Mapper.deleteById(id); - } - - private void validate${simpleClassName}Exists(${primaryColumn.javaType} id) { - if (${classNameVar}Mapper.selectById(id) == null) { - throw exception(${simpleClassName_underlineCase.toUpperCase()}_NOT_EXISTS); - } - } - - public ${table.className}DO get${simpleClassName}(${primaryColumn.javaType} id) { - return ${classNameVar}Mapper.selectById(id); - } - - public List<${table.className}DO> get${simpleClassName}List(Collection<${primaryColumn.javaType}> ids) { - return ${classNameVar}Mapper.selectBatchIds(ids); - } - - public PageResult<${table.className}DO> get${simpleClassName}Page(${sceneEnum.prefixClass}${table.className}PageReqVO pageReqVO) { - return ${classNameVar}Mapper.selectPage(pageReqVO); - } - - public List<${table.className}DO> get${simpleClassName}List(${sceneEnum.prefixClass}${table.className}ExportReqVO exportReqVO) { - return ${classNameVar}Mapper.selectList(exportReqVO); - } - - public List<${table.className}ExcelVO> import${table.className}List(List<${table.className}ExcelVO> datas, Integer mode, boolean updatePart) { - if (CollUtil.isEmpty(datas)) { - throw exception(${simpleClassName_underlineCase.toUpperCase()}_IMPORT_LIST_IS_EMPTY); - } - - List<${table.className}ExcelVO> errorList = new ArrayList<>(); - datas.forEach(item -> { - if(errorList == null){ - // 判断如果不存在,在进行插入 - ${table.className}DO obj = ${classNameVar}Mapper.selectByCode(item.getCode()); - if (obj == null&& mode != 3) { - ${classNameVar}Mapper.insert(${table.className}Convert.INSTANCE.convert(item)); - } - else if (obj != null && mode != 2) {// 如果存在,判断是否允许更新 - ${table.className}DO ${classNameVar}DO = ${table.className}Convert.INSTANCE.convert(item); - ${classNameVar}DO.setId(obj.getId()); - ${classNameVar}Mapper.updateById(obj); - } - } - }); - - return errorList; - } +public interface ${table.className}Service { + + /** + * 创建${table.classComment} + * + * @param createReqVO 创建信息 + * @return 编号 + */ + ${primaryColumn.javaType} create${simpleClassName}(@Valid ${sceneEnum.prefixClass}${table.className}CreateReqVO createReqVO); + + /** + * 更新${table.classComment} + * + * @param updateReqVO 更新信息 + */ + void update${simpleClassName}(@Valid ${sceneEnum.prefixClass}${table.className}UpdateReqVO updateReqVO); + + /** + * 删除${table.classComment} + * + * @param id 编号 + */ + void delete${simpleClassName}(${primaryColumn.javaType} id); + + /** + * 获得${table.classComment} + * + * @param id 编号 + * @return ${table.classComment} + */ + ${table.className}DO get${simpleClassName}(${primaryColumn.javaType} id); + + /** + * 获得${table.classComment}列表 + * + * @param ids 编号 + * @return ${table.classComment}列表 + */ + List<${table.className}DO> get${simpleClassName}List(Collection<${primaryColumn.javaType}> ids); + + /** + * 获得${table.classComment}分页 + * + * @param pageReqVO 分页查询 + * @return ${table.classComment}分页 + */ + PageResult<${table.className}DO> get${simpleClassName}Page(${sceneEnum.prefixClass}${table.className}PageReqVO pageReqVO); + + /** + * 获得${table.classComment}列表, 用于 Excel 导出 + * + * @param exportReqVO 查询条件 + * @return ${table.classComment}列表 + */ + List<${table.className}DO> get${simpleClassName}List(${sceneEnum.prefixClass}${table.className}ExportReqVO exportReqVO); + + /** + * 导入${table.classComment}主信息 + * + * @param datas 导入${table.classComment}主信息列表 + * @param mode 导入模式1更新2追加3覆盖 + * @param updatePart 是否支持更新 + * @return 导入结果 + */ + public List<${table.className}ExcelVO> import${table.className}List(List<${table.className}ExcelVO> datas, Integer mode, boolean updatePart); } diff --git a/win-module-infra/win-module-infra-biz/src/main/resources/codegen/java/service/service.vm.bark b/win-module-infra/win-module-infra-biz/src/main/resources/codegen/java/service/service.vm.bark index 0d41403c..568abec4 100644 --- a/win-module-infra/win-module-infra-biz/src/main/resources/codegen/java/service/service.vm.bark +++ b/win-module-infra/win-module-infra-biz/src/main/resources/codegen/java/service/service.vm.bark @@ -1,79 +1,99 @@ package ${basePackage}.module.${table.moduleName}.service.${table.businessName}; +import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import org.springframework.validation.annotation.Validated; + import java.util.*; -import javax.validation.*; import ${basePackage}.module.${table.moduleName}.controller.${sceneEnum.basePackage}.${table.businessName}.vo.*; import ${basePackage}.module.${table.moduleName}.dal.dataobject.${table.businessName}.${table.className}DO; import ${PageResultClassName}; +import ${basePackage}.module.${table.moduleName}.convert.${table.businessName}.${table.className}Convert; +import ${basePackage}.module.${table.moduleName}.dal.mysql.${table.businessName}.${table.className}Mapper; + +import static ${ServiceExceptionUtilClassName}.exception; +import static ${basePackage}.module.${table.moduleName}.enums.ErrorCodeConstants.*; + /** - * ${table.classComment} Service 接口 + * ${table.classComment} Service * * @author ${table.author} */ -public interface ${table.className}Service { - - /** - * 创建${table.classComment} - * - * @param createReqVO 创建信息 - * @return 编号 - */ - ${primaryColumn.javaType} create${simpleClassName}(@Valid ${sceneEnum.prefixClass}${table.className}CreateReqVO createReqVO); - - /** - * 更新${table.classComment} - * - * @param updateReqVO 更新信息 - */ - void update${simpleClassName}(@Valid ${sceneEnum.prefixClass}${table.className}UpdateReqVO updateReqVO); - - /** - * 删除${table.classComment} - * - * @param id 编号 - */ - void delete${simpleClassName}(${primaryColumn.javaType} id); - - /** - * 获得${table.classComment} - * - * @param id 编号 - * @return ${table.classComment} - */ - ${table.className}DO get${simpleClassName}(${primaryColumn.javaType} id); - - /** - * 获得${table.classComment}列表 - * - * @param ids 编号 - * @return ${table.classComment}列表 - */ - List<${table.className}DO> get${simpleClassName}List(Collection<${primaryColumn.javaType}> ids); - - /** - * 获得${table.classComment}分页 - * - * @param pageReqVO 分页查询 - * @return ${table.classComment}分页 - */ - PageResult<${table.className}DO> get${simpleClassName}Page(${sceneEnum.prefixClass}${table.className}PageReqVO pageReqVO); - - /** - * 获得${table.classComment}列表, 用于 Excel 导出 - * - * @param exportReqVO 查询条件 - * @return ${table.classComment}列表 - */ - List<${table.className}DO> get${simpleClassName}List(${sceneEnum.prefixClass}${table.className}ExportReqVO exportReqVO); - - /** - * 导入${table.classComment}主信息 - * - * @param datas 导入${table.classComment}主信息列表 - * @param mode 导入模式1更新2追加3覆盖 - * @param updatePart 是否支持更新 - * @return 导入结果 - */ - public List<${table.className}ExcelVO> import${table.className}List(List<${table.className}ExcelVO> datas, Integer mode, boolean updatePart); +@Service +@Validated +public class ${table.className}Service { + + @Resource + private ${table.className}Mapper ${classNameVar}Mapper; + + + public ${primaryColumn.javaType} create${simpleClassName}(${sceneEnum.prefixClass}${table.className}CreateReqVO createReqVO) { + // 插入 + ${table.className}DO ${classNameVar} = ${table.className}Convert.INSTANCE.convert(createReqVO); + ${classNameVar}Mapper.insert(${classNameVar}); + // 返回 + return ${classNameVar}.getId(); + } + + public void update${simpleClassName}(${sceneEnum.prefixClass}${table.className}UpdateReqVO updateReqVO) { + // 校验存在 + validate${simpleClassName}Exists(updateReqVO.getId()); + // 更新 + ${table.className}DO updateObj = ${table.className}Convert.INSTANCE.convert(updateReqVO); + ${classNameVar}Mapper.updateById(updateObj); + } + + public void delete${simpleClassName}(${primaryColumn.javaType} id) { + // 校验存在 + validate${simpleClassName}Exists(id); + // 删除 + ${classNameVar}Mapper.deleteById(id); + } + + private void validate${simpleClassName}Exists(${primaryColumn.javaType} id) { + if (${classNameVar}Mapper.selectById(id) == null) { + throw exception(${simpleClassName_underlineCase.toUpperCase()}_NOT_EXISTS); + } + } + + public ${table.className}DO get${simpleClassName}(${primaryColumn.javaType} id) { + return ${classNameVar}Mapper.selectById(id); + } + + public List<${table.className}DO> get${simpleClassName}List(Collection<${primaryColumn.javaType}> ids) { + return ${classNameVar}Mapper.selectBatchIds(ids); + } + + public PageResult<${table.className}DO> get${simpleClassName}Page(${sceneEnum.prefixClass}${table.className}PageReqVO pageReqVO) { + return ${classNameVar}Mapper.selectPage(pageReqVO); + } + + public List<${table.className}DO> get${simpleClassName}List(${sceneEnum.prefixClass}${table.className}ExportReqVO exportReqVO) { + return ${classNameVar}Mapper.selectList(exportReqVO); + } + + public List<${table.className}ExcelVO> import${table.className}List(List<${table.className}ExcelVO> datas, Integer mode, boolean updatePart) { + if (CollUtil.isEmpty(datas)) { + throw exception(${simpleClassName_underlineCase.toUpperCase()}_IMPORT_LIST_IS_EMPTY); + } + + List<${table.className}ExcelVO> errorList = new ArrayList<>(); + datas.forEach(item -> { + if(errorList == null){ + // 判断如果不存在,在进行插入 + ${table.className}DO obj = ${classNameVar}Mapper.selectByCode(item.getCode()); + if (obj == null&& mode != 3) { + ${classNameVar}Mapper.insert(${table.className}Convert.INSTANCE.convert(item)); + } + else if (obj != null && mode != 2) {// 如果存在,判断是否允许更新 + ${table.className}DO ${classNameVar}DO = ${table.className}Convert.INSTANCE.convert(item); + ${classNameVar}DO.setId(obj.getId()); + ${classNameVar}Mapper.updateById(obj); + } + } + }); + + return errorList; + } } diff --git a/win-module-infra/win-module-infra-biz/src/main/resources/codegen/java/service/serviceImpl.vm.bark b/win-module-infra/win-module-infra-biz/src/main/resources/codegen/java/service/serviceImpl.vm similarity index 100% rename from win-module-infra/win-module-infra-biz/src/main/resources/codegen/java/service/serviceImpl.vm.bark rename to win-module-infra/win-module-infra-biz/src/main/resources/codegen/java/service/serviceImpl.vm diff --git a/win-module-infra/win-module-infra-biz/src/main/resources/codegen/java/test/serviceTest.vm b/win-module-infra/win-module-infra-biz/src/main/resources/codegen/java/test/serviceTest.vm index 6978f249..ec1b45a9 100644 --- a/win-module-infra/win-module-infra-biz/src/main/resources/codegen/java/test/serviceTest.vm +++ b/win-module-infra/win-module-infra-biz/src/main/resources/codegen/java/test/serviceTest.vm @@ -61,15 +61,15 @@ import static org.mockito.Mockito.*; #end #end /** - * {@link ${table.className}Service} 的单元测试类 + * {@link ${table.className}ServiceImpl} 的单元测试类 * * @author ${table.author} */ -@Import(${table.className}Service.class) -public class ${table.className}ServiceTest extends BaseDbUnitTest { +@Import(${table.className}ServiceImpl.class) +public class ${table.className}ServiceImplTest extends BaseDbUnitTest { @Resource - private ${table.className}Service ${classNameVar}Service; + private ${table.className}ServiceImpl ${classNameVar}Service; @Resource private ${table.className}Mapper ${classNameVar}Mapper; diff --git a/win-module-infra/win-module-infra-biz/src/main/resources/codegen/java/test/serviceTest.vm.bark b/win-module-infra/win-module-infra-biz/src/main/resources/codegen/java/test/serviceTest.vm.bark index ec1b45a9..6978f249 100644 --- a/win-module-infra/win-module-infra-biz/src/main/resources/codegen/java/test/serviceTest.vm.bark +++ b/win-module-infra/win-module-infra-biz/src/main/resources/codegen/java/test/serviceTest.vm.bark @@ -61,15 +61,15 @@ import static org.mockito.Mockito.*; #end #end /** - * {@link ${table.className}ServiceImpl} 的单元测试类 + * {@link ${table.className}Service} 的单元测试类 * * @author ${table.author} */ -@Import(${table.className}ServiceImpl.class) -public class ${table.className}ServiceImplTest extends BaseDbUnitTest { +@Import(${table.className}Service.class) +public class ${table.className}ServiceTest extends BaseDbUnitTest { @Resource - private ${table.className}ServiceImpl ${classNameVar}Service; + private ${table.className}Service ${classNameVar}Service; @Resource private ${table.className}Mapper ${classNameVar}Mapper; 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 c6582b8f..526fefed 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 @@ -1,10 +1,10 @@ package com.win.module.wms.enums.job; public enum JobStatusEnum { - PROCESSING(1), // 处理中 - PARTIALLY_COMPLETED(2), // 部分完成 + PENDING(1), // 待处理 + PROCESSING(2), // 进行中 COMPLETED(3), // 完成 - TERMINATION(4), // 中止 + CLOSED(4), // 关闭 ; private final Integer code; 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 829f9ee0..67ce9957 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 @@ -34,12 +34,12 @@ public class JobStatusState { } /** - * 执行 + * 承接 * @return */ - public boolean doing() { - if(this.jobStatusEnum.getCode() == JobStatusEnum.PROCESSING.getCode()) { - this.jobStatusEnum = JobStatusEnum.PARTIALLY_COMPLETED; + public boolean accept() { + if(this.jobStatusEnum.getCode() == JobStatusEnum.PENDING.getCode()) { + this.jobStatusEnum = JobStatusEnum.PROCESSING; return Boolean.TRUE; } else { return Boolean.FALSE; @@ -47,12 +47,12 @@ public class JobStatusState { } /** - * 完成 + * 放弃 * @return */ - public boolean done() { - if(this.jobStatusEnum.getCode() == JobStatusEnum.PROCESSING.getCode() || this.jobStatusEnum.getCode() == JobStatusEnum.PARTIALLY_COMPLETED.getCode()) { - this.jobStatusEnum = JobStatusEnum.COMPLETED; + public boolean abandon() { + if(this.jobStatusEnum.getCode() == JobStatusEnum.PROCESSING.getCode()) { + this.jobStatusEnum = JobStatusEnum.PENDING; return Boolean.TRUE; } else { return Boolean.FALSE; @@ -60,12 +60,12 @@ public class JobStatusState { } /** - * 中止 + * 执行 * @return */ - public boolean abort() { - if(this.jobStatusEnum.getCode() == JobStatusEnum.PROCESSING.getCode() || this.jobStatusEnum.getCode() == JobStatusEnum.PARTIALLY_COMPLETED.getCode()) { - this.jobStatusEnum = JobStatusEnum.TERMINATION; + public boolean execute() { + if(this.jobStatusEnum.getCode() == JobStatusEnum.PROCESSING.getCode()) { + this.jobStatusEnum = JobStatusEnum.COMPLETED; return Boolean.TRUE; } else { return Boolean.FALSE; 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 new file mode 100644 index 00000000..2075345c --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/order/OrderStatusEnum.java @@ -0,0 +1,33 @@ +package com.win.module.wms.enums.order; + +public enum OrderStatusEnum { + + READY(1), // 准备 + PUBLISHED(2), // 发布 + CLOSED(3), // 关闭 + COMPLETED(4), // 已完成 + ; + private final Integer code; + + OrderStatusEnum(int code) { + this.code = code; + } + + public int getCode() { + return code; + } + + /** + * 用状态值获取枚举 + * @param status + * @return + */ + static OrderStatusEnum getJobStatusEnum(int status) { + for (OrderStatusEnum jobStatusEnum : values()) { + if (jobStatusEnum.getCode() == status) { + return jobStatusEnum; + } + } + return READY; + } +} 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 new file mode 100644 index 00000000..129062c5 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/order/OrderStatusState.java @@ -0,0 +1,96 @@ +package com.win.module.wms.enums.order; + +/** + * 订单状态机 + */ +public class OrderStatusState { + + /** + * 当前状态枚举 + */ + private OrderStatusEnum orderStatusEnum; + + /** + * 构造函数,默认创建 + */ + public OrderStatusState() { + this.orderStatusEnum = OrderStatusEnum.READY; + } + + /** + * 构造函数,当前状态 + * @param status + */ + public OrderStatusState(int status) { + this.orderStatusEnum = OrderStatusEnum.getJobStatusEnum(status); + } + + /** + * 构造函数,当前状态枚举 + * @param requestStatusEnum + */ + public OrderStatusState(OrderStatusEnum requestStatusEnum) { + this.orderStatusEnum = requestStatusEnum; + } + + /** + * 发布 + * @return + */ + public boolean publish() { + if(this.orderStatusEnum.getCode() == OrderStatusEnum.READY.getCode()) { + this.orderStatusEnum = OrderStatusEnum.PUBLISHED; + return Boolean.TRUE; + } else { + return Boolean.FALSE; + } + } + + /** + * 下架 + * @return + */ + public boolean withdraw() { + if(this.orderStatusEnum.getCode() == OrderStatusEnum.PUBLISHED.getCode()) { + this.orderStatusEnum = OrderStatusEnum.READY; + return Boolean.TRUE; + } else { + return Boolean.FALSE; + } + } + + /** + * 关闭 + * @return + */ + public boolean close() { + if(this.orderStatusEnum.getCode() == OrderStatusEnum.READY.getCode()) { + this.orderStatusEnum = OrderStatusEnum.CLOSED; + return Boolean.TRUE; + } else { + return Boolean.FALSE; + } + } + + /** + * 打开 + * @return + */ + public boolean open() { + if(this.orderStatusEnum.getCode() == OrderStatusEnum.CLOSED.getCode()) { + this.orderStatusEnum = OrderStatusEnum.READY; + return Boolean.TRUE; + } else { + return Boolean.FALSE; + } + } + + /** + * 获取可执行的状态机 + * @return + */ + public OrderStatusEnum getState() { + return orderStatusEnum; + } + +} 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 new file mode 100644 index 00000000..2ee174a1 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/plan/PlanStatusEnum.java @@ -0,0 +1,36 @@ +package com.win.module.wms.enums.plan; + +public enum PlanStatusEnum { + + NEW(1), // 新增 + REVIEWING(2), // 审批中 + AGREED(3), // 审批通过 + REFUSED(4), // 审批驳回 + CLOSED(5), // 关闭 + PUBLISHED(6), // 发布 + COMPLETED(7), // 已完成 + ; + private final Integer code; + + PlanStatusEnum(int code) { + this.code = code; + } + + public int getCode() { + return code; + } + + /** + * 用状态值获取枚举 + * @param status + * @return + */ + static PlanStatusEnum getJobStatusEnum(int status) { + for (PlanStatusEnum jobStatusEnum : values()) { + if (jobStatusEnum.getCode() == status) { + return jobStatusEnum; + } + } + return 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 new file mode 100644 index 00000000..f24926b6 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/plan/PlanStatusState.java @@ -0,0 +1,122 @@ +package com.win.module.wms.enums.plan; + +/** + * 订单状态机 + */ +public class PlanStatusState { + + /** + * 当前状态枚举 + */ + private PlanStatusEnum orderStatusEnum; + + /** + * 构造函数,默认创建 + */ + public PlanStatusState() { + this.orderStatusEnum = PlanStatusEnum.NEW; + } + + /** + * 构造函数,当前状态 + * @param status + */ + public PlanStatusState(int status) { + this.orderStatusEnum = PlanStatusEnum.getJobStatusEnum(status); + } + + /** + * 构造函数,当前状态枚举 + * @param requestStatusEnum + */ + public PlanStatusState(PlanStatusEnum requestStatusEnum) { + this.orderStatusEnum = requestStatusEnum; + } + + /** + * 提交 + * @return + */ + public boolean submit() { + if(this.orderStatusEnum.getCode() == PlanStatusEnum.NEW.getCode()) { + this.orderStatusEnum = PlanStatusEnum.REVIEWING; + return Boolean.TRUE; + } else { + return Boolean.FALSE; + } + } + + /** + * 审批驳回 + * @return + */ + public boolean reject() { + if(this.orderStatusEnum.getCode() == PlanStatusEnum.REVIEWING.getCode()) { + this.orderStatusEnum = PlanStatusEnum.REFUSED; + return Boolean.TRUE; + } else { + return Boolean.FALSE; + } + } + + /** + * 审批通过 + * @return + */ + public boolean agree() { + if(this.orderStatusEnum.getCode() == PlanStatusEnum.REVIEWING.getCode()) { + this.orderStatusEnum = PlanStatusEnum.AGREED; + return Boolean.TRUE; + } else { + return Boolean.FALSE; + } + } + + /** + * 关闭 + * @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; + return Boolean.TRUE; + } else { + return Boolean.FALSE; + } + } + + /** + * 审批通过 + * @return + */ + public boolean resetting() { + if(this.orderStatusEnum.getCode() == PlanStatusEnum.REFUSED.getCode()) { + this.orderStatusEnum = PlanStatusEnum.NEW; + return Boolean.TRUE; + } else { + return Boolean.FALSE; + } + } + + /** + * 执行 + * @return + */ + public boolean execute() { + if(this.orderStatusEnum.getCode() == PlanStatusEnum.PUBLISHED.getCode()) { + this.orderStatusEnum = PlanStatusEnum.COMPLETED; + return Boolean.TRUE; + } else { + return Boolean.FALSE; + } + } + + /** + * 获取可执行的状态机 + * @return + */ + public PlanStatusEnum getState() { + return orderStatusEnum; + } + +} 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 e1c24291..ea5947b0 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 @@ -2,15 +2,15 @@ package com.win.module.wms.enums.request; public enum RequestStatusEnum { - NEW(0), // 新增 - APPROVAL(1), // 审批中 - PASS(2), // 审批通过 - REJECT(3), // 审批驳回 - CLOSED(4), // 关闭 - PROCESSING(5), // 处理中 - PARTIALLY_COMPLETED(6), // 部分完成 - COMPLETED(7), // 已完成 - TERMINATION(8), // 中止 + NEW(1), // 新增 + REVIEWING(2), // 审批中 + AGREED(3), // 审批通过 + REFUSED(4), // 审批驳回 + CLOSED(5), // 关闭 + HANDLING(6), // 处理中 + PARTIAL(7), // 部分完成 + COMPLETED(8), // 已完成 + ABORT(9), // 中止 ; private final Integer code; @@ -27,7 +27,7 @@ public enum RequestStatusEnum { * @param status * @return */ - static RequestStatusEnum getJobStatusEnum(int status) { + static RequestStatusEnum getRequestStatusEnum(int status) { for (RequestStatusEnum jobStatusEnum : values()) { if (jobStatusEnum.getCode() == status) { return jobStatusEnum; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/request/RequestStatusState.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/request/RequestStatusState.java index f8a9d992..9c1180c4 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/request/RequestStatusState.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/request/RequestStatusState.java @@ -24,7 +24,7 @@ public class RequestStatusState { * @param status */ public RequestStatusState(int status) { - this.requestStatusEnum = RequestStatusEnum.getJobStatusEnum(status); + this.requestStatusEnum = RequestStatusEnum.getRequestStatusEnum(status); } /** @@ -41,11 +41,11 @@ public class RequestStatusState { */ public boolean newObject(RequestsettingDO requestsettingDO) { if("TRUE".equals(requestsettingDO.getAutoCommit())) { - this.requestStatusEnum = RequestStatusEnum.APPROVAL; + this.requestStatusEnum = RequestStatusEnum.REVIEWING; if("TRUE".equals(requestsettingDO.getAutoAgree())) { - this.requestStatusEnum = RequestStatusEnum.PASS; + this.requestStatusEnum = RequestStatusEnum.AGREED; if("TRUE".equals(requestsettingDO.getAutoExecute())) { - this.requestStatusEnum = RequestStatusEnum.PROCESSING; + this.requestStatusEnum = RequestStatusEnum.HANDLING; } } } @@ -58,11 +58,11 @@ public class RequestStatusState { */ public boolean submit(RequestsettingDO requestsettingDO) { if(this.requestStatusEnum.getCode() == RequestStatusEnum.NEW.getCode()) { - this.requestStatusEnum = RequestStatusEnum.APPROVAL; + this.requestStatusEnum = RequestStatusEnum.REVIEWING; if("TRUE".equals(requestsettingDO.getAutoAgree())) { - this.requestStatusEnum = RequestStatusEnum.PASS; + this.requestStatusEnum = RequestStatusEnum.AGREED; if("TRUE".equals(requestsettingDO.getAutoExecute())) { - this.requestStatusEnum = RequestStatusEnum.PROCESSING; + this.requestStatusEnum = RequestStatusEnum.HANDLING; } } return Boolean.TRUE; @@ -76,10 +76,10 @@ public class RequestStatusState { * @return */ public boolean approval(RequestsettingDO requestsettingDO) { - if(this.requestStatusEnum.getCode() == RequestStatusEnum.APPROVAL.getCode()) { - this.requestStatusEnum = RequestStatusEnum.PASS; + if(this.requestStatusEnum.getCode() == RequestStatusEnum.REVIEWING.getCode()) { + this.requestStatusEnum = RequestStatusEnum.AGREED; if("TRUE".equals(requestsettingDO.getAutoExecute())) { - this.requestStatusEnum = RequestStatusEnum.PROCESSING; + this.requestStatusEnum = RequestStatusEnum.HANDLING; } return Boolean.TRUE; } else { @@ -92,8 +92,8 @@ public class RequestStatusState { * @return */ public boolean reject() { - if(this.requestStatusEnum.getCode() == RequestStatusEnum.APPROVAL.getCode()) { - this.requestStatusEnum = RequestStatusEnum.PASS; + if(this.requestStatusEnum.getCode() == RequestStatusEnum.REVIEWING.getCode()) { + this.requestStatusEnum = RequestStatusEnum.AGREED; return Boolean.TRUE; } else { return Boolean.FALSE; @@ -104,9 +104,9 @@ public class RequestStatusState { * 关闭,其余操作在任务中执行 * @return */ - public boolean closed() { - if(this.requestStatusEnum.getCode() == RequestStatusEnum.NEW.getCode() || this.requestStatusEnum.getCode() == RequestStatusEnum.APPROVAL.getCode() || this.requestStatusEnum.getCode() == RequestStatusEnum.PASS.getCode()) { - this.requestStatusEnum = RequestStatusEnum.PASS; + public boolean close() { + if(this.requestStatusEnum.getCode() == RequestStatusEnum.NEW.getCode() || this.requestStatusEnum.getCode() == RequestStatusEnum.REVIEWING.getCode() || this.requestStatusEnum.getCode() == RequestStatusEnum.AGREED.getCode()) { + this.requestStatusEnum = RequestStatusEnum.AGREED; return Boolean.TRUE; } else { return Boolean.FALSE;