Browse Source

生产订单

master
陈薪名 2 years ago
parent
commit
53f0195a97
  1. 18
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/work/WorkDetailController.java
  2. 73
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/work/WorkMainController.java
  3. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/work/vo/WorkMainBaseVO.java
  4. 34
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/work/vo/WorkMainExcelVO.java
  5. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/work/vo/WorkMainExportReqVO.java
  6. 4
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/work/vo/WorkMainImportVO.java
  7. 28
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/work/WorkMainConvert.java
  8. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/work/WorkDetailDO.java
  9. 35
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/work/WorkDetailMapper.java
  10. 4
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/work/WorkMainMapper.java
  11. 11
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/work/WorkDetailService.java
  12. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/work/WorkDetailServiceImpl.java
  13. 9
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/work/WorkMainService.java
  14. 334
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/work/WorkMainServiceImpl.java

18
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/work/WorkDetailController.java

@ -108,22 +108,4 @@ public class WorkDetailController {
} }
return success(result); return success(result);
} }
@GetMapping("/export-excel")
@Operation(summary = "导出生产订单子 Excel")
@PreAuthorize("@ss.hasPermission('wms:work-detail:export')")
@OperateLog(type = EXPORT)
public void exportWorkDetailExcel(@Valid WorkDetailExportReqVO exportReqVO,
HttpServletResponse response) throws IOException {
List<WorkDetailDO> list = workDetailService.getWorkDetailList(exportReqVO);
// 导出 Excel
List<WorkDetailExcelVO> datas = WorkDetailConvert.INSTANCE.convertList02(list);
for(WorkDetailExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
ExcelUtils.write(response, "生产订单子.xls", "数据", WorkDetailExcelVO.class, datas);
}
} }

73
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/work/WorkMainController.java

@ -3,14 +3,22 @@ package com.win.module.wms.controller.work;
import com.win.framework.common.pojo.CommonResult; import com.win.framework.common.pojo.CommonResult;
import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult; import com.win.framework.common.pojo.PageResult;
import com.win.framework.dict.core.util.DictFrameworkUtils;
import com.win.framework.excel.core.util.ConvertUtil; import com.win.framework.excel.core.util.ConvertUtil;
import com.win.framework.excel.core.util.ExcelUtils; import com.win.framework.excel.core.util.ExcelUtils;
import com.win.framework.operatelog.core.annotations.OperateLog; import com.win.framework.operatelog.core.annotations.OperateLog;
import com.win.module.system.api.user.AdminUserApi; import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO; import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.purchasereceiptRequest.vo.PurchasereceiptRequestMainExcelVO;
import com.win.module.wms.controller.work.vo.*; import com.win.module.wms.controller.work.vo.*;
import com.win.module.wms.convert.purchasereceiptRequest.PurchasereceiptRequestMainConvert;
import com.win.module.wms.convert.work.WorkMainConvert; import com.win.module.wms.convert.work.WorkMainConvert;
import com.win.module.wms.dal.dataobject.purchasereceiptRequest.PurchasereceiptRequestDetailDO;
import com.win.module.wms.dal.dataobject.purchasereceiptRequest.PurchasereceiptRequestMainDO;
import com.win.module.wms.dal.dataobject.work.WorkDetailDO;
import com.win.module.wms.dal.dataobject.work.WorkMainDO; import com.win.module.wms.dal.dataobject.work.WorkMainDO;
import com.win.module.wms.enums.DictTypeConstants;
import com.win.module.wms.service.work.WorkDetailService;
import com.win.module.wms.service.work.WorkMainService; import com.win.module.wms.service.work.WorkMainService;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Parameter;
@ -38,6 +46,8 @@ import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
@Validated @Validated
public class WorkMainController { public class WorkMainController {
@Resource
private WorkDetailService workDetailService;
@Resource @Resource
private WorkMainService workMainService; private WorkMainService workMainService;
@ -100,46 +110,75 @@ public class WorkMainController {
PageResult<WorkMainDO> pageResult = workMainService.getWorkMainSenior(conditions); PageResult<WorkMainDO> pageResult = workMainService.getWorkMainSenior(conditions);
PageResult<WorkMainRespVO> result = WorkMainConvert.INSTANCE.convertPage(pageResult); PageResult<WorkMainRespVO> result = WorkMainConvert.INSTANCE.convertPage(pageResult);
for(WorkMainRespVO vo : result.getList()) { for(WorkMainRespVO vo : result.getList()) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段 //后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname()); vo.setCreator(userApi.getUser(Long.valueOf(vo.getCreator())).getNickname());
//后端创建个字段作为前端展示的虚拟字段
vo.setUpdater(userApi.getUser(Long.valueOf(vo.getUpdater())).getNickname());
} }
return success(result); return success(result);
} }
@GetMapping("/export-excel") @GetMapping("/export-excel")
@Operation(summary = "导出生产订单 Excel") @Operation(summary = "导出生产订单 Excel")
@PreAuthorize("@ss.hasPermission('wms:work-main:export')") @PreAuthorize("@ss.hasPermission('wms:work-main:export')")
@OperateLog(type = EXPORT) @OperateLog(type = EXPORT)
public void exportWorkMainExcel(@Valid WorkMainExportReqVO exportReqVO, public void exportWorkMainExcel(@Valid WorkMainExportReqVO exportReqVO,
HttpServletResponse response) throws IOException { HttpServletResponse response) throws IOException {
List<WorkMainDO> list = workMainService.getWorkMainList(exportReqVO); List<WorkMainDO> list = workMainService.getWorkMainList(exportReqVO);
// 导出 Excel //组装vo
List<WorkMainExcelVO> datas = WorkMainConvert.INSTANCE.convertList02(list); Map<Integer, String[]> mapDropDown = new HashMap<>();
for(WorkMainExcelVO vo : datas) { List<WorkMainExcelVO> resultList = this.getExcelVo(list, mapDropDown);
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator())); for(WorkMainExcelVO vo : resultList) {
//后端创建个字段作为前端展示的虚拟字段 //后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname()); vo.setCreator(userApi.getUser(Long.valueOf(vo.getCreator())).getNickname());
//后端创建个字段作为前端展示的虚拟字段
vo.setUpdater(userApi.getUser(Long.valueOf(vo.getUpdater())).getNickname());
}
ExcelUtils.write(response, "生产订单.xls", "数据", WorkMainExcelVO.class, resultList, mapDropDown);
}
@GetMapping("/export-excel-senior")
@Operation(summary = "导出生产订单 Excel")
@PreAuthorize("@ss.hasPermission('wms:work-main:export')")
@OperateLog(type = EXPORT)
public void exportWorkMainSeniorExcel(@Valid @RequestBody CustomConditions conditions, HttpServletResponse response) throws IOException {
List<WorkMainDO> list = workMainService.getWorkMainList(conditions);
//组装vo
Map<Integer, String[]> mapDropDown = new HashMap<>();
List<WorkMainExcelVO> resultList = this.getExcelVo(list, mapDropDown);
// 导出 Excel
ExcelUtils.write(response, "生产订单.xlsx", "数据", WorkMainExcelVO.class, resultList, mapDropDown);
}
private List<WorkMainExcelVO> getExcelVo(List<WorkMainDO> list, Map<Integer, String[]> mapDropDown) {
String[] available = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.TRUE_FALSE);
mapDropDown.put(13, available);
List<WorkMainExcelVO> resultList = new ArrayList<>();
// 导出
for(WorkMainDO mainDO : list) {
List<WorkDetailDO> subList = workDetailService.selectList(mainDO.getId());
for(WorkDetailDO detailDO : subList) {
WorkMainExcelVO vo = WorkMainConvert.INSTANCE.convert(mainDO, detailDO);
resultList.add(vo);
}
} }
ExcelUtils.write(response, "生产订单主.xls", "数据", WorkMainExcelVO.class, datas); return resultList;
} }
@GetMapping("/get-import-template") @GetMapping("/get-import-template")
@Operation(summary = "获得导入采购索赔信息模板") @Operation(summary = "获得导入生产订单模板")
public void importTemplate(HttpServletResponse response) throws IOException { public void importTemplate(HttpServletResponse response) throws IOException {
// 手动创建导出 demo // 手动创建导出 demo
List<WorkMainImportVO> list = new ArrayList<>(); List<WorkMainImportVO> list = new ArrayList<>();
Map<Integer, String[]> mapDropDown = new HashMap<>(); Map<Integer, String[]> mapDropDown = new HashMap<>();
// String[] purchaseReturnReason = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.PURCHASE_RETURN_REASON); String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM);
// mapDropDown.put(16, purchaseReturnReason); mapDropDown.put(6, uom);
// String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM);
// mapDropDown.put(25, uom);
// 输出 // 输出
ExcelUtils.write(response, "采购索赔信息导入模板.xlsx", "采购索赔信息列表", WorkMainImportVO.class, list, mapDropDown); ExcelUtils.write(response, "生产订单导入模板.xlsx", "生产订单信息列表", WorkMainImportVO.class, list, mapDropDown);
} }
@PostMapping("/import") @PostMapping("/import")
@Operation(summary = "导入要货计划") @Operation(summary = "导入生产订单")
@Parameters({ @Parameters({
@Parameter(name = "file", description = "Excel 文件", required = true), @Parameter(name = "file", description = "Excel 文件", required = true),
@Parameter(name = "mode", description = "导入模式1更新2追加3覆盖", example = "1"), @Parameter(name = "mode", description = "导入模式1更新2追加3覆盖", example = "1"),

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/work/vo/WorkMainBaseVO.java

@ -1,5 +1,6 @@
package com.win.module.wms.controller.work.vo; package com.win.module.wms.controller.work.vo;
import com.win.framework.excel.core.annotations.OnlyOne;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*; import lombok.*;
import java.util.*; import java.util.*;
@ -44,6 +45,7 @@ public class WorkMainBaseVO {
@Schema(description = "单据号", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "单据号", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "单据号不能为空") @NotNull(message = "单据号不能为空")
@OnlyOne
private String number; private String number;
@Schema(description = "业务类型", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "业务类型", requiredMode = Schema.RequiredMode.REQUIRED)

34
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/work/vo/WorkMainExcelVO.java

@ -1,7 +1,10 @@
package com.win.module.wms.controller.work.vo; package com.win.module.wms.controller.work.vo;
import com.win.module.wms.enums.DictTypeConstants;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*; import lombok.*;
import java.math.BigDecimal;
import java.util.*; import java.util.*;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.LocalDateTime; import java.time.LocalDateTime;
@ -21,6 +24,9 @@ import com.win.framework.excel.core.convert.DictConvert;
@Data @Data
public class WorkMainExcelVO { public class WorkMainExcelVO {
@ExcelProperty("单据号")
private String number;
@ExcelProperty("供应商代码") @ExcelProperty("供应商代码")
private String customerCode; private String customerCode;
@ -37,9 +43,6 @@ public class WorkMainExcelVO {
@ExcelProperty("版本") @ExcelProperty("版本")
private String version; private String version;
@ExcelProperty("单据号")
private String number;
@ExcelProperty("业务类型") @ExcelProperty("业务类型")
private String businessType; private String businessType;
@ -62,6 +65,31 @@ public class WorkMainExcelVO {
private Integer currentStage; private Integer currentStage;
@ExcelProperty("是否可用") @ExcelProperty("是否可用")
@DictFormat(DictTypeConstants.TRUE_FALSE)
private String available; private String available;
@ExcelProperty("行号")
private String lineNumber;
@ExcelProperty("项目代码")
private String projectCode;
@ExcelProperty("完工数量")
private BigDecimal finishedQty;
@ExcelProperty("物品代码")
private String itemCode;
@ExcelProperty("备注2")
private String remarkDetail;
@ExcelProperty("订单数量")
private BigDecimal orderQty;
@ExcelProperty("计量单位")
private String uom;
@ExcelProperty("是否可用2")
@DictFormat(DictTypeConstants.TRUE_FALSE)
private String availableDetail;
} }

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/work/vo/WorkMainExportReqVO.java

@ -1,5 +1,7 @@
package com.win.module.wms.controller.work.vo; package com.win.module.wms.controller.work.vo;
import com.win.framework.excel.core.annotations.DictFormat;
import com.win.module.wms.enums.DictTypeConstants;
import lombok.*; import lombok.*;
import java.util.*; import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
@ -57,6 +59,7 @@ public class WorkMainExportReqVO {
private Integer currentStage; private Integer currentStage;
@Schema(description = "是否可用") @Schema(description = "是否可用")
@DictFormat(DictTypeConstants.TRUE_FALSE)
private String available; private String available;
} }

4
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/work/vo/WorkMainImportVO.java

@ -1,6 +1,9 @@
package com.win.module.wms.controller.work.vo; package com.win.module.wms.controller.work.vo;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import com.win.framework.excel.core.annotations.DictFormat;
import com.win.framework.excel.core.annotations.OnlyOne;
import com.win.module.wms.enums.DictTypeConstants;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
@ -40,5 +43,6 @@ public class WorkMainImportVO {
@ExcelProperty("订单数量") @ExcelProperty("订单数量")
private BigDecimal orderQty; private BigDecimal orderQty;
@ExcelProperty("计量单位") @ExcelProperty("计量单位")
@DictFormat(DictTypeConstants.UOM)
private String uom; private String uom;
} }

28
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/work/WorkMainConvert.java

@ -4,11 +4,14 @@ import java.util.*;
import com.win.framework.common.pojo.PageResult; import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.work.vo.WorkMainCreateReqVO; import com.win.module.wms.controller.purchasereceiptRequest.vo.PurchasereceiptRequestMainExcelVO;
import com.win.module.wms.controller.work.vo.WorkMainExcelVO; import com.win.module.wms.controller.work.vo.*;
import com.win.module.wms.controller.work.vo.WorkMainRespVO; import com.win.module.wms.dal.dataobject.purchasereceiptRequest.PurchasereceiptRequestDetailDO;
import com.win.module.wms.controller.work.vo.WorkMainUpdateReqVO; import com.win.module.wms.dal.dataobject.purchasereceiptRequest.PurchasereceiptRequestMainDO;
import com.win.module.wms.dal.dataobject.work.WorkDetailDO;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.Mappings;
import org.mapstruct.factory.Mappers; import org.mapstruct.factory.Mappers;
import com.win.module.wms.dal.dataobject.work.WorkMainDO; import com.win.module.wms.dal.dataobject.work.WorkMainDO;
@ -34,4 +37,21 @@ public interface WorkMainConvert {
List<WorkMainExcelVO> convertList02(List<WorkMainDO> list); List<WorkMainExcelVO> convertList02(List<WorkMainDO> list);
@Mappings({
@Mapping(source = "mainDO.number", target = "number"),
})
WorkMainImportErrorVO convert(WorkMainCreateReqVO mainDO, WorkDetailDO detailDO);
@Mappings({
@Mapping(source = "mainDO.number", target = "number"),
@Mapping(source = "mainDO.remark", target = "remark"),
@Mapping(source = "mainDO.createTime", target = "createTime"),
@Mapping(source = "mainDO.creator", target = "creator"),
@Mapping(source = "mainDO.updateTime", target = "updateTime"),
@Mapping(source = "mainDO.updater", target = "updater"),
@Mapping(source = "mainDO.available", target = "available"),
@Mapping(source = "detailDO.available", target = "availableDetail"),
@Mapping(source = "detailDO.remark", target = "remarkDetail"),
})
WorkMainExcelVO convert(WorkMainDO mainDO, WorkDetailDO detailDO);
} }

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/work/WorkDetailDO.java

@ -43,7 +43,7 @@ public class WorkDetailDO extends BaseDO {
/** /**
* 主表ID * 主表ID
*/ */
private String masterId; private Long masterId;
/** /**
* 单据号 * 单据号
*/ */

35
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/work/WorkDetailMapper.java

@ -9,6 +9,7 @@ import com.win.framework.mybatis.core.mapper.BaseMapperX;
import com.win.framework.mybatis.core.util.QueryWrapperUtils; import com.win.framework.mybatis.core.util.QueryWrapperUtils;
import com.win.module.wms.controller.work.vo.WorkDetailExportReqVO; import com.win.module.wms.controller.work.vo.WorkDetailExportReqVO;
import com.win.module.wms.controller.work.vo.WorkDetailPageReqVO; import com.win.module.wms.controller.work.vo.WorkDetailPageReqVO;
import com.win.module.wms.dal.dataobject.purchasereceiptRequest.PurchasereceiptRequestDetailDO;
import com.win.module.wms.dal.dataobject.work.WorkDetailDO; import com.win.module.wms.dal.dataobject.work.WorkDetailDO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
@ -41,22 +42,26 @@ public interface WorkDetailMapper extends BaseMapperX<WorkDetailDO> {
.orderByDesc(WorkDetailDO::getId)); .orderByDesc(WorkDetailDO::getId));
} }
default List<WorkDetailDO> selectList(WorkDetailExportReqVO reqVO) { default List<WorkDetailDO> selectList(Long masterId) {
return selectList(new LambdaQueryWrapperX<WorkDetailDO>() return selectList(new LambdaQueryWrapperX<WorkDetailDO>()
.eqIfPresent(WorkDetailDO::getLineNumber, reqVO.getLineNumber()) .eq(WorkDetailDO::getMasterId, masterId));
.eqIfPresent(WorkDetailDO::getProjectCode, reqVO.getProjectCode())
.eqIfPresent(WorkDetailDO::getFinishedQty, reqVO.getFinishedQty())
.eqIfPresent(WorkDetailDO::getNumber, reqVO.getNumber())
.eqIfPresent(WorkDetailDO::getItemCode, reqVO.getItemCode())
.eqIfPresent(WorkDetailDO::getRemark, reqVO.getRemark())
.betweenIfPresent(WorkDetailDO::getCreateTime, reqVO.getCreateTime())
.eqIfPresent(WorkDetailDO::getCreator, reqVO.getCreator())
.eqIfPresent(WorkDetailDO::getOrderQty, reqVO.getOrderQty())
.eqIfPresent(WorkDetailDO::getUom, reqVO.getUom())
.betweenIfPresent(WorkDetailDO::getUpdateTime, reqVO.getUpdateTime())
.eqIfPresent(WorkDetailDO::getUpdater, reqVO.getUpdater())
.eqIfPresent(WorkDetailDO::getAvailable, reqVO.getAvailable())
.orderByDesc(WorkDetailDO::getId));
} }
// default List<WorkDetailDO> selectList(WorkDetailExportReqVO reqVO) {
// return selectList(new LambdaQueryWrapperX<WorkDetailDO>()
// .eqIfPresent(WorkDetailDO::getLineNumber, reqVO.getLineNumber())
// .eqIfPresent(WorkDetailDO::getProjectCode, reqVO.getProjectCode())
// .eqIfPresent(WorkDetailDO::getFinishedQty, reqVO.getFinishedQty())
// .eqIfPresent(WorkDetailDO::getNumber, reqVO.getNumber())
// .eqIfPresent(WorkDetailDO::getItemCode, reqVO.getItemCode())
// .eqIfPresent(WorkDetailDO::getRemark, reqVO.getRemark())
// .betweenIfPresent(WorkDetailDO::getCreateTime, reqVO.getCreateTime())
// .eqIfPresent(WorkDetailDO::getCreator, reqVO.getCreator())
// .eqIfPresent(WorkDetailDO::getOrderQty, reqVO.getOrderQty())
// .eqIfPresent(WorkDetailDO::getUom, reqVO.getUom())
// .betweenIfPresent(WorkDetailDO::getUpdateTime, reqVO.getUpdateTime())
// .eqIfPresent(WorkDetailDO::getUpdater, reqVO.getUpdater())
// .eqIfPresent(WorkDetailDO::getAvailable, reqVO.getAvailable())
// .orderByDesc(WorkDetailDO::getId));
// }
} }

4
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/work/WorkMainMapper.java

@ -7,6 +7,7 @@ import com.win.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.win.framework.mybatis.core.util.QueryWrapperUtils; import com.win.framework.mybatis.core.util.QueryWrapperUtils;
import com.win.module.wms.controller.work.vo.WorkMainExportReqVO; import com.win.module.wms.controller.work.vo.WorkMainExportReqVO;
import com.win.module.wms.controller.work.vo.WorkMainPageReqVO; import com.win.module.wms.controller.work.vo.WorkMainPageReqVO;
import com.win.module.wms.dal.dataobject.purchasereceiptRequest.PurchasereceiptRequestMainDO;
import com.win.module.wms.dal.dataobject.work.WorkMainDO; import com.win.module.wms.dal.dataobject.work.WorkMainDO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
@ -66,4 +67,7 @@ public interface WorkMainMapper extends BaseMapperX<WorkMainDO> {
.orderByDesc(WorkMainDO::getId)); .orderByDesc(WorkMainDO::getId));
} }
default List<WorkMainDO> selectSeniorList(CustomConditions conditions) {
return selectList(QueryWrapperUtils.structure(conditions));
}
} }

11
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/work/WorkDetailService.java

@ -9,6 +9,7 @@ import com.win.module.wms.controller.work.vo.WorkDetailExportReqVO;
import com.win.module.wms.controller.work.vo.WorkDetailPageReqVO; import com.win.module.wms.controller.work.vo.WorkDetailPageReqVO;
import com.win.module.wms.controller.work.vo.WorkDetailUpdateReqVO; import com.win.module.wms.controller.work.vo.WorkDetailUpdateReqVO;
import com.win.module.wms.dal.dataobject.purchasereceiptRequest.PurchasereceiptRequestDetailDO;
import com.win.module.wms.dal.dataobject.work.WorkDetailDO; import com.win.module.wms.dal.dataobject.work.WorkDetailDO;
import com.win.framework.common.pojo.PageResult; import com.win.framework.common.pojo.PageResult;
@ -78,6 +79,14 @@ public interface WorkDetailService {
* @param exportReqVO 查询条件 * @param exportReqVO 查询条件
* @return 生产订单子列表 * @return 生产订单子列表
*/ */
List<WorkDetailDO> getWorkDetailList(WorkDetailExportReqVO exportReqVO); // List<WorkDetailDO> getWorkDetailList(WorkDetailExportReqVO exportReqVO);
/**
* 根据主表id查询
*
* @param masterId 主表id
* @return
*/
List<WorkDetailDO> selectList(Long masterId);
} }

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/work/WorkDetailServiceImpl.java

@ -5,6 +5,7 @@ import com.win.module.wms.controller.work.vo.WorkDetailCreateReqVO;
import com.win.module.wms.controller.work.vo.WorkDetailExportReqVO; import com.win.module.wms.controller.work.vo.WorkDetailExportReqVO;
import com.win.module.wms.controller.work.vo.WorkDetailPageReqVO; import com.win.module.wms.controller.work.vo.WorkDetailPageReqVO;
import com.win.module.wms.controller.work.vo.WorkDetailUpdateReqVO; import com.win.module.wms.controller.work.vo.WorkDetailUpdateReqVO;
import com.win.module.wms.dal.dataobject.purchasereceiptRequest.PurchasereceiptRequestDetailDO;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
@ -84,9 +85,14 @@ public class WorkDetailServiceImpl implements WorkDetailService {
return workDetailMapper.selectPage(pageReqVO); return workDetailMapper.selectPage(pageReqVO);
} }
// @Override
// public List<WorkDetailDO> getWorkDetailList(WorkDetailExportReqVO exportReqVO) {
// return workDetailMapper.selectList(exportReqVO);
// }
@Override @Override
public List<WorkDetailDO> getWorkDetailList(WorkDetailExportReqVO exportReqVO) { public List<WorkDetailDO> selectList(Long masterId) {
return workDetailMapper.selectList(exportReqVO); return workDetailMapper.selectList(masterId);
} }
} }

9
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/work/WorkMainService.java

@ -3,6 +3,7 @@ package com.win.module.wms.service.work;
import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult; import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.work.vo.*; import com.win.module.wms.controller.work.vo.*;
import com.win.module.wms.dal.dataobject.purchasereceiptRequest.PurchasereceiptRequestMainDO;
import com.win.module.wms.dal.dataobject.work.WorkDetailDO; import com.win.module.wms.dal.dataobject.work.WorkDetailDO;
import com.win.module.wms.dal.dataobject.work.WorkMainDO; import com.win.module.wms.dal.dataobject.work.WorkMainDO;
@ -78,6 +79,14 @@ public interface WorkMainService {
*/ */
List<WorkMainDO> getWorkMainList(WorkMainExportReqVO exportReqVO); List<WorkMainDO> getWorkMainList(WorkMainExportReqVO exportReqVO);
/**
* 获得生产订单主列表, 用于 Excel 导出
*
* @param conditions 查询条件
* @return 采购收货申请主列表
*/
List<WorkMainDO> getWorkMainList(CustomConditions conditions);
/** /**
* Order----VW * Order----VW
* 校验生产订单 * 校验生产订单

334
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/work/WorkMainServiceImpl.java

@ -6,18 +6,35 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.win.framework.common.exception.ServiceException; import com.win.framework.common.exception.ServiceException;
import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult; import com.win.framework.common.pojo.PageResult;
import com.win.framework.common.util.validation.ValidationUtils;
import com.win.module.infra.api.trends.TrendsApi;
import com.win.module.infra.enums.TrendsTypeEnum;
import com.win.module.system.api.serialnumber.SerialNumberApi;
import com.win.module.system.enums.serialNumber.RuleCodeEnum;
import com.win.module.wms.controller.purchasereceiptRequest.vo.PurchasereceiptRequestDetailCreateReqVO;
import com.win.module.wms.controller.purchasereceiptRequest.vo.PurchasereceiptRequestMainExportReqVO;
import com.win.module.wms.controller.purchasereceiptRequest.vo.PurchasereceiptRequestMainImportErrorVO;
import com.win.module.wms.controller.work.vo.*; import com.win.module.wms.controller.work.vo.*;
import com.win.module.wms.convert.purchasereceiptRequest.PurchasereceiptRequestDetailConvert;
import com.win.module.wms.convert.purchasereceiptRequest.PurchasereceiptRequestMainConvert;
import com.win.module.wms.convert.work.WorkDetailConvert; import com.win.module.wms.convert.work.WorkDetailConvert;
import com.win.module.wms.convert.work.WorkMainConvert; import com.win.module.wms.convert.work.WorkMainConvert;
import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO; import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO;
import com.win.module.wms.dal.dataobject.customer.CustomerDO;
import com.win.module.wms.dal.dataobject.customeritem.CustomeritemDO; import com.win.module.wms.dal.dataobject.customeritem.CustomeritemDO;
import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO; import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO;
import com.win.module.wms.dal.dataobject.itempackaging.ItempackagingDO; import com.win.module.wms.dal.dataobject.itempackaging.ItempackagingDO;
import com.win.module.wms.dal.dataobject.purchasereceiptRequest.PurchasereceiptRequestDetailDO;
import com.win.module.wms.dal.dataobject.purchasereceiptRequest.PurchasereceiptRequestMainDO;
import com.win.module.wms.dal.dataobject.requestsetting.RequestsettingDO;
import com.win.module.wms.dal.dataobject.saleprice.SalepriceDO; import com.win.module.wms.dal.dataobject.saleprice.SalepriceDO;
import com.win.module.wms.dal.dataobject.work.WorkDetailDO; import com.win.module.wms.dal.dataobject.work.WorkDetailDO;
import com.win.module.wms.dal.dataobject.work.WorkMainDO; import com.win.module.wms.dal.dataobject.work.WorkMainDO;
import com.win.module.wms.dal.mysql.work.WorkDetailMapper; import com.win.module.wms.dal.mysql.work.WorkDetailMapper;
import com.win.module.wms.dal.mysql.work.WorkMainMapper; import com.win.module.wms.dal.mysql.work.WorkMainMapper;
import com.win.module.wms.enums.request.RequestStatusEnum;
import com.win.module.wms.enums.request.RequestStatusState;
import com.win.module.wms.service.customer.CustomerService;
import com.win.module.wms.service.customeritem.CustomeritemService; import com.win.module.wms.service.customeritem.CustomeritemService;
import com.win.module.wms.service.itembasic.ItembasicService; import com.win.module.wms.service.itembasic.ItembasicService;
import com.win.module.wms.service.itempackaging.ItempackagingService; import com.win.module.wms.service.itempackaging.ItempackagingService;
@ -26,10 +43,13 @@ import com.win.module.wms.service.shift.ShiftService;
import com.win.module.wms.service.supplieritem.SupplieritemService; import com.win.module.wms.service.supplieritem.SupplieritemService;
import com.win.module.wms.util.JobUtils; import com.win.module.wms.util.JobUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport; import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.validation.Validator;
import java.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
import java.util.List; import java.util.List;
@ -47,6 +67,14 @@ import static com.win.module.wms.enums.ErrorCodeConstants.WORK_MAIN_NOT_EXISTS;
@Validated @Validated
public class WorkMainServiceImpl implements WorkMainService { public class WorkMainServiceImpl implements WorkMainService {
@Resource
private CustomerService customerService;
@Resource
private SerialNumberApi serialNumberApi;
@Resource
private TrendsApi trendsApi;
@Resource
private Validator validator;
@Resource @Resource
private WorkMainMapper workMainMapper; private WorkMainMapper workMainMapper;
@Resource @Resource
@ -123,6 +151,11 @@ public class WorkMainServiceImpl implements WorkMainService {
return workMainMapper.selectList(exportReqVO); return workMainMapper.selectList(exportReqVO);
} }
@Override
public List<WorkMainDO> getWorkMainList(CustomConditions conditions) {
return workMainMapper.selectSeniorList(conditions);
}
@Override @Override
public WorkDetailDO selectWorkExist(String pnumber, String pitemCode) { public WorkDetailDO selectWorkExist(String pnumber, String pitemCode) {
QueryWrapper queryWrapperMain = new QueryWrapper(); QueryWrapper queryWrapperMain = new QueryWrapper();
@ -143,114 +176,235 @@ public class WorkMainServiceImpl implements WorkMainService {
} }
@Override @Override
@Transactional
public List<WorkMainImportErrorVO> importWorkMainList(List<WorkMainCreateReqVO> datas, Integer mode, boolean updatePart) { public List<WorkMainImportErrorVO> importWorkMainList(List<WorkMainCreateReqVO> datas, Integer mode, boolean updatePart) {
if (CollUtil.isEmpty(datas)) { if (CollUtil.isEmpty(datas)) {
throw exception(PURCHASECLAIM_REQUEST_IMPORT_LIST_IS_EMPTY); throw exception(PURCHASECLAIM_REQUEST_IMPORT_LIST_IS_EMPTY);
} }
List<WorkMainImportErrorVO> errorList = new ArrayList<>(); List<WorkMainImportErrorVO> errorList = new ArrayList<>();
datas.forEach(createReqVO -> { datas.forEach(createReqVO -> {
// 校验,判断是否有不符合的原因,并加入errorList,如果主表则所有子表都加入errorList WorkMainDO mainDO = WorkMainConvert.INSTANCE.convert(createReqVO);
String messageMain = ""; String messageMain = this.validateWorkMainImport(mainDO);
//主表的验证
//子表的验证
List<WorkDetailCreateReqVO> subList = createReqVO.getSubList(); List<WorkDetailCreateReqVO> subList = createReqVO.getSubList();
List<WorkDetailDO> subDOList = WorkDetailConvert.INSTANCE.convertList03(subList); List<WorkDetailDO> subDOList = WorkDetailConvert.INSTANCE.convertList03(subList);
for (WorkDetailDO purchaseDetailDO : subDOList) { // 是否有错误数据
String messageDetail = ""; boolean flag = true;
// 校验物品基础信息 for (WorkDetailDO detailDO : subDOList) {
try { String messageDetail = this.validateWorkDetailImport(mainDO, detailDO);
ItembasicDO itembasicDO = itembasicService.selectItembasic(purchaseDetailDO.getItemCode()); if (!messageMain.isEmpty() || !messageDetail.isEmpty()) {
if (itembasicDO.getUom() != purchaseDetailDO.getUom()) { WorkMainImportErrorVO importErrorVO = WorkMainConvert.INSTANCE.convert(createReqVO, detailDO);
messageDetail += "计量单位" + itembasicDO.getUom() + "错误,应该是" + purchaseDetailDO.getUom() + ","; importErrorVO.setImportStatus("失败");
} else {
// purchaseDetailDO.setItemDesc1(itembasicDO.getDesc1());
// purchaseDetailDO.setItemDesc2(itembasicDO.getDesc2());
// purchaseDetailDO.setItemName(itembasicDO.getName());
purchaseDetailDO.setProjectCode(itembasicDO.getProject());
}
if (itembasicDO.getUom() != purchaseDetailDO.getUom()) {
messageDetail += "计量单位" + itembasicDO.getUom() + "错误,应该是" + purchaseDetailDO.getUom() + ",";
}
purchaseDetailDO.setProjectCode(itembasicDO.getCode());
} catch (ServiceException ex) {
messageDetail += ex.getMessage() + ",";
}
// 校验物品标包信息
try {
ItempackagingDO itempackagingDO = itempackagingService.selectItemPackagingExist(purchaseDetailDO.getItemCode());
// purchaseDetailDO.setStdPackUnit(itempackagingDO.getStdPackUnit());
// purchaseDetailDO.setStdPackQty(itempackagingDO.getStdPackQty());
} catch (ServiceException ex) {
messageDetail += ex.getMessage() + ",";
}
// 校验客户物品基础信息
try {
CustomeritemDO customeritemDO = customeritemService.selectCustomeritemExist(createReqVO.getCustomerCode(), purchaseDetailDO.getItemCode());
if (customeritemDO == null) {
messageDetail += "未查找到客户" + createReqVO.getCustomerCode() + "与物品" + purchaseDetailDO.getItemCode() + "的对应关系" + ",";
} else {
//根据customeritemdto赋值
}
} catch (ServiceException ex) {
messageDetail += ex.getMessage() + ",";
}
// 校验销售价格
try {
SalepriceDO salepriceDO = salepriceService.selectItemPackagingExist(createReqVO.getCustomerCode(), purchaseDetailDO.getItemCode());
if (salepriceDO != null) {
}
} catch (ServiceException ex) {
messageDetail += ex.getMessage() + ",";
}
WorkDetailCreateReqVO purchaseDetailCreateReqVO = WorkDetailConvert.INSTANCE.convert1(purchaseDetailDO);
WorkMainImportErrorVO importVO = WorkDetailConvert.INSTANCE.convert(createReqVO, purchaseDetailCreateReqVO);
//进行子表的错误统计
//主表没有错误 写入库里
if (!messageMain.equals("") || !messageDetail.equals("")) {
importVO.setImportStatus("失败");
messageMain = messageMain + messageDetail; messageMain = messageMain + messageDetail;
importVO.setImportRemark(messageMain.substring(0, messageMain.length() - 1)); importErrorVO.setImportRemark(messageMain.substring(0, messageMain.length() - 1));
errorList.add(importVO); errorList.add(importErrorVO);
} else { flag = false;
purchaseDetailDO.setNumber(createReqVO.getNumber());
// purchaseDetailDO.setMasterId(createReqVO.getId());
} }
} }
//写入数据
if (errorList.isEmpty()) { if(flag) {
// 判断如果不存在,在进行插入 //申请单目前只做新增
WorkMainDO existPurchaseclaimRequestMainDO = workMainMapper.selectByNumber(createReqVO.getNumber()); String number = serialNumberApi.generateCode(RuleCodeEnum.WORK_ORDER.getCode());
if (existPurchaseclaimRequestMainDO == null && mode != 3) { mainDO.setNumber(number);
BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("WorkOrder"); mainDO.setAvailable("TRUE"); // 导入默认 可用
if (businesstypeDO != null) { mainDO.setBusinessType("ProductReceipt"); // 业务类型:制品收货
createReqVO.setBusinessType(businesstypeDO.getCode()); workMainMapper.insert(mainDO);
} //增加操作记录
createReqVO.setType(null); trendsApi.createTrends(mainDO.getId(), "workMain", "导入了生产订单", TrendsTypeEnum.CREATE);
createReqVO.setVersion(null); int index = 0;
createReqVO.setCurrentStage(null); for (WorkDetailDO detailDO : subDOList) {
WorkMainDO createObj =WorkMainConvert.INSTANCE.convert(createReqVO); detailDO.setMasterId(mainDO.getId());
workMainMapper.insert(createObj); detailDO.setNumber(number);
workDetailMapper.insertBatch(subDOList); detailDO.setAvailable("TRUE"); // 导入默认 可用
} else if (existPurchaseclaimRequestMainDO != null && mode != 2) { detailDO.setLineNumber("WODetail" + index);
BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("WorkOrder"); detailDO.setFinishedQty(new BigDecimal(0));
if (businesstypeDO != null) { index++;
createReqVO.setBusinessType(businesstypeDO.getCode());
}
createReqVO.setType(null);
createReqVO.setVersion(null);
createReqVO.setCurrentStage(null);
WorkMainDO createObj =WorkMainConvert.INSTANCE.convert(createReqVO);
workMainMapper.updateById(createObj);
workDetailMapper.updateBatch(subDOList);
} }
workDetailMapper.insertBatch(subDOList);
} }
}); });
// List<WorkMainImportErrorVO> errorList = new ArrayList<>();
// datas.forEach(createReqVO -> {
// // 校验,判断是否有不符合的原因,并加入errorList,如果主表则所有子表都加入errorList
// String messageMain = "";
// //主表的验证
// //子表的验证
// List<WorkDetailCreateReqVO> subList = createReqVO.getSubList();
// List<WorkDetailDO> subDOList = WorkDetailConvert.INSTANCE.convertList03(subList);
// for (WorkDetailDO purchaseDetailDO : subDOList) {
// String messageDetail = "";
// // 校验物品基础信息
// try {
// ItembasicDO itembasicDO = itembasicService.selectItembasic(purchaseDetailDO.getItemCode());
// if (itembasicDO.getUom() != purchaseDetailDO.getUom()) {
// messageDetail += "计量单位" + itembasicDO.getUom() + "错误,应该是" + purchaseDetailDO.getUom() + ",";
// } else {
//// purchaseDetailDO.setItemDesc1(itembasicDO.getDesc1());
//// purchaseDetailDO.setItemDesc2(itembasicDO.getDesc2());
//// purchaseDetailDO.setItemName(itembasicDO.getName());
// purchaseDetailDO.setProjectCode(itembasicDO.getProject());
// }
// if (itembasicDO.getUom() != purchaseDetailDO.getUom()) {
// messageDetail += "计量单位" + itembasicDO.getUom() + "错误,应该是" + purchaseDetailDO.getUom() + ",";
// }
// purchaseDetailDO.setProjectCode(itembasicDO.getCode());
// } catch (ServiceException ex) {
// messageDetail += ex.getMessage() + ",";
// }
//
// // 校验物品标包信息
// try {
// ItempackagingDO itempackagingDO = itempackagingService.selectItemPackagingExist(purchaseDetailDO.getItemCode());
//// purchaseDetailDO.setStdPackUnit(itempackagingDO.getStdPackUnit());
//// purchaseDetailDO.setStdPackQty(itempackagingDO.getStdPackQty());
// } catch (ServiceException ex) {
// messageDetail += ex.getMessage() + ",";
// }
// // 校验客户物品基础信息
// try {
// CustomeritemDO customeritemDO = customeritemService.selectCustomeritemExist(createReqVO.getCustomerCode(), purchaseDetailDO.getItemCode());
// if (customeritemDO == null) {
// messageDetail += "未查找到客户" + createReqVO.getCustomerCode() + "与物品" + purchaseDetailDO.getItemCode() + "的对应关系" + ",";
// } else {
// //根据customeritemdto赋值
// }
// } catch (ServiceException ex) {
// messageDetail += ex.getMessage() + ",";
// }
// // 校验销售价格
// try {
// SalepriceDO salepriceDO = salepriceService.selectItemPackagingExist(createReqVO.getCustomerCode(), purchaseDetailDO.getItemCode());
// if (salepriceDO != null) {
// }
// } catch (ServiceException ex) {
// messageDetail += ex.getMessage() + ",";
// }
//
// WorkDetailCreateReqVO purchaseDetailCreateReqVO = WorkDetailConvert.INSTANCE.convert1(purchaseDetailDO);
// WorkMainImportErrorVO importVO = WorkDetailConvert.INSTANCE.convert(createReqVO, purchaseDetailCreateReqVO);
// //进行子表的错误统计
// //主表没有错误 写入库里
// if (!messageMain.equals("") || !messageDetail.equals("")) {
// importVO.setImportStatus("失败");
// messageMain = messageMain + messageDetail;
// importVO.setImportRemark(messageMain.substring(0, messageMain.length() - 1));
// errorList.add(importVO);
// } else {
// purchaseDetailDO.setNumber(createReqVO.getNumber());
//// purchaseDetailDO.setMasterId(createReqVO.getId());
// }
// }
//
// if (errorList.isEmpty()) {
// // 判断如果不存在,在进行插入
// WorkMainDO existPurchaseclaimRequestMainDO = workMainMapper.selectByNumber(createReqVO.getNumber());
// if (existPurchaseclaimRequestMainDO == null && mode != 3) {
// BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("WorkOrder");
// if (businesstypeDO != null) {
// createReqVO.setBusinessType(businesstypeDO.getCode());
// }
// createReqVO.setType(null);
// createReqVO.setVersion(null);
// createReqVO.setCurrentStage(null);
// WorkMainDO createObj =WorkMainConvert.INSTANCE.convert(createReqVO);
// workMainMapper.insert(createObj);
// workDetailMapper.insertBatch(subDOList);
// } else if (existPurchaseclaimRequestMainDO != null && mode != 2) {
// BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("WorkOrder");
// if (businesstypeDO != null) {
// createReqVO.setBusinessType(businesstypeDO.getCode());
// }
// createReqVO.setType(null);
// createReqVO.setVersion(null);
// createReqVO.setCurrentStage(null);
// WorkMainDO createObj =WorkMainConvert.INSTANCE.convert(createReqVO);
// workMainMapper.updateById(createObj);
// workDetailMapper.updateBatch(subDOList);
// }
// }
// });
//错误不为空并非部分更新,手工回滚 //错误不为空并非部分更新,手工回滚
if (!errorList.isEmpty() && !updatePart) { if (!errorList.isEmpty() && !updatePart) {
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
} }
return errorList; return errorList;
} }
/**
* 校验物品信息并赋值
* @param detailDo
* @return
*/
private ItembasicDO validateItem(WorkDetailDO detailDo) {
ItembasicDO itembasicDO = itembasicService.selectItembasic(detailDo.getItemCode());
detailDo.setProjectCode(itembasicDO.getProject());
return itembasicDO;
}
/**
* 校验客户信息
* @param mainDo
* @return
*/
private CustomerDO validateCustomer(WorkMainDO mainDo) {
return customerService.selectCustomerExist(mainDo.getCustomerCode());
}
/**
* 校验客户物品信息
* @param detailDo
* @return
*/
private CustomeritemDO validateCustomeritem(WorkMainDO mainDo, WorkDetailDO detailDo) {
return customeritemService.selectCustomeritemExist(mainDo.getCustomerCode(),detailDo.getItemCode());
}
/**
* 校验导入并赋值一些参数未完全实现
* @param mainDo
* @return
*/
private String validateWorkMainImport(WorkMainDO mainDo) {
StringBuilder message = new StringBuilder();
try {
ValidationUtils.validate(validator, mainDo);
} catch (Exception ex) {
message.append(ex.getMessage()).append(",");
}
try {
this.validateCustomer(mainDo);
} catch (Exception ex) {
message.append(ex.getMessage()).append(",");
}
return message.toString();
}
/**
* 校验导入并赋值一些参数未完全实现
* @param detailDo
* @return
*/
private String validateWorkDetailImport(WorkMainDO mainDo, WorkDetailDO detailDo) {
StringBuilder message = new StringBuilder();
try {
ValidationUtils.validate(validator, detailDo);
} catch (Exception e) {
message.append(e.getMessage()).append(",");
}
try {
this.validateCustomeritem(mainDo, detailDo);
} catch (Exception e) {
message.append(e.getMessage()).append(",");
}
try {
this.validateItem(detailDo);
} catch (Exception e) {
message.append(e.getMessage()).append(",");
}
return message.toString();
}
} }

Loading…
Cancel
Save