Browse Source

Merge remote-tracking branch 'origin/master'

master
陈薪名 2 years ago
parent
commit
6e515324ff
  1. 24
      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. 66
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/systemcalendar/SystemcalendarServiceImpl.java

24
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();
pattern = currentDate.format(DateTimeFormatter.ofPattern(encodedRule.getPattern().replace("m", "M")));
}
long millMinutes = 0;
if(encodedRule.getPattern() != null && !encodedRule.getPattern().isEmpty()) {
if (encodedRule.getPattern().toLowerCase().indexOf("d") > 0) { //包含日
LocalDateTime midnight = LocalDateTime.now().plusDays(1).withHour(0).withMinute(0).withSecond(0).withNano(1);
millMinutes = ChronoUnit.MINUTES.between(LocalDateTime.now(), midnight);
} else if (encodedRule.getPattern().toLowerCase().indexOf("m") > 0) { //包含月
LocalDateTime midnight = LocalDateTime.now().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);
}
}
LocalDateTime midnight = null;
if(encodedRule.getPattern().toLowerCase().indexOf("d") > 0) { //包含日
midnight = LocalDateTime.now().plusDays(1).withHour(0).withMinute(0).withSecond(0).withNano(1);
} else if(encodedRule.getPattern().toLowerCase().indexOf("m") > 0) { //包含月
midnight = LocalDateTime.now().plusMonths(1).plusDays(1).withHour(0).withMinute(0).withSecond(0).withNano(1);
} else if(encodedRule.getPattern().toLowerCase().indexOf("y") > 0) {
midnight = LocalDateTime.now().plusYears(1).plusMonths(1).plusDays(1).withHour(0).withMinute(0).withSecond(0).withNano(1);
}
long millSeconds = ChronoUnit.SECONDS.between(LocalDateTime.now(), midnight);
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(pattern);
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.module.system.api.user.AdminUserApi;
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.process.vo.ProcessRespVO;
import com.win.module.wms.controller.systemcalendar.vo.*;
@ -144,7 +145,7 @@ public class SystemcalendarController {
}
@GetMapping("/get-import-template")
@Operation(summary = "获得导入班组信息模板")
@Operation(summary = "获得导入系统日历信息模板")
public void importTemplate(HttpServletResponse response) throws IOException {
// 手动创建导出 demo
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")
@Operation(summary = "导入班组信息")
@Operation(summary = "导入系统日历信息")
@Parameters({
@Parameter(name = "file", description = "Excel 文件", required = true),
@Parameter(name = "mode", description = "导入模式1更新2追加3覆盖", example = "1"),
@ -173,11 +174,11 @@ public class SystemcalendarController {
@RequestParam(value = "mode") Integer mode,
@RequestParam(value = "updatePart", required = false, defaultValue = "false") Boolean updatePart) throws Exception {
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<>();
returnMap.put("errorCount", errorList.size());
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);
}
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.module.wms.controller.systemcalendar.vo.SystemcalendarCreateReqVO;
import com.win.module.wms.controller.systemcalendar.vo.SystemcalendarExcelVO;
import com.win.module.wms.controller.systemcalendar.vo.SystemcalendarRespVO;
import com.win.module.wms.controller.systemcalendar.vo.SystemcalendarUpdateReqVO;
import com.win.module.wms.controller.systemcalendar.vo.SystemcalendarImportExcelVo;
import com.win.module.wms.controller.bom.vo.BomImportErrorVO;
import com.win.module.wms.controller.bom.vo.BomImportExcelVo;
import com.win.module.wms.controller.systemcalendar.vo.*;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
import com.win.module.wms.dal.dataobject.systemcalendar.SystemcalendarDO;
@ -37,4 +35,6 @@ public interface SystemcalendarConvert {
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.module.wms.controller.systemcalendar.vo.SystemcalendarExportReqVO;
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.systemcalendar.SystemcalendarDO;
import org.apache.ibatis.annotations.Mapper;
@ -53,5 +54,9 @@ public interface SystemcalendarMapper extends BaseMapperX<SystemcalendarDO> {
default List<SystemcalendarDO> selectSeniorList(CustomConditions 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");
transactionCreateReqVOIn.setBusinessType(businesstypeDO.getCode());
TransactiontypeDO transactiontypeDOIn = jobUtils.selectDocumentFromTransactionType(businesstypeDO.getInTransactionType());
transactionCreateReqVOIn.setInventoryAction(transactiontypeDOIn.getInventoryAction());
transactionCreateReqVOIn.setTransactionType(transactiontypeDOIn.getCode());
transactionCreateReqVOIn.setLocationCode(inspectJobDetailUpdateReqVO.getFromLocationCode());
transactionCreateReqVOIn.setRecordNumber(number);
transactionCreateReqVOIn.setBatch(inspectRecordMainDO.getBatch());
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) {
TransactionCreateReqVO transactionCreateReqVO = new TransactionCreateReqVO();
BeanUtils.copyProperties(transactionCreateReqVOIn, transactionCreateReqVO);
transactionCreateReqVO.setInventoryAction("OK");
transactionCreateReqVO.setInventoryStatus("OK");
transactionCreateReqVO.setQty(inspectJobDetailUpdateReqVO.getGoodQty());
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();
BeanUtils.copyProperties(transactionCreateReqVOIn, transactionCreateReqVO);
transactionCreateReqVO.setInventoryAction("SCRAP");
transactionCreateReqVO.setInventoryStatus("SCRAP");
transactionCreateReqVO.setQty(inspectJobDetailUpdateReqVO.getCrackQty());
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();
BeanUtils.copyProperties(transactionCreateReqVOIn, transactionCreateReqVO);
transactionCreateReqVO.setInventoryAction("NOK");
transactionCreateReqVO.setInventoryStatus("NOK");
transactionCreateReqVO.setQty(inspectJobDetailUpdateReqVO.getFailedQty());
transactionCreateReqVOList.add(transactionCreateReqVO);
}
@ -270,6 +274,7 @@ public class InspectJobMainServiceImpl implements InspectJobMainService {
TransactiontypeDO transactiontypeDOOut = jobUtils.selectDocumentFromTransactionType(businesstypeDO.getOutTransactionType());
transactionCreateReqVOOut.setInventoryAction(transactiontypeDOOut.getInventoryAction());
transactionCreateReqVOOut.setTransactionType(transactiontypeDOOut.getCode());
transactionCreateReqVOOut.setLocationCode(inspectJobDetailUpdateReqVO.getFromLocationCode());
transactionCreateReqVOOut.setBatch(inspectRecordMainDO.getBatch());
transactionCreateReqVOOut.setWorker(String.valueOf(userApi.getUser(getLoginUserId()).getId()));
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<InspectRequestDetailDO> subDOList = InspectRequestDetailConvert.INSTANCE.convertList03(subList);
BigDecimal sumQty = BigDecimal.ZERO;
for (InspectRequestDetailDO detailDO : subDOList) {
this.validatorDetail(detailDO, mainDO, businesstypeDO);
sumQty = sumQty.add(detailDO.getQty());
}
mainDO.setReceiveQty(sumQty);
String number = serialNumberApi.generateCode(RuleCodeEnum.INSPECT_REQUEST.getCode());
mainDO.setNumber(number);
RequestStatusState requestStatusState = new RequestStatusState();
@ -202,8 +205,10 @@ public class InspectRequestMainServiceImpl implements InspectRequestMainService
List<InspectRequestDetailCreateReqVO> subList = createReqVO.getSubList();
List<InspectRequestDetailDO> subDOList = InspectRequestDetailConvert.INSTANCE.convertList03(subList);
BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("InspectRequest");
BigDecimal sumQty = BigDecimal.ZERO;
for (InspectRequestDetailDO detailDO : subDOList) {
String messageDetail = this.validatorInspectRequestDetailImport(detailDO, mainDO, businesstypeDO);
sumQty = sumQty.add(detailDO.getQty());
InspectRequestDetailCreateReqVO inspectRequestDetailCreateReqVO = InspectRequestDetailConvert.INSTANCE.convert1(detailDO);
InspectRequestImportErrorVO importVO = InspectRequestDetailConvert.INSTANCE.convert(createReqVO, inspectRequestDetailCreateReqVO);
if (!messageMain.isEmpty() || !messageDetail.isEmpty()) {
@ -213,6 +218,7 @@ public class InspectRequestMainServiceImpl implements InspectRequestMainService
errorList.add(importVO);
}
}
mainDO.setReceiveQty(sumQty);
mainDO.setBusinessType(businesstypeDO.getCode());
mainDO.setFromLocationTypes(businesstypeDO.getOutLocationTypes());
mainDO.setFromAreaCodes(businesstypeDO.getOutAreaCodes());
@ -480,10 +486,6 @@ public class InspectRequestMainServiceImpl implements InspectRequestMainService
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) {
HashMap<String, String> rule = selectRule(null, mainDO.getItemCode());
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) {
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);
mainDo.setBusinessType(businesstypeDO.getCode());
mainDo.setFromLocationTypes(businesstypeDO.getOutLocationTypes());
@ -516,6 +516,8 @@ public class InspectRequestMainServiceImpl implements InspectRequestMainService
//校验子表公共方法(适用于新增/修改)
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());
detailDo.setNumber(mainDo.getNumber());
detailDo.setItemDesc1(itembasicDO.getDesc1());
@ -538,12 +540,6 @@ public class InspectRequestMainServiceImpl implements InspectRequestMainService
*/
private String validatorInspectRequestMainImport(InspectRequestMainDO mainDo) {
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 {
validatorRule(mainDo);
} catch (Exception ex) {
@ -565,6 +561,12 @@ public class InspectRequestMainServiceImpl implements InspectRequestMainService
*/
private String validatorInspectRequestDetailImport(InspectRequestDetailDO detailDo, InspectRequestMainDO mainDo, BusinesstypeDO businesstypeDO) {
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 {
ItembasicDO itembasicDO = validatorItembasic(detailDo.getItemCode());
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) {
String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_RECEIPT_REQUEST.getCode());
String number = serialNumberApi.generateCode(RuleCodeEnum.INVENTORY_INITIAL_REQUEST.getCode());
mainDO.setNumber(number);
RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("TransferDeliverRequest");
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 ppoLine 订单行
* @param pitemCode 零件号
* @param packingNumber 箱码
* @param batch 批次
* @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
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<>();
queryWrapperMain.eq("number", pNumber);
if (psupplierCode != null && !psupplierCode.isEmpty()) {
@ -85,6 +85,8 @@ public class PurchasereceiptRecordMainServiceImpl implements PurchasereceiptReco
queryWrapperDetail.eq("po_number", ppoNumber);
queryWrapperDetail.eq("po_line", ppoLine);
queryWrapperDetail.eq("item_code", pitemCode);
queryWrapperDetail.eq("to_packing_number", packingNumber);
queryWrapperDetail.eq("to_batch", batch);
PurchasereceiptRecordDetailDO purchasereceiptRecordDetailDO = purchasereceiptRecordDetailMapper.selectOne(queryWrapperDetail);
if (purchasereceiptRecordDetailDO != null) {
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());
this.ifUomSuccess(itembasicDO.getUom(), detailDo.getUom());
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());
mainDo.setPpNumber(purchasereceiptRecordMainDO.getPpNumber());
mainDo.setAsnNumber(purchasereceiptRecordMainDO.getAsnNumber());
@ -541,7 +541,7 @@ public class PurchasereturnRequestMainServiceImpl implements PurchasereturnReque
message.append(ex.getMessage()).append(",");
}
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());
try {
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);
}

66
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.PageResult;
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.convert.bom.BomConvert;
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.mysql.systemcalendar.SystemcalendarMapper;
import org.springframework.stereotype.Service;
@ -83,53 +86,57 @@ public class SystemcalendarServiceImpl implements SystemcalendarService {
public List<SystemcalendarDO> getSystemcalendarList(SystemcalendarExportReqVO exportReqVO) {
return systemcalendarMapper.selectList(exportReqVO);
}
public List<SystemcalendarImportExcelVo> importSystemcalendarList(List<SystemcalendarImportExcelVo> systemcalendars, Integer mode, boolean updatePart) {
if (CollUtil.isEmpty(systemcalendars)) {
throw exception(SYSTEMCALENDAR_IMPORT_LIST_IS_EMPTY);
}
List<SystemcalendarImportExcelVo> errorList = new ArrayList<>();
systemcalendars.forEach(systemcalendar -> {
// 校验,判断是否有不符合的原因
String massage = "";
if (mode != null) {
private String validateSystemcalendarImport( SystemcalendarDO systemcalendar ){
StringBuilder message = new StringBuilder();
try {
validateSystemcalendarExists(null);
} catch (ServiceException ex) {
massage += ex.getMessage() + ",";
message.append(ex.getMessage()).append(",");
}
try {
validateMoubleExists(systemcalendar.getModule());
} catch (ServiceException ex) {
massage += ex.getMessage() + ",";
message.append(ex.getMessage()).append(",");
}
try {
validateAvailableExists(systemcalendar.getAvailable());
} catch (ServiceException ex) {
massage += ex.getMessage() + ",";
message.append(ex.getMessage()).append(",");
}
if (StrUtil.isNotEmpty(massage)) {
massage.substring(0, massage.length() - 1);
errorList.add(systemcalendar);
return message.toString();
}
if (errorList == null) {
// 判断如果不存在,在进行插入
SystemcalendarDO existSystemcalendar = null;
public List<SystemcalendarImportErrorVO> importSystemcalendarList(List<SystemcalendarImportExcelVo> systemcalendars, Integer mode, boolean updatePart) {
if (CollUtil.isEmpty(systemcalendars)) {
throw exception(SYSTEMCALENDAR_IMPORT_LIST_IS_EMPTY);
}
List<SystemcalendarImportErrorVO> errorList = new ArrayList<>();
systemcalendars.forEach(systemcalendar -> {
SystemcalendarDO SystemcalendarDO = SystemcalendarConvert.INSTANCE.convert(systemcalendar);
// 校验,判断是否有不符合的原因
String message = this.validateSystemcalendarImport(SystemcalendarDO);
boolean flag = true;
if(!message.isEmpty()){
SystemcalendarImportErrorVO importErrorVO = SystemcalendarConvert.INSTANCE.convert2(SystemcalendarDO);
importErrorVO.setImportStatus("失败");
importErrorVO.setImportRemark(message.substring(0, message.length() - 1));
errorList.add(importErrorVO);
flag = false;
}
if(flag){
SystemcalendarDO existSystemcalendar = systemcalendarMapper.selectByModule(SystemcalendarDO.getModule());
if (existSystemcalendar == null && mode != 3) {
systemcalendarMapper.insert(SystemcalendarConvert.INSTANCE.convert(systemcalendar));
} else if (existSystemcalendar != null && mode != 2) {// 如果存在,判断是否允许更新
} 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;
}
@ -158,7 +165,16 @@ public class SystemcalendarServiceImpl implements SystemcalendarService {
if (mouble == null) {
throw exception(SYSTEMCALENDAR_MOUBLE_NOT_EXISTS);
}
else {
SystemcalendarDO systemcalendarDO = systemcalendarMapper.selectByModule(mouble);
if(systemcalendarDO!=null){
throw exception(SYSTEMCALENDAR_MOUBLE_NOT_EXISTS);
}
}
}
@VisibleForTesting
private void validateAvailableExists(String available) {
if (available == null) {

Loading…
Cancel
Save