Browse Source

Merge remote-tracking branch 'origin/master'

master
陈薪名 2 years ago
parent
commit
6e515324ff
  1. 22
      win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/serialnumber/SerialNumberServiceImpl.java
  2. 11
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/systemcalendar/SystemcalendarController.java
  3. 56
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/systemcalendar/vo/SystemcalendarImportErrorVO.java
  4. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/systemcalendar/SystemcalendarConvert.java
  5. 5
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/systemcalendar/SystemcalendarMapper.java
  6. 15
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inspectJob/InspectJobMainServiceImpl.java
  7. 26
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inspectRequest/InspectRequestMainServiceImpl.java
  8. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inventoryinitRequest/InventoryinitRequestMainServiceImpl.java
  9. 4
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRecord/PurchasereceiptRecordMainService.java
  10. 4
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRecord/PurchasereceiptRecordMainServiceImpl.java
  11. 4
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnRequest/PurchasereturnRequestMainServiceImpl.java
  12. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/systemcalendar/SystemcalendarService.java
  13. 94
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/systemcalendar/SystemcalendarServiceImpl.java

22
win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/serialnumber/SerialNumberServiceImpl.java

@ -113,21 +113,17 @@ public class SerialNumberServiceImpl implements SerialNumberService {
LocalDate currentDate = LocalDate.now(); LocalDate currentDate = LocalDate.now();
pattern = currentDate.format(DateTimeFormatter.ofPattern(encodedRule.getPattern().replace("m", "M"))); pattern = currentDate.format(DateTimeFormatter.ofPattern(encodedRule.getPattern().replace("m", "M")));
} }
long millMinutes = 0; LocalDateTime midnight = null;
if(encodedRule.getPattern() != null && !encodedRule.getPattern().isEmpty()) { if(encodedRule.getPattern().toLowerCase().indexOf("d") > 0) { //包含日
if (encodedRule.getPattern().toLowerCase().indexOf("d") > 0) { //包含日 midnight = LocalDateTime.now().plusDays(1).withHour(0).withMinute(0).withSecond(0).withNano(1);
LocalDateTime midnight = LocalDateTime.now().plusDays(1).withHour(0).withMinute(0).withSecond(0).withNano(1); } else if(encodedRule.getPattern().toLowerCase().indexOf("m") > 0) { //包含月
millMinutes = ChronoUnit.MINUTES.between(LocalDateTime.now(), midnight); midnight = LocalDateTime.now().plusMonths(1).plusDays(1).withHour(0).withMinute(0).withSecond(0).withNano(1);
} else if (encodedRule.getPattern().toLowerCase().indexOf("m") > 0) { //包含月 } else if(encodedRule.getPattern().toLowerCase().indexOf("y") > 0) {
LocalDateTime midnight = LocalDateTime.now().plusMonths(1).plusDays(1).withHour(0).withMinute(0).withSecond(0).withNano(1); midnight = LocalDateTime.now().plusYears(1).plusMonths(1).plusDays(1).withHour(0).withMinute(0).withSecond(0).withNano(1);
millMinutes = ChronoUnit.MONTHS.between(LocalDateTime.now(), midnight);
} else if (encodedRule.getPattern().toLowerCase().indexOf("y") > 0) {
LocalDateTime midnight = LocalDateTime.now().plusYears(1).plusMonths(1).plusDays(1).withHour(0).withMinute(0).withSecond(0).withNano(1);
millMinutes = ChronoUnit.YEARS.between(LocalDateTime.now(), midnight);
}
} }
long millSeconds = ChronoUnit.SECONDS.between(LocalDateTime.now(), midnight);
StringBuilder code = new StringBuilder(); StringBuilder code = new StringBuilder();
Long increment = redisCache.incr(encodedRule.getRuleCode() + pattern, millMinutes); Long increment = redisCache.incr(encodedRule.getRuleCode() + pattern, millSeconds);
code.append(encodedRule.getPrefix()); code.append(encodedRule.getPrefix());
code.append(pattern); code.append(pattern);
if(encodedRule.getSeparator() != null && !encodedRule.getSeparator().isEmpty()) { if(encodedRule.getSeparator() != null && !encodedRule.getSeparator().isEmpty()) {

11
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/systemcalendar/SystemcalendarController.java

@ -8,6 +8,7 @@ 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.bom.vo.BomImportErrorVO;
import com.win.module.wms.controller.itembasic.vo.ItembasicExcelVO; import com.win.module.wms.controller.itembasic.vo.ItembasicExcelVO;
import com.win.module.wms.controller.process.vo.ProcessRespVO; import com.win.module.wms.controller.process.vo.ProcessRespVO;
import com.win.module.wms.controller.systemcalendar.vo.*; import com.win.module.wms.controller.systemcalendar.vo.*;
@ -144,7 +145,7 @@ public class SystemcalendarController {
} }
@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<SystemcalendarImportExcelVo> list = Arrays.asList( List<SystemcalendarImportExcelVo> list = Arrays.asList(
@ -156,12 +157,12 @@ public class SystemcalendarController {
// 输出 // 输出
// 输出 // 输出
ExcelUtils.write(response, "班组导入模板.xls", "班组列表", SystemcalendarImportExcelVo.class, list,mapDropDown); ExcelUtils.write(response, "系统日历导入模板.xls", "系统日历列表", SystemcalendarImportExcelVo.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"),
@ -173,11 +174,11 @@ public class SystemcalendarController {
@RequestParam(value = "mode") Integer mode, @RequestParam(value = "mode") Integer mode,
@RequestParam(value = "updatePart", required = false, defaultValue = "false") Boolean updatePart) throws Exception { @RequestParam(value = "updatePart", required = false, defaultValue = "false") Boolean updatePart) throws Exception {
List<SystemcalendarImportExcelVo> list = ExcelUtils.read(file, SystemcalendarImportExcelVo.class); List<SystemcalendarImportExcelVo> list = ExcelUtils.read(file, SystemcalendarImportExcelVo.class);
List<SystemcalendarImportExcelVo> errorList = systemcalendarService.importSystemcalendarList(list, mode, updatePart); List<SystemcalendarImportErrorVO> errorList = systemcalendarService.importSystemcalendarList(list, mode, updatePart);
Map<String, Object> returnMap = new HashMap<>(); Map<String, Object> returnMap = new HashMap<>();
returnMap.put("errorCount", errorList.size()); returnMap.put("errorCount", errorList.size());
if(!errorList.isEmpty()) { if(!errorList.isEmpty()) {
String url = ExcelUtils.writeLocalFile("班组导入错误数据" + LocalDateTime.now().toEpochSecond(ZoneOffset.of("+8")) + ".xls", "错误列表", errorList); String url = ExcelUtils.writeLocalFile("系统日历导入错误数据" + LocalDateTime.now().toEpochSecond(ZoneOffset.of("+8")) + ".xls", "错误列表", errorList);
returnMap.put("errorFile", url); returnMap.put("errorFile", url);
} }
return success(returnMap); return success(returnMap);

56
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/systemcalendar/vo/SystemcalendarImportErrorVO.java

@ -0,0 +1,56 @@
package com.win.module.wms.controller.systemcalendar.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.win.framework.excel.core.annotations.DictFormat;
import com.win.framework.excel.core.convert.DictConvert;
import com.win.module.wms.enums.DictTypeConstants;
import lombok.Builder;
import lombok.Data;
import lombok.ToString;
import java.math.BigDecimal;
import java.time.LocalDateTime;
@Data
@Builder
@ToString(callSuper = true)
public class SystemcalendarImportErrorVO {
@ExcelProperty("模块")
private String module;
@ExcelProperty("开始时间")
@ColumnWidth(value = 16)
private LocalDateTime startTime;
@ExcelProperty("结束时间")
@ColumnWidth(value = 16)
private LocalDateTime stopTime;
@ExcelProperty(value = "是否可用", converter = DictConvert.class)
@DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
private String available;
@ExcelProperty("生效时间")
@ColumnWidth(value = 16)
private LocalDateTime activeTime;
@ExcelProperty("失效时间")
@ColumnWidth(value = 16)
private LocalDateTime expireTime;
@ExcelProperty("备注")
private String remark;
@ExcelProperty("创建时间")
@ColumnWidth(value = 16)
private LocalDateTime createTime;
@ExcelProperty("创建者ID")
private String creator;
@ExcelProperty(value = "导入状态", index = 0)
private String importStatus;
@ExcelProperty(value = "导入说明", index = 1)
private String importRemark;
}

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/systemcalendar/SystemcalendarConvert.java

@ -4,11 +4,9 @@ import java.util.*;
import com.win.framework.common.pojo.PageResult; import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.systemcalendar.vo.SystemcalendarCreateReqVO; import com.win.module.wms.controller.bom.vo.BomImportErrorVO;
import com.win.module.wms.controller.systemcalendar.vo.SystemcalendarExcelVO; import com.win.module.wms.controller.bom.vo.BomImportExcelVo;
import com.win.module.wms.controller.systemcalendar.vo.SystemcalendarRespVO; import com.win.module.wms.controller.systemcalendar.vo.*;
import com.win.module.wms.controller.systemcalendar.vo.SystemcalendarUpdateReqVO;
import com.win.module.wms.controller.systemcalendar.vo.SystemcalendarImportExcelVo;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers; import org.mapstruct.factory.Mappers;
import com.win.module.wms.dal.dataobject.systemcalendar.SystemcalendarDO; import com.win.module.wms.dal.dataobject.systemcalendar.SystemcalendarDO;
@ -37,4 +35,6 @@ public interface SystemcalendarConvert {
SystemcalendarDO convert(SystemcalendarImportExcelVo bean); SystemcalendarDO convert(SystemcalendarImportExcelVo bean);
SystemcalendarImportErrorVO convert2(SystemcalendarDO bean);
} }

5
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/systemcalendar/SystemcalendarMapper.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.systemcalendar.vo.SystemcalendarExportReqVO; import com.win.module.wms.controller.systemcalendar.vo.SystemcalendarExportReqVO;
import com.win.module.wms.controller.systemcalendar.vo.SystemcalendarPageReqVO; import com.win.module.wms.controller.systemcalendar.vo.SystemcalendarPageReqVO;
import com.win.module.wms.dal.dataobject.bom.BomDO;
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.systemcalendar.SystemcalendarDO; import com.win.module.wms.dal.dataobject.systemcalendar.SystemcalendarDO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
@ -53,5 +54,9 @@ public interface SystemcalendarMapper extends BaseMapperX<SystemcalendarDO> {
default List<SystemcalendarDO> selectSeniorList(CustomConditions conditions) { default List<SystemcalendarDO> selectSeniorList(CustomConditions conditions) {
return selectList(QueryWrapperUtils.structure(conditions)); return selectList(QueryWrapperUtils.structure(conditions));
} }
default SystemcalendarDO selectByModule(String module){
return selectOne(SystemcalendarDO::getModule, module);
}
} }

15
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inspectJob/InspectJobMainServiceImpl.java

@ -232,7 +232,9 @@ public class InspectJobMainServiceImpl implements InspectJobMainService {
BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("InspectJob"); BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("InspectJob");
transactionCreateReqVOIn.setBusinessType(businesstypeDO.getCode()); transactionCreateReqVOIn.setBusinessType(businesstypeDO.getCode());
TransactiontypeDO transactiontypeDOIn = jobUtils.selectDocumentFromTransactionType(businesstypeDO.getInTransactionType()); TransactiontypeDO transactiontypeDOIn = jobUtils.selectDocumentFromTransactionType(businesstypeDO.getInTransactionType());
transactionCreateReqVOIn.setInventoryAction(transactiontypeDOIn.getInventoryAction());
transactionCreateReqVOIn.setTransactionType(transactiontypeDOIn.getCode()); transactionCreateReqVOIn.setTransactionType(transactiontypeDOIn.getCode());
transactionCreateReqVOIn.setLocationCode(inspectJobDetailUpdateReqVO.getFromLocationCode());
transactionCreateReqVOIn.setRecordNumber(number); transactionCreateReqVOIn.setRecordNumber(number);
transactionCreateReqVOIn.setBatch(inspectRecordMainDO.getBatch()); transactionCreateReqVOIn.setBatch(inspectRecordMainDO.getBatch());
transactionCreateReqVOIn.setWorker(String.valueOf(userApi.getUser(getLoginUserId()).getId())); transactionCreateReqVOIn.setWorker(String.valueOf(userApi.getUser(getLoginUserId()).getId()));
@ -246,19 +248,21 @@ public class InspectJobMainServiceImpl implements InspectJobMainService {
if(inspectJobDetailUpdateReqVO.getGoodQty() != null && inspectJobDetailUpdateReqVO.getGoodQty().compareTo(BigDecimal.ZERO) > 0) { if(inspectJobDetailUpdateReqVO.getGoodQty() != null && inspectJobDetailUpdateReqVO.getGoodQty().compareTo(BigDecimal.ZERO) > 0) {
TransactionCreateReqVO transactionCreateReqVO = new TransactionCreateReqVO(); TransactionCreateReqVO transactionCreateReqVO = new TransactionCreateReqVO();
BeanUtils.copyProperties(transactionCreateReqVOIn, transactionCreateReqVO); BeanUtils.copyProperties(transactionCreateReqVOIn, transactionCreateReqVO);
transactionCreateReqVO.setInventoryAction("OK"); transactionCreateReqVO.setInventoryStatus("OK");
transactionCreateReqVO.setQty(inspectJobDetailUpdateReqVO.getGoodQty()); transactionCreateReqVO.setQty(inspectJobDetailUpdateReqVO.getGoodQty());
transactionCreateReqVOList.add(transactionCreateReqVO); transactionCreateReqVOList.add(transactionCreateReqVO);
} else if (inspectJobDetailUpdateReqVO.getCrackQty() != null && inspectJobDetailUpdateReqVO.getCrackQty().compareTo(BigDecimal.ZERO) > 0) { }
if (inspectJobDetailUpdateReqVO.getCrackQty() != null && inspectJobDetailUpdateReqVO.getCrackQty().compareTo(BigDecimal.ZERO) > 0) {
TransactionCreateReqVO transactionCreateReqVO = new TransactionCreateReqVO(); TransactionCreateReqVO transactionCreateReqVO = new TransactionCreateReqVO();
BeanUtils.copyProperties(transactionCreateReqVOIn, transactionCreateReqVO); BeanUtils.copyProperties(transactionCreateReqVOIn, transactionCreateReqVO);
transactionCreateReqVO.setInventoryAction("SCRAP"); transactionCreateReqVO.setInventoryStatus("SCRAP");
transactionCreateReqVO.setQty(inspectJobDetailUpdateReqVO.getCrackQty()); transactionCreateReqVO.setQty(inspectJobDetailUpdateReqVO.getCrackQty());
transactionCreateReqVOList.add(transactionCreateReqVO); transactionCreateReqVOList.add(transactionCreateReqVO);
} else if (inspectJobDetailUpdateReqVO.getFailedQty() != null && inspectJobDetailUpdateReqVO.getFailedQty().compareTo(BigDecimal.ZERO) > 0) { }
if (inspectJobDetailUpdateReqVO.getFailedQty() != null && inspectJobDetailUpdateReqVO.getFailedQty().compareTo(BigDecimal.ZERO) > 0) {
TransactionCreateReqVO transactionCreateReqVO = new TransactionCreateReqVO(); TransactionCreateReqVO transactionCreateReqVO = new TransactionCreateReqVO();
BeanUtils.copyProperties(transactionCreateReqVOIn, transactionCreateReqVO); BeanUtils.copyProperties(transactionCreateReqVOIn, transactionCreateReqVO);
transactionCreateReqVO.setInventoryAction("NOK"); transactionCreateReqVO.setInventoryStatus("NOK");
transactionCreateReqVO.setQty(inspectJobDetailUpdateReqVO.getFailedQty()); transactionCreateReqVO.setQty(inspectJobDetailUpdateReqVO.getFailedQty());
transactionCreateReqVOList.add(transactionCreateReqVO); transactionCreateReqVOList.add(transactionCreateReqVO);
} }
@ -270,6 +274,7 @@ public class InspectJobMainServiceImpl implements InspectJobMainService {
TransactiontypeDO transactiontypeDOOut = jobUtils.selectDocumentFromTransactionType(businesstypeDO.getOutTransactionType()); TransactiontypeDO transactiontypeDOOut = jobUtils.selectDocumentFromTransactionType(businesstypeDO.getOutTransactionType());
transactionCreateReqVOOut.setInventoryAction(transactiontypeDOOut.getInventoryAction()); transactionCreateReqVOOut.setInventoryAction(transactiontypeDOOut.getInventoryAction());
transactionCreateReqVOOut.setTransactionType(transactiontypeDOOut.getCode()); transactionCreateReqVOOut.setTransactionType(transactiontypeDOOut.getCode());
transactionCreateReqVOOut.setLocationCode(inspectJobDetailUpdateReqVO.getFromLocationCode());
transactionCreateReqVOOut.setBatch(inspectRecordMainDO.getBatch()); transactionCreateReqVOOut.setBatch(inspectRecordMainDO.getBatch());
transactionCreateReqVOOut.setWorker(String.valueOf(userApi.getUser(getLoginUserId()).getId())); transactionCreateReqVOOut.setWorker(String.valueOf(userApi.getUser(getLoginUserId()).getId()));
transactionCreateReqVOOut.setRecordNumber(number); transactionCreateReqVOOut.setRecordNumber(number);

26
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inspectRequest/InspectRequestMainServiceImpl.java

@ -120,9 +120,12 @@ public class InspectRequestMainServiceImpl implements InspectRequestMainService
//子表校验 //子表校验
List<InspectRequestDetailCreateReqVO> subList = createReqVO.getSubList(); List<InspectRequestDetailCreateReqVO> subList = createReqVO.getSubList();
List<InspectRequestDetailDO> subDOList = InspectRequestDetailConvert.INSTANCE.convertList03(subList); List<InspectRequestDetailDO> subDOList = InspectRequestDetailConvert.INSTANCE.convertList03(subList);
BigDecimal sumQty = BigDecimal.ZERO;
for (InspectRequestDetailDO detailDO : subDOList) { for (InspectRequestDetailDO detailDO : subDOList) {
this.validatorDetail(detailDO, mainDO, businesstypeDO); this.validatorDetail(detailDO, mainDO, businesstypeDO);
sumQty = sumQty.add(detailDO.getQty());
} }
mainDO.setReceiveQty(sumQty);
String number = serialNumberApi.generateCode(RuleCodeEnum.INSPECT_REQUEST.getCode()); String number = serialNumberApi.generateCode(RuleCodeEnum.INSPECT_REQUEST.getCode());
mainDO.setNumber(number); mainDO.setNumber(number);
RequestStatusState requestStatusState = new RequestStatusState(); RequestStatusState requestStatusState = new RequestStatusState();
@ -202,8 +205,10 @@ public class InspectRequestMainServiceImpl implements InspectRequestMainService
List<InspectRequestDetailCreateReqVO> subList = createReqVO.getSubList(); List<InspectRequestDetailCreateReqVO> subList = createReqVO.getSubList();
List<InspectRequestDetailDO> subDOList = InspectRequestDetailConvert.INSTANCE.convertList03(subList); List<InspectRequestDetailDO> subDOList = InspectRequestDetailConvert.INSTANCE.convertList03(subList);
BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("InspectRequest"); BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("InspectRequest");
BigDecimal sumQty = BigDecimal.ZERO;
for (InspectRequestDetailDO detailDO : subDOList) { for (InspectRequestDetailDO detailDO : subDOList) {
String messageDetail = this.validatorInspectRequestDetailImport(detailDO, mainDO, businesstypeDO); String messageDetail = this.validatorInspectRequestDetailImport(detailDO, mainDO, businesstypeDO);
sumQty = sumQty.add(detailDO.getQty());
InspectRequestDetailCreateReqVO inspectRequestDetailCreateReqVO = InspectRequestDetailConvert.INSTANCE.convert1(detailDO); InspectRequestDetailCreateReqVO inspectRequestDetailCreateReqVO = InspectRequestDetailConvert.INSTANCE.convert1(detailDO);
InspectRequestImportErrorVO importVO = InspectRequestDetailConvert.INSTANCE.convert(createReqVO, inspectRequestDetailCreateReqVO); InspectRequestImportErrorVO importVO = InspectRequestDetailConvert.INSTANCE.convert(createReqVO, inspectRequestDetailCreateReqVO);
if (!messageMain.isEmpty() || !messageDetail.isEmpty()) { if (!messageMain.isEmpty() || !messageDetail.isEmpty()) {
@ -213,6 +218,7 @@ public class InspectRequestMainServiceImpl implements InspectRequestMainService
errorList.add(importVO); errorList.add(importVO);
} }
} }
mainDO.setReceiveQty(sumQty);
mainDO.setBusinessType(businesstypeDO.getCode()); mainDO.setBusinessType(businesstypeDO.getCode());
mainDO.setFromLocationTypes(businesstypeDO.getOutLocationTypes()); mainDO.setFromLocationTypes(businesstypeDO.getOutLocationTypes());
mainDO.setFromAreaCodes(businesstypeDO.getOutAreaCodes()); mainDO.setFromAreaCodes(businesstypeDO.getOutAreaCodes());
@ -480,10 +486,6 @@ public class InspectRequestMainServiceImpl implements InspectRequestMainService
return mapRule; return mapRule;
} }
private PurchasereceiptRecordDetailDO validatorPurchasereceiptExist(String purchaseReceiptRecordNumber, String poNumber, String poLine, String itemCode) {
return purchasereceiptRecordMainService.selectPurchasereceiptExist(poNumber, null, purchaseReceiptRecordNumber, poLine, itemCode);
}
private void validatorRule(InspectRequestMainDO mainDO) { private void validatorRule(InspectRequestMainDO mainDO) {
HashMap<String, String> rule = selectRule(null, mainDO.getItemCode()); HashMap<String, String> rule = selectRule(null, mainDO.getItemCode());
mainDO.setSampleQty(selectInspectType(mainDO, mainDO.getReceiveQty(), rule)); mainDO.setSampleQty(selectInspectType(mainDO, mainDO.getReceiveQty(), rule));
@ -501,8 +503,6 @@ public class InspectRequestMainServiceImpl implements InspectRequestMainService
//校验主表公共方法(适用于新增/修改) //校验主表公共方法(适用于新增/修改)
private InspectRequestMainDO validatorMain(InspectRequestMainBaseVO baseVO, BusinesstypeDO businesstypeDO, RequestsettingDO requestsettingDO) { private InspectRequestMainDO validatorMain(InspectRequestMainBaseVO baseVO, BusinesstypeDO businesstypeDO, RequestsettingDO requestsettingDO) {
InspectRequestMainDO mainDo = InspectRequestMainConvert.INSTANCE.convert(baseVO); InspectRequestMainDO mainDo = InspectRequestMainConvert.INSTANCE.convert(baseVO);
PurchasereceiptRecordDetailDO purchasereceiptRecordDetailDO = this.validatorPurchasereceiptExist(mainDo.getPurchaseReceiptRecordNumber(), mainDo.getPoNumber(), mainDo.getPoLine(), mainDo.getItemCode());
mainDo.setReceiveQty(purchasereceiptRecordDetailDO.getQty());
this.validatorRule(mainDo); this.validatorRule(mainDo);
mainDo.setBusinessType(businesstypeDO.getCode()); mainDo.setBusinessType(businesstypeDO.getCode());
mainDo.setFromLocationTypes(businesstypeDO.getOutLocationTypes()); mainDo.setFromLocationTypes(businesstypeDO.getOutLocationTypes());
@ -516,6 +516,8 @@ public class InspectRequestMainServiceImpl implements InspectRequestMainService
//校验子表公共方法(适用于新增/修改) //校验子表公共方法(适用于新增/修改)
private void validatorDetail(InspectRequestDetailDO detailDo, InspectRequestMainDO mainDo, BusinesstypeDO businesstypeDO) { private void validatorDetail(InspectRequestDetailDO detailDo, InspectRequestMainDO mainDo, BusinesstypeDO businesstypeDO) {
PurchasereceiptRecordDetailDO purchasereceiptRecordDetailDO = purchasereceiptRecordMainService.selectPurchasereceiptExist(mainDo.getPoNumber(), mainDo.getSupplierCode(), mainDo.getPurchaseReceiptRecordNumber(), mainDo.getPoLine(), mainDo.getItemCode(), detailDo.getPackingNumber(), mainDo.getBatch());
detailDo.setQty(purchasereceiptRecordDetailDO.getQty());
ItembasicDO itembasicDO = validatorItembasic(detailDo.getItemCode()); ItembasicDO itembasicDO = validatorItembasic(detailDo.getItemCode());
detailDo.setNumber(mainDo.getNumber()); detailDo.setNumber(mainDo.getNumber());
detailDo.setItemDesc1(itembasicDO.getDesc1()); detailDo.setItemDesc1(itembasicDO.getDesc1());
@ -538,12 +540,6 @@ public class InspectRequestMainServiceImpl implements InspectRequestMainService
*/ */
private String validatorInspectRequestMainImport(InspectRequestMainDO mainDo) { private String validatorInspectRequestMainImport(InspectRequestMainDO mainDo) {
StringBuilder message = new StringBuilder(); StringBuilder message = new StringBuilder();
try {
PurchasereceiptRecordDetailDO purchasereceiptRecordDetailDO = validatorPurchasereceiptExist(mainDo.getPurchaseReceiptRecordNumber(), mainDo.getPoNumber(), mainDo.getPoLine(), mainDo.getItemCode());
mainDo.setReceiveQty(purchasereceiptRecordDetailDO.getQty());
} catch (Exception ex) {
message.append(ex.getMessage()).append(",");
}
try { try {
validatorRule(mainDo); validatorRule(mainDo);
} catch (Exception ex) { } catch (Exception ex) {
@ -565,6 +561,12 @@ public class InspectRequestMainServiceImpl implements InspectRequestMainService
*/ */
private String validatorInspectRequestDetailImport(InspectRequestDetailDO detailDo, InspectRequestMainDO mainDo, BusinesstypeDO businesstypeDO) { private String validatorInspectRequestDetailImport(InspectRequestDetailDO detailDo, InspectRequestMainDO mainDo, BusinesstypeDO businesstypeDO) {
StringBuilder message = new StringBuilder(); StringBuilder message = new StringBuilder();
try {
PurchasereceiptRecordDetailDO purchasereceiptRecordDetailDO = purchasereceiptRecordMainService.selectPurchasereceiptExist(mainDo.getPoNumber(), mainDo.getSupplierCode(), mainDo.getPurchaseReceiptRecordNumber(), mainDo.getPoLine(), mainDo.getItemCode(), detailDo.getPackingNumber(), mainDo.getBatch());
detailDo.setQty(purchasereceiptRecordDetailDO.getQty());
} catch (Exception ex) {
message.append(ex.getMessage()).append(",");
}
try { try {
ItembasicDO itembasicDO = validatorItembasic(detailDo.getItemCode()); ItembasicDO itembasicDO = validatorItembasic(detailDo.getItemCode());
detailDo.setItemDesc1(itembasicDO.getDesc1()); detailDo.setItemDesc1(itembasicDO.getDesc1());

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inventoryinitRequest/InventoryinitRequestMainServiceImpl.java

@ -380,7 +380,7 @@ public class InventoryinitRequestMainServiceImpl implements InventoryinitRequest
} }
//写入数据 //写入数据
if (flag) { if (flag) {
String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_RECEIPT_REQUEST.getCode()); String number = serialNumberApi.generateCode(RuleCodeEnum.INVENTORY_INITIAL_REQUEST.getCode());
mainDO.setNumber(number); mainDO.setNumber(number);
RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("TransferDeliverRequest"); RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("TransferDeliverRequest");
RequestStatusState requestStatusState = new RequestStatusState(); RequestStatusState requestStatusState = new RequestStatusState();

4
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRecord/PurchasereceiptRecordMainService.java

@ -64,9 +64,11 @@ public interface PurchasereceiptRecordMainService {
* @param pNumber 单据号 * @param pNumber 单据号
* @param ppoLine 订单行 * @param ppoLine 订单行
* @param pitemCode 零件号 * @param pitemCode 零件号
* @param packingNumber 箱码
* @param batch 批次
* @return * @return
*/ */
PurchasereceiptRecordDetailDO selectPurchasereceiptExist(String ppoNumber,String psupplierCode, String pNumber,String ppoLine, String pitemCode); PurchasereceiptRecordDetailDO selectPurchasereceiptExist(String ppoNumber,String psupplierCode, String pNumber,String ppoLine, String pitemCode, String packingNumber, String batch);
// /** // /**
// * 生成检验申请 // * 生成检验申请

4
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRecord/PurchasereceiptRecordMainServiceImpl.java

@ -71,7 +71,7 @@ public class PurchasereceiptRecordMainServiceImpl implements PurchasereceiptReco
} }
@Override @Override
public PurchasereceiptRecordDetailDO selectPurchasereceiptExist(String ppoNumber, String psupplierCode, String pNumber, String ppoLine, String pitemCode) { public PurchasereceiptRecordDetailDO selectPurchasereceiptExist(String ppoNumber, String psupplierCode, String pNumber, String ppoLine, String pitemCode, String packingNumber, String batch) {
QueryWrapper<PurchasereceiptRecordMainDO> queryWrapperMain = new QueryWrapper<>(); QueryWrapper<PurchasereceiptRecordMainDO> queryWrapperMain = new QueryWrapper<>();
queryWrapperMain.eq("number", pNumber); queryWrapperMain.eq("number", pNumber);
if (psupplierCode != null && !psupplierCode.isEmpty()) { if (psupplierCode != null && !psupplierCode.isEmpty()) {
@ -85,6 +85,8 @@ public class PurchasereceiptRecordMainServiceImpl implements PurchasereceiptReco
queryWrapperDetail.eq("po_number", ppoNumber); queryWrapperDetail.eq("po_number", ppoNumber);
queryWrapperDetail.eq("po_line", ppoLine); queryWrapperDetail.eq("po_line", ppoLine);
queryWrapperDetail.eq("item_code", pitemCode); queryWrapperDetail.eq("item_code", pitemCode);
queryWrapperDetail.eq("to_packing_number", packingNumber);
queryWrapperDetail.eq("to_batch", batch);
PurchasereceiptRecordDetailDO purchasereceiptRecordDetailDO = purchasereceiptRecordDetailMapper.selectOne(queryWrapperDetail); PurchasereceiptRecordDetailDO purchasereceiptRecordDetailDO = purchasereceiptRecordDetailMapper.selectOne(queryWrapperDetail);
if (purchasereceiptRecordDetailDO != null) { if (purchasereceiptRecordDetailDO != null) {
return purchasereceiptRecordDetailDO; return purchasereceiptRecordDetailDO;

4
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnRequest/PurchasereturnRequestMainServiceImpl.java

@ -459,7 +459,7 @@ public class PurchasereturnRequestMainServiceImpl implements PurchasereturnReque
detailDo.setProjectCode(itembasicDO.getProject()); detailDo.setProjectCode(itembasicDO.getProject());
this.ifUomSuccess(itembasicDO.getUom(), detailDo.getUom()); this.ifUomSuccess(itembasicDO.getUom(), detailDo.getUom());
validatorLocation(detailDo.getFromLocationCode()); validatorLocation(detailDo.getFromLocationCode());
PurchasereceiptRecordDetailDO purchasereceiptRecordDetailDO = purchasereceiptRecordMainService.selectPurchasereceiptExist(detailDo.getPoNumber(), mainDo.getSupplierCode(), mainDo.getPurchaseReceiptRecordNumber(), detailDo.getPoLine(), detailDo.getItemCode()); PurchasereceiptRecordDetailDO purchasereceiptRecordDetailDO = purchasereceiptRecordMainService.selectPurchasereceiptExist(detailDo.getPoNumber(), mainDo.getSupplierCode(), mainDo.getPurchaseReceiptRecordNumber(), detailDo.getPoLine(), detailDo.getItemCode(), detailDo.getPackingNumber(), detailDo.getBatch());
PurchasereceiptRecordMainDO purchasereceiptRecordMainDO = purchasereceiptRecordMainMapper.selectById(purchasereceiptRecordDetailDO.getMasterId()); PurchasereceiptRecordMainDO purchasereceiptRecordMainDO = purchasereceiptRecordMainMapper.selectById(purchasereceiptRecordDetailDO.getMasterId());
mainDo.setPpNumber(purchasereceiptRecordMainDO.getPpNumber()); mainDo.setPpNumber(purchasereceiptRecordMainDO.getPpNumber());
mainDo.setAsnNumber(purchasereceiptRecordMainDO.getAsnNumber()); mainDo.setAsnNumber(purchasereceiptRecordMainDO.getAsnNumber());
@ -541,7 +541,7 @@ public class PurchasereturnRequestMainServiceImpl implements PurchasereturnReque
message.append(ex.getMessage()).append(","); message.append(ex.getMessage()).append(",");
} }
try { try {
PurchasereceiptRecordDetailDO purchasereceiptRecordDetailDO = purchasereceiptRecordMainService.selectPurchasereceiptExist(detailDo.getPoNumber(), mainDo.getSupplierCode(), mainDo.getPurchaseReceiptRecordNumber(), detailDo.getPoLine(), detailDo.getItemCode()); PurchasereceiptRecordDetailDO purchasereceiptRecordDetailDO = purchasereceiptRecordMainService.selectPurchasereceiptExist(detailDo.getPoNumber(), mainDo.getSupplierCode(), mainDo.getPurchaseReceiptRecordNumber(), detailDo.getPoLine(), detailDo.getItemCode(), detailDo.getPackingNumber(), detailDo.getBatch());
PurchasereceiptRecordMainDO purchasereceiptRecordMainDO = purchasereceiptRecordMainMapper.selectById(purchasereceiptRecordDetailDO.getMasterId()); PurchasereceiptRecordMainDO purchasereceiptRecordMainDO = purchasereceiptRecordMainMapper.selectById(purchasereceiptRecordDetailDO.getMasterId());
try { try {
ifdetailQtyBigThanQty(purchasereceiptRecordDetailDO.getQty(), detailDo.getQty()); ifdetailQtyBigThanQty(purchasereceiptRecordDetailDO.getQty(), detailDo.getQty());

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/systemcalendar/SystemcalendarService.java

@ -78,6 +78,6 @@ public interface SystemcalendarService {
List<SystemcalendarImportExcelVo> importSystemcalendarList(List<SystemcalendarImportExcelVo> importTeam, Integer mode, boolean updatePart); List<SystemcalendarImportErrorVO> importSystemcalendarList(List<SystemcalendarImportExcelVo> importTeam, Integer mode, boolean updatePart);
} }

94
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/systemcalendar/SystemcalendarServiceImpl.java

@ -7,8 +7,11 @@ 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.datapermission.core.util.DataPermissionUtils; import com.win.framework.datapermission.core.util.DataPermissionUtils;
import com.win.module.wms.controller.bom.vo.BomImportErrorVO;
import com.win.module.wms.controller.systemcalendar.vo.*; import com.win.module.wms.controller.systemcalendar.vo.*;
import com.win.module.wms.convert.bom.BomConvert;
import com.win.module.wms.convert.systemcalendar.SystemcalendarConvert; import com.win.module.wms.convert.systemcalendar.SystemcalendarConvert;
import com.win.module.wms.dal.dataobject.bom.BomDO;
import com.win.module.wms.dal.dataobject.systemcalendar.SystemcalendarDO; import com.win.module.wms.dal.dataobject.systemcalendar.SystemcalendarDO;
import com.win.module.wms.dal.mysql.systemcalendar.SystemcalendarMapper; import com.win.module.wms.dal.mysql.systemcalendar.SystemcalendarMapper;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -83,53 +86,57 @@ public class SystemcalendarServiceImpl implements SystemcalendarService {
public List<SystemcalendarDO> getSystemcalendarList(SystemcalendarExportReqVO exportReqVO) { public List<SystemcalendarDO> getSystemcalendarList(SystemcalendarExportReqVO exportReqVO) {
return systemcalendarMapper.selectList(exportReqVO); return systemcalendarMapper.selectList(exportReqVO);
} }
public List<SystemcalendarImportExcelVo> importSystemcalendarList(List<SystemcalendarImportExcelVo> systemcalendars, Integer mode, boolean updatePart) {
private String validateSystemcalendarImport( SystemcalendarDO systemcalendar ){
StringBuilder message = new StringBuilder();
try {
validateSystemcalendarExists(null);
} catch (ServiceException ex) {
message.append(ex.getMessage()).append(",");
}
try {
validateMoubleExists(systemcalendar.getModule());
} catch (ServiceException ex) {
message.append(ex.getMessage()).append(",");
}
try {
validateAvailableExists(systemcalendar.getAvailable());
} catch (ServiceException ex) {
message.append(ex.getMessage()).append(",");
}
return message.toString();
}
public List<SystemcalendarImportErrorVO> importSystemcalendarList(List<SystemcalendarImportExcelVo> systemcalendars, Integer mode, boolean updatePart) {
if (CollUtil.isEmpty(systemcalendars)) { if (CollUtil.isEmpty(systemcalendars)) {
throw exception(SYSTEMCALENDAR_IMPORT_LIST_IS_EMPTY); throw exception(SYSTEMCALENDAR_IMPORT_LIST_IS_EMPTY);
} }
List<SystemcalendarImportExcelVo> errorList = new ArrayList<>(); List<SystemcalendarImportErrorVO> errorList = new ArrayList<>();
systemcalendars.forEach(systemcalendar -> { systemcalendars.forEach(systemcalendar -> {
SystemcalendarDO SystemcalendarDO = SystemcalendarConvert.INSTANCE.convert(systemcalendar);
// 校验,判断是否有不符合的原因 // 校验,判断是否有不符合的原因
String massage = ""; String message = this.validateSystemcalendarImport(SystemcalendarDO);
if (mode != null) { boolean flag = true;
try { if(!message.isEmpty()){
validateSystemcalendarExists(null); SystemcalendarImportErrorVO importErrorVO = SystemcalendarConvert.INSTANCE.convert2(SystemcalendarDO);
} catch (ServiceException ex) { importErrorVO.setImportStatus("失败");
massage += ex.getMessage() + ","; importErrorVO.setImportRemark(message.substring(0, message.length() - 1));
} errorList.add(importErrorVO);
flag = false;
try { }
validateMoubleExists(systemcalendar.getModule()); if(flag){
} catch (ServiceException ex) { SystemcalendarDO existSystemcalendar = systemcalendarMapper.selectByModule(SystemcalendarDO.getModule());
massage += ex.getMessage() + ","; if (existSystemcalendar == null && mode != 3) {
} systemcalendarMapper.insert(SystemcalendarConvert.INSTANCE.convert(systemcalendar));
try { } else if (existSystemcalendar != null && mode != 2) {
validateAvailableExists(systemcalendar.getAvailable()); // 如果存在,判断是否允许更新
} catch (ServiceException ex) { SystemcalendarDO systemcalendarDO = SystemcalendarConvert.INSTANCE.convert(systemcalendar);
massage += ex.getMessage() + ","; systemcalendarDO.setId(existSystemcalendar.getId());
} systemcalendarMapper.updateById(systemcalendarDO);
if (StrUtil.isNotEmpty(massage)) {
massage.substring(0, massage.length() - 1);
errorList.add(systemcalendar);
}
if (errorList == null) {
// 判断如果不存在,在进行插入
SystemcalendarDO existSystemcalendar = null;
if (existSystemcalendar == null && mode != 3) {
systemcalendarMapper.insert(SystemcalendarConvert.INSTANCE.convert(systemcalendar));
} else if (existSystemcalendar != null && mode != 2) {// 如果存在,判断是否允许更新
SystemcalendarDO systemcalendarDO = SystemcalendarConvert.INSTANCE.convert(systemcalendar);
systemcalendarDO.setId(existSystemcalendar.getId());
systemcalendarMapper.updateById(systemcalendarDO);
}
} }
} }
}); });
//错误不为空并非部分更新,手工回滚
if(!errorList.isEmpty() && !updatePart) {
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
}
return errorList; return errorList;
} }
@ -158,7 +165,16 @@ public class SystemcalendarServiceImpl implements SystemcalendarService {
if (mouble == null) { if (mouble == null) {
throw exception(SYSTEMCALENDAR_MOUBLE_NOT_EXISTS); throw exception(SYSTEMCALENDAR_MOUBLE_NOT_EXISTS);
} }
else {
SystemcalendarDO systemcalendarDO = systemcalendarMapper.selectByModule(mouble);
if(systemcalendarDO!=null){
throw exception(SYSTEMCALENDAR_MOUBLE_NOT_EXISTS);
}
}
} }
@VisibleForTesting @VisibleForTesting
private void validateAvailableExists(String available) { private void validateAvailableExists(String available) {
if (available == null) { if (available == null) {

Loading…
Cancel
Save