diff --git a/win-framework/win-spring-boot-starter-mybatis/src/main/java/com/win/framework/mybatis/config/WinMybatisAutoConfiguration.java b/win-framework/win-spring-boot-starter-mybatis/src/main/java/com/win/framework/mybatis/config/WinMybatisAutoConfiguration.java
index 7cf5c9d9..0aba0389 100644
--- a/win-framework/win-spring-boot-starter-mybatis/src/main/java/com/win/framework/mybatis/config/WinMybatisAutoConfiguration.java
+++ b/win-framework/win-spring-boot-starter-mybatis/src/main/java/com/win/framework/mybatis/config/WinMybatisAutoConfiguration.java
@@ -1,13 +1,14 @@
package com.win.framework.mybatis.config;
import cn.hutool.core.util.StrUtil;
-import com.win.framework.mybatis.core.handler.DefaultDBFieldHandler;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import com.baomidou.mybatisplus.core.incrementer.IKeyGenerator;
import com.baomidou.mybatisplus.extension.incrementer.*;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
+import com.baomidou.mybatisplus.extension.plugins.inner.OptimisticLockerInnerInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
+import com.win.framework.mybatis.core.handler.DefaultDBFieldHandler;
import org.apache.ibatis.annotations.Mapper;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.autoconfigure.AutoConfiguration;
@@ -29,6 +30,7 @@ public class WinMybatisAutoConfiguration {
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor mybatisPlusInterceptor = new MybatisPlusInterceptor();
mybatisPlusInterceptor.addInnerInterceptor(new PaginationInnerInterceptor()); // 分页插件
+ mybatisPlusInterceptor.addInnerInterceptor(new OptimisticLockerInnerInterceptor()); // 乐观锁
return mybatisPlusInterceptor;
}
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-api/src/main/java/com/win/module/wms/enums/DictTypeConstants.java b/win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/DictTypeConstants.java
index fd1006d1..5d222b21 100644
--- a/win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/DictTypeConstants.java
+++ b/win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/DictTypeConstants.java
@@ -65,6 +65,9 @@ public interface DictTypeConstants {
String CARRIER_TYPE = "carrier_type";//承运商类型
String INVENTORY_STATUS = "inventory_status";//库存状态
String REQUEST_STATUS = "request_status";//请求状态
+
String PURCHASE_RETURN_REASON = "purchase_return_reason";//原因
+ String TRANSFER_MODE = "transfer_mode";//运输方式
+
}
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 21e0732a..b3deccd8 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
@@ -129,6 +129,9 @@ public class PurchasereceiptJobMainController {
public CommonResult getPurchasereceiptJobyId(@RequestParam("id") Long id) {
PurchasereceiptJobMainDO purchasereceiptJobMain = purchasereceiptJobMainService.getPurchasereceiptJobMain(id);
PurchasereceiptJobMainRespVO result = PurchasereceiptJobMainConvert.INSTANCE.convert(purchasereceiptJobMain);
+ if(result==null) {
+ return success(result);
+ };
PurchasereceiptJobDetailExportReqVO purchasereceiptJobDetailExportReqVO = new PurchasereceiptJobDetailExportReqVO();
purchasereceiptJobDetailExportReqVO.setMasterId(result.getId());
List purchasereceiptJobDetailList = purchasereceiptJobDetailService.getPurchasereceiptJobDetailList(purchasereceiptJobDetailExportReqVO);
@@ -142,8 +145,8 @@ public class PurchasereceiptJobMainController {
@Parameter(name = "createTime", description = "今日开始结束时间", required = false, example = "[\"1699200000000\",\"1701878400000\"]")
@Parameter(name = "types", description = "字典类型数组", required = false, example = "\"types\":[\"JOB_PENDING\",\"JOB_COMPLETED\"]")
@PreAuthorize("@ss.hasPermission('wms:purchasereceipt-job-main:query')")
- public CommonResult> getPageByStatusAndTime(@RequestBody PurchasereceiptJobMainRespTypesVO purchasereceiptJobMainRespTypesVO) {
- PageResult purchasereceiptJobMainByStatusPage = purchasereceiptJobMainService.getPurchasereceiptJobMainByStatusPage(purchasereceiptJobMainRespTypesVO);
+ public CommonResult> getPageByStatusAndTime(@RequestBody PurchasereceiptJobMainPageReqVO purchasereceiptJobMainPageReqVO) {
+ PageResult purchasereceiptJobMainByStatusPage = purchasereceiptJobMainService.getPurchasereceiptJobMainPage(purchasereceiptJobMainPageReqVO);
PageResult result = PurchasereceiptJobMainConvert.INSTANCE.convertPage(purchasereceiptJobMainByStatusPage);
return success(result);
}
diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptJob/vo/PurchasereceiptJobMainPageReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptJob/vo/PurchasereceiptJobMainPageReqVO.java
index 7f38ac1b..ed137418 100644
--- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptJob/vo/PurchasereceiptJobMainPageReqVO.java
+++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptJob/vo/PurchasereceiptJobMainPageReqVO.java
@@ -154,4 +154,7 @@ public class PurchasereceiptJobMainPageReqVO extends PageParam {
@Schema(description = "允许修改箱码")
private String allowModifyPackingNumber;
+ @Schema(description = "任务状态list可以为空", requiredMode = Schema.RequiredMode.REQUIRED)
+ private List types;
+
}
diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptJob/vo/PurchasereceiptJobMainRespTypesVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptJob/vo/PurchasereceiptJobMainRespTypesVO.java
deleted file mode 100644
index e6c58840..00000000
--- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptJob/vo/PurchasereceiptJobMainRespTypesVO.java
+++ /dev/null
@@ -1,166 +0,0 @@
-package com.win.module.wms.controller.purchasereceiptJob.vo;
-
-import com.win.framework.common.pojo.PageParam;
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.ToString;
-import org.springframework.format.annotation.DateTimeFormat;
-
-import javax.validation.constraints.NotNull;
-import java.math.BigDecimal;
-import java.time.LocalDateTime;
-import java.util.List;
-
-import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
-
-@Schema(description = "管理后台 - 采购收货任务主接收类接收多个任务状态 Response VO")
-@Data
-@EqualsAndHashCode(callSuper = true)
-@ToString(callSuper = true)
-public class PurchasereceiptJobMainRespTypesVO extends PageParam {
-
- @Schema(description = "申请单号")
- private String requestNumber;
-
- @Schema(description = "发货单号")
- private String asnNumber;
-
- @Schema(description = "要货计划单号")
- private String ppNumber;
-
- @Schema(description = "供应商代码")
- private String supplierCode;
-
- @Schema(description = "到月台代码")
- private String toDockCode;
-
- @Schema(description = "承运商")
- private String carrierCode;
-
- @Schema(description = "运输方式")
- private String transferMode;
-
- @Schema(description = "车牌号")
- private String vehiclePlateNumber;
-
- @Schema(description = "从仓库代码")
- private String fromWarehouseCode;
-
- @Schema(description = "到仓库代码")
- private String toWarehouseCode;
-
- @Schema(description = "申请时间")
- @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
- private LocalDateTime[] requestTime;
-
- @Schema(description = "要求截止时间")
- @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
- private LocalDateTime[] requestDueTime;
-
- @Schema(description = "状态")
- private String status;
-
- @Schema(description = "过期时间")
- @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
- private LocalDateTime[] expiredTime;
-
- @Schema(description = "最后更新时间")
- @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
- private LocalDateTime[] updateTime;
-
- @Schema(description = "最后更新者Id")
- private String updater;
-
- @Schema(description = "状态")
- private String jobStageStatus;
-
- @Schema(description = "优先级")
- private Integer priority;
-
- @Schema(description = "优先级增量")
- private Integer priorityIncrement;
-
- @Schema(description = "部门")
- private String departmentCode;
-
- @Schema(description = "岗位")
- private String userPositionCode;
-
- @Schema(description = "承接人用户ID")
- private String acceptUserId;
-
- @Schema(description = "承接时间")
- @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
- private LocalDateTime[] acceptTime;
-
- @Schema(description = "完成人用户ID")
- private String completeUserId;
-
- @Schema(description = "完成时间")
- @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
- private LocalDateTime[] completeTime;
-
- @Schema(description = "从库位类型范围")
- private String fromLocationTypes;
-
- @Schema(description = "到库位类型范围")
- private String toLocationTypes;
-
- @Schema(description = "单据号")
- private String number;
-
- @Schema(description = "业务类型")
- private String businessType;
-
- @Schema(description = "备注")
- private String remark;
-
- @Schema(description = "创建时间")
- @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
- private LocalDateTime[] createTime;
-
- @Schema(description = "创建者id")
- private String creator;
-
- @Schema(description = "允许修改批次")
- private String allowModifyBatch;
-
- @Schema(description = "从库区代码范围")
- private String fromAreaCodes;
-
- @Schema(description = "到库位代码范围")
- private String toAreaCodes;
-
- @Schema(description = "自动完成")
- private String autoComplete;
-
- @Schema(description = "允许修改库位")
- private String allowModifyLocation;
-
- @Schema(description = "允许修改数量")
- private String allowModifyQty;
-
- @Schema(description = "允许大于推荐数量")
- private String allowBiggerQty;
-
- @Schema(description = "允许小于推荐数量")
- private String allowSmallerQty;
-
- @Schema(description = "允许修改库存状态")
- private String allowModifyInventoryStatus;
-
- @Schema(description = "允许连续扫描")
- private String allowContinuousScanning;
-
- @Schema(description = "允许部分完成")
- private String allowPartialComplete;
-
- @Schema(description = "允许修改箱码")
- private String allowModifyPackingNumber;
-
- @Schema(description = "任务状态list可以为空", requiredMode = Schema.RequiredMode.REQUIRED)
- private List types;
-
-
-}
diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereceiptJob/PurchasereceiptJobMainMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereceiptJob/PurchasereceiptJobMainMapper.java
index 58279188..ef4118ab 100644
--- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereceiptJob/PurchasereceiptJobMainMapper.java
+++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereceiptJob/PurchasereceiptJobMainMapper.java
@@ -21,6 +21,7 @@ public interface PurchasereceiptJobMainMapper extends BaseMapperX selectPage(PurchasereceiptJobMainPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX()
+ .inIfPresent(PurchasereceiptJobMainDO::getStatus,reqVO.getTypes())
.eqIfPresent(PurchasereceiptJobMainDO::getRequestNumber, reqVO.getRequestNumber())
.eqIfPresent(PurchasereceiptJobMainDO::getAsnNumber, reqVO.getAsnNumber())
.eqIfPresent(PurchasereceiptJobMainDO::getPpNumber, reqVO.getPpNumber())
@@ -119,55 +120,6 @@ public interface PurchasereceiptJobMainMapper extends BaseMapperX selectByStatusPage(PurchasereceiptJobMainRespTypesVO reqVO) {
- return selectPage(reqVO, new LambdaQueryWrapperX()
- .eqIfPresent(PurchasereceiptJobMainDO::getRequestNumber, reqVO.getRequestNumber())
- .eqIfPresent(PurchasereceiptJobMainDO::getAsnNumber, reqVO.getAsnNumber())
- .eqIfPresent(PurchasereceiptJobMainDO::getPpNumber, reqVO.getPpNumber())
- .eqIfPresent(PurchasereceiptJobMainDO::getSupplierCode, reqVO.getSupplierCode())
- .eqIfPresent(PurchasereceiptJobMainDO::getToDockCode, reqVO.getToDockCode())
- .eqIfPresent(PurchasereceiptJobMainDO::getCarrierCode, reqVO.getCarrierCode())
- .eqIfPresent(PurchasereceiptJobMainDO::getTransferMode, reqVO.getTransferMode())
- .eqIfPresent(PurchasereceiptJobMainDO::getVehiclePlateNumber, reqVO.getVehiclePlateNumber())
- .eqIfPresent(PurchasereceiptJobMainDO::getFromWarehouseCode, reqVO.getFromWarehouseCode())
- .eqIfPresent(PurchasereceiptJobMainDO::getToWarehouseCode, reqVO.getToWarehouseCode())
- .betweenIfPresent(PurchasereceiptJobMainDO::getRequestTime, reqVO.getRequestTime())
- .betweenIfPresent(PurchasereceiptJobMainDO::getRequestDueTime, reqVO.getRequestDueTime())
- .inIfPresent(PurchasereceiptJobMainDO::getStatus, reqVO.getTypes())
- .betweenIfPresent(PurchasereceiptJobMainDO::getExpiredTime, reqVO.getExpiredTime())
- .betweenIfPresent(PurchasereceiptJobMainDO::getUpdateTime, reqVO.getUpdateTime())
- .eqIfPresent(PurchasereceiptJobMainDO::getUpdater, reqVO.getUpdater())
- .eqIfPresent(PurchasereceiptJobMainDO::getJobStageStatus, reqVO.getJobStageStatus())
- .eqIfPresent(PurchasereceiptJobMainDO::getPriority, reqVO.getPriority())
- .eqIfPresent(PurchasereceiptJobMainDO::getPriorityIncrement, reqVO.getPriorityIncrement())
- .eqIfPresent(PurchasereceiptJobMainDO::getDepartmentCode, reqVO.getDepartmentCode())
- .eqIfPresent(PurchasereceiptJobMainDO::getUserPositionCode, reqVO.getUserPositionCode())
- .eqIfPresent(PurchasereceiptJobMainDO::getAcceptUserId, reqVO.getAcceptUserId())
- .betweenIfPresent(PurchasereceiptJobMainDO::getAcceptTime, reqVO.getAcceptTime())
- .eqIfPresent(PurchasereceiptJobMainDO::getCompleteUserId, reqVO.getCompleteUserId())
- .betweenIfPresent(PurchasereceiptJobMainDO::getCompleteTime, reqVO.getCompleteTime())
- .eqIfPresent(PurchasereceiptJobMainDO::getFromLocationTypes, reqVO.getFromLocationTypes())
- .eqIfPresent(PurchasereceiptJobMainDO::getToLocationTypes, reqVO.getToLocationTypes())
- .eqIfPresent(PurchasereceiptJobMainDO::getNumber, reqVO.getNumber())
- .eqIfPresent(PurchasereceiptJobMainDO::getBusinessType, reqVO.getBusinessType())
- .eqIfPresent(PurchasereceiptJobMainDO::getRemark, reqVO.getRemark())
- .betweenIfPresent(PurchasereceiptJobMainDO::getCreateTime, reqVO.getCreateTime())
- .eqIfPresent(PurchasereceiptJobMainDO::getCreator, reqVO.getCreator())
- .eqIfPresent(PurchasereceiptJobMainDO::getAllowModifyBatch, reqVO.getAllowModifyBatch())
- .eqIfPresent(PurchasereceiptJobMainDO::getFromAreaCodes, reqVO.getFromAreaCodes())
- .eqIfPresent(PurchasereceiptJobMainDO::getToAreaCodes, reqVO.getToAreaCodes())
- .eqIfPresent(PurchasereceiptJobMainDO::getAutoComplete, reqVO.getAutoComplete())
- .eqIfPresent(PurchasereceiptJobMainDO::getAllowModifyLocation, reqVO.getAllowModifyLocation())
- .eqIfPresent(PurchasereceiptJobMainDO::getAllowModifyQty, reqVO.getAllowModifyQty())
- .eqIfPresent(PurchasereceiptJobMainDO::getAllowBiggerQty, reqVO.getAllowBiggerQty())
- .eqIfPresent(PurchasereceiptJobMainDO::getAllowSmallerQty, reqVO.getAllowSmallerQty())
- .eqIfPresent(PurchasereceiptJobMainDO::getAllowModifyInventoryStatus, reqVO.getAllowModifyInventoryStatus())
- .eqIfPresent(PurchasereceiptJobMainDO::getAllowContinuousScanning, reqVO.getAllowContinuousScanning())
- .eqIfPresent(PurchasereceiptJobMainDO::getAllowPartialComplete, reqVO.getAllowPartialComplete())
- .eqIfPresent(PurchasereceiptJobMainDO::getAllowModifyPackingNumber, reqVO.getAllowModifyPackingNumber())
- .orderByDesc(PurchasereceiptJobMainDO::getId));
- }
-
default List getPurchasereceiptJobMainSenior(PurchasereceiptJobMainRespVO reqVO) {
return selectList(new LambdaQueryWrapperX()
.eqIfPresent(PurchasereceiptJobMainDO::getRequestNumber, reqVO.getRequestNumber())
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;
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 43edbd22..270729b9 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
@@ -83,13 +83,5 @@ public interface PurchasereceiptJobMainService {
*/
public PurchasereceiptJobMainDO purchasereceiptJobMainDoStatusRight(String pnumber, String pstatus);
- /**
- * 获得采购收货任务主分页根据多个状态选择以及是否今日数据
- *
- * @param pageReqVO 分页查询
- * @return 采购收货任务主分页
- */
- PageResult getPurchasereceiptJobMainByStatusPage(PurchasereceiptJobMainRespTypesVO pageReqVO);
-
List getPurchasereceiptJobMainSenior(PurchasereceiptJobMainRespVO respVO);
}
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 0e071d5d..3c071cde 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
@@ -117,11 +117,6 @@ public class PurchasereceiptJobMainServiceImpl implements PurchasereceiptJobMain
}
}
- @Override
- public PageResult getPurchasereceiptJobMainByStatusPage(PurchasereceiptJobMainRespTypesVO pageReqVO) {
- return purchasereceiptJobMainMapper.selectByStatusPage(pageReqVO);
- }
-
@Override
public List getPurchasereceiptJobMainSenior(PurchasereceiptJobMainRespVO respVO) {
return purchasereceiptJobMainMapper.getPurchasereceiptJobMainSenior(respVO);