Browse Source

Merge remote-tracking branch 'origin/master'

master
赵雪冰 2 years ago
parent
commit
52b8c98ac3
  1. 1
      win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/ErrorCodeConstants.java
  2. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplierdeliverRecord/vo/SupplierdeliverRecordMainBaseVO.java
  3. 8
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplierdeliverRequest/SupplierdeliverRequestMainController.java
  4. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/supplierdeliverRequest/SupplierdeliverRequestMainConvert.java
  5. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/supplierdeliverRecord/SupplierdeliverRecordMainDO.java
  6. 4
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchase/PurchaseMainServiceImpl.java
  7. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasePlan/PurchasePlanMainService.java
  8. 12
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasePlan/PurchasePlanMainServiceImpl.java
  9. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplierdeliverRequest/SupplierdeliverRequestMainService.java
  10. 271
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplierdeliverRequest/SupplierdeliverRequestMainServiceImpl.java

1
win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/ErrorCodeConstants.java

@ -353,6 +353,7 @@ public interface ErrorCodeConstants {
ErrorCode TEAM_IMPORT_LIST_IS_EMPTY = new ErrorCode(1_000_058_004, "导入班组不能为空");
//标签定义ErrorCode
ErrorCode LABLE_TYPE_NOT_EXISTS = new ErrorCode(1_000_059_000, "标签定义不存在");
ErrorCode LABLE_AND_PACK_TYPE_NOT_EXISTS = new ErrorCode(1_000_059_000, "包装和标签已存在,无法再次生成");
//条码片段ErrorCode
ErrorCode BARCODE_NOT_EXISTS = new ErrorCode(1_000_060_000, "条码片段不存在");
ErrorCode BARCODE_IMPORT_LIST_IS_EMPTY = new ErrorCode(1_000_060_001, "导入条码片段不能为空");

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplierdeliverRecord/vo/SupplierdeliverRecordMainBaseVO.java

@ -103,7 +103,7 @@ public class SupplierdeliverRecordMainBaseVO {
@Schema(description = "部门", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "部门不能为空")
private Long departmentCode;
private String departmentCode;
@Schema(description = "接口类型")
private String interfaceType;

8
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplierdeliverRequest/SupplierdeliverRequestMainController.java

@ -217,4 +217,12 @@ public class SupplierdeliverRequestMainController {
return success(count > 0);
}
@PostMapping("/genRecords")
@Operation(summary = "生成记录")
@Parameter(name = "id", description = "编号", required = true)
public CommonResult<Boolean> genRecords(@RequestParam("id") String id) {
Integer count = supplierdeliverRequestMainService.genRecords(id);
return success(count > 0);
}
}

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/supplierdeliverRequest/SupplierdeliverRequestMainConvert.java

@ -5,8 +5,10 @@ import java.util.*;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.purchase.vo.PurchaseMainBaseVO;
import com.win.module.wms.controller.purchasereceiptRecord.vo.PurchasereceiptRecordMainCreateReqVO;
import com.win.module.wms.controller.supplierdeliverRequest.vo.*;
import com.win.module.wms.dal.dataobject.purchase.PurchaseMainDO;
import com.win.module.wms.dal.dataobject.purchasereceiptRecord.PurchasereceiptRecordMainDO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
import com.win.module.wms.dal.dataobject.supplierdeliverRequest.SupplierdeliverRequestMainDO;

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/supplierdeliverRecord/SupplierdeliverRecordMainDO.java

@ -125,7 +125,7 @@ public class SupplierdeliverRecordMainDO extends BaseDO {
/**
* 部门
*/
private Long departmentCode;
private String departmentCode;
/**
* 岗位
*/

4
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchase/PurchaseMainServiceImpl.java

@ -673,8 +673,8 @@ public class PurchaseMainServiceImpl implements PurchaseMainService {
for (PurchaseMainDO purchaseMainDO : purchaseMainDOList) {
QueryWrapper<PurchaseDetailDO> purchaseDetailDOQueryWrapper = new QueryWrapper<>();
purchaseDetailDOQueryWrapper.eq("number", poNumber);
purchaseDetailDOQueryWrapper.eq("line_number", poNumber);
purchaseDetailDOQueryWrapper.eq("item_code", poNumber);
purchaseDetailDOQueryWrapper.eq("line_number", poLine);
purchaseDetailDOQueryWrapper.eq("item_code", itemCode);
purchaseDetailDOQueryWrapper.eq("available", "TRUE");
List<PurchaseDetailDO> purchaseDetailDOList = purchaseDetailMapper.selectList(purchaseDetailDOQueryWrapper);
for (PurchaseDetailDO purchaseDetailDO : purchaseDetailDOList) {

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasePlan/PurchasePlanMainService.java

@ -156,6 +156,4 @@ public interface PurchasePlanMainService {
*/
void updatePlanPurchaseShippedQty(String number, String poNumber,String poLine, String itemCode, BigDecimal shippedQty);
}

12
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasePlan/PurchasePlanMainServiceImpl.java

@ -90,20 +90,19 @@ public class PurchasePlanMainServiceImpl implements PurchasePlanMainService {
//调用自动执行方法
if (RequestStatusEnum.HANDLING.getCode().equals(purchasePlanMainDO.getStatus())) {
}
trendsApi.createTrends(purchasePlanMainDO.getId(), "PurchaseOrder", "增加了采购订单", TrendsTypeEnum.CREATE);
trendsApi.createTrends(purchasePlanMainDO.getId(), "PurchaseOrder", "增加了要货计划", TrendsTypeEnum.CREATE);
return purchasePlanMainDO.getId();
}
@Override
public Long updatePurchasePlanMain(PurchasePlanMainUpdateReqVO updateReqVO) {
RequestsettingDO requestsettingDO = requestsettingDO = requestsettingService.selectRequestsettingExist("PurchasePlan");
// 校验存在,如子表需要也再此校验
validatePurchasePlanMainExists(updateReqVO.getId());
// 更新主表
PurchasePlanMainDO purchasePlanMainDO = validatorToUpdate(updateReqVO);
if (RequestStatusEnum.HANDLING.getCode().equals(purchasePlanMainDO.getStatus())) {
}
trendsApi.createTrends(requestsettingDO.getId(), "PurchaseclaimRequest", "增加了采购索赔申请", TrendsTypeEnum.CREATE);
trendsApi.createTrends(purchasePlanMainDO.getId(), "PurchaseclaimRequest", "修改了要货计划", TrendsTypeEnum.CREATE);
return purchasePlanMainDO.getId();
@ -320,7 +319,9 @@ public class PurchasePlanMainServiceImpl implements PurchasePlanMainService {
validatorDetailMethod(purchasePlanDetailDO, purchasePlanMainDO);
}
purchasePlanMainMapper.updateById(purchasePlanMainDO);
purchasePlanDetailMapper.updateBatch(subDOList);
if (subDOList != null && subDOList.size() > 0) {
purchasePlanDetailMapper.updateBatch(subDOList);
}
return purchasePlanMainDO;
}
@ -390,8 +391,7 @@ public class PurchasePlanMainServiceImpl implements PurchasePlanMainService {
for (PurchasePlanMainDO purchasePlanMainDO : purchasePlanMainDOList) {
int i = 0;
QueryWrapper<PurchasePlanDetailDO> purchasePlanDetailDOQueryWrapper = new QueryWrapper();
purchasePlanDetailDOQueryWrapper.eq("number", number);
purchasePlanDetailDOQueryWrapper.eq("po_number", poNumber);
purchasePlanDetailDOQueryWrapper.eq("number", poNumber);
purchasePlanDetailDOQueryWrapper.eq("po_line", poLine);
purchasePlanDetailDOQueryWrapper.eq("item_code", itemCode);
purchasePlanDetailDOQueryWrapper.eq("available", "TRUE");

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplierdeliverRequest/SupplierdeliverRequestMainService.java

@ -135,6 +135,12 @@ public interface SupplierdeliverRequestMainService {
*/
Integer genLabel(String id);
/**
* SupplierdeliverRequestMain
*
* @param id 采采购订单申请主ID
* @return 更新数量
*/
Integer genRecords(String id);
}

271
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplierdeliverRequest/SupplierdeliverRequestMainServiceImpl.java

@ -1,7 +1,6 @@
package com.win.module.wms.service.supplierdeliverRequest;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@ -13,37 +12,44 @@ 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.purchase.vo.*;
import com.win.module.wms.controller.purchasereceiptRequest.vo.PurchasereceiptRequestDetailCreateReqVO;
import com.win.module.wms.controller.purchasereceiptRequest.vo.PurchasereceiptRequestMainCreateReqVO;
import com.win.module.wms.controller.rule.vo.RuleRespVO;
import com.win.module.wms.controller.supplierdeliverRecord.vo.SupplierdeliverRecordDetailCreateReqVO;
import com.win.module.wms.controller.supplierdeliverRecord.vo.SupplierdeliverRecordMainCreateReqVO;
import com.win.module.wms.controller.supplierdeliverRequest.vo.*;
import com.win.module.wms.convert.purchase.PurchaseDetailConvert;
import com.win.module.wms.convert.purchase.PurchaseMainConvert;
import com.win.module.wms.convert.purchasereceiptRequest.PurchasereceiptRequestMainConvert;
import com.win.module.wms.convert.supplierdeliverRecord.SupplierdeliverRecordDetailConvert;
import com.win.module.wms.convert.supplierdeliverRecord.SupplierdeliverRecordMainConvert;
import com.win.module.wms.convert.supplierdeliverRequest.SupplierdeliverRequestDetailConvert;
import com.win.module.wms.convert.supplierdeliverRequest.SupplierdeliverRequestMainConvert;
import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO;
import com.win.module.wms.dal.dataobject.currencyexchange.CurrencyexchangeDO;
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.location.LocationDO;
import com.win.module.wms.dal.dataobject.packageMassage.PackageDO;
import com.win.module.wms.dal.dataobject.purchase.PurchaseDetailDO;
import com.win.module.wms.dal.dataobject.purchase.PurchaseMainDO;
import com.win.module.wms.dal.dataobject.purchasePlan.PurchasePlanDetailDO;
import com.win.module.wms.dal.dataobject.purchasePlan.PurchasePlanMainDO;
import com.win.module.wms.dal.dataobject.requestsetting.RequestsettingDO;
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.shift.ShiftDO;
import com.win.module.wms.dal.dataobject.stdcostprice.StdcostpriceDO;
import com.win.module.wms.dal.dataobject.supplier.SupplierDO;
import com.win.module.wms.dal.dataobject.supplierdeliverRequest.SupplierdeliverRequestDetailDO;
import com.win.module.wms.dal.dataobject.supplierdeliverRequest.SupplierdeliverRequestMainDO;
import com.win.module.wms.dal.dataobject.supplieritem.SupplieritemDO;
import com.win.module.wms.dal.mysql.packageMassage.PackageMapper;
import com.win.module.wms.dal.mysql.purchasereceiptRequest.PurchasereceiptRequestDetailMapper;
import com.win.module.wms.dal.mysql.purchasereceiptRequest.PurchasereceiptRequestMainMapper;
import com.win.module.wms.dal.mysql.supplierdeliverRecord.SupplierdeliverRecordDetailMapper;
import com.win.module.wms.dal.mysql.supplierdeliverRecord.SupplierdeliverRecordMainMapper;
import com.win.module.wms.dal.mysql.supplierdeliverRequest.SupplierdeliverRequestDetailMapper;
import com.win.module.wms.dal.mysql.supplierdeliverRequest.SupplierdeliverRequestMainMapper;
import com.win.module.wms.enums.DictTypeConstants;
import com.win.module.wms.enums.order.OrderStatusEnum;
import com.win.module.wms.enums.plan.PlanStatusEnum;
import com.win.module.wms.enums.request.RequestStatusEnum;
import com.win.module.wms.service.itembasic.ItembasicService;
import com.win.module.wms.service.itempackaging.ItempackagingService;
import com.win.module.wms.service.location.LocationService;
import com.win.module.wms.service.packageMassage.PackageService;
import com.win.module.wms.service.purchase.PurchaseMainService;
import com.win.module.wms.service.purchasePlan.PurchasePlanMainService;
import com.win.module.wms.service.requestsetting.RequestsettingService;
import com.win.module.wms.service.rule.RuleService;
@ -51,16 +57,16 @@ import com.win.module.wms.service.shift.ShiftService;
import com.win.module.wms.service.supplier.SupplierService;
import com.win.module.wms.service.supplieritem.SupplieritemService;
import com.win.module.wms.util.JobUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
@ -103,6 +109,23 @@ public class SupplierdeliverRequestMainServiceImpl implements SupplierdeliverReq
private RuleService ruleService;
@Resource
private ItempackagingService itempackagingService;
@Resource
private PackageMapper packageMapper;
@Resource
private PackageService packageService;
@Resource
private SupplierdeliverRecordMainMapper supplierdeliverRecordMainMapper;
@Resource
private SupplierdeliverRecordDetailMapper supplierdeliverRecordDetailMapper;
@Resource
private PurchasereceiptRequestMainMapper purchasereceiptRequestMainMapper;
@Resource
private PurchasereceiptRequestDetailMapper purchasereceiptRequestDetailMapper;
@Resource
private PurchaseMainService purchaseMainService;
@Resource
private LocationService locationService;
@Override
@ -239,15 +262,17 @@ public class SupplierdeliverRequestMainServiceImpl implements SupplierdeliverReq
private SupplieritemDO validatorSupplierItemExist(String supplierCode, String itemCode) {
return supplieritemService.selectSupplierItemExist(supplierCode, itemCode);
}
//子表校验 校验物品标包信息
private ItempackagingDO validatorItemPackagingExist(String itemCode) {
return itempackagingService.selectItemPackagingExist(itemCode);
}
//子表校验 校验要货计划
private PurchasePlanDetailDO validatorPurchasePlan(SupplierdeliverRequestMainDO supplierdeliverRequestMainDO, SupplierdeliverRequestDetailDO supplierdeliverRequestDetailDO) {
PurchasePlanDetailDO purchasePlanDetailDO =
purchasePlanMainService.selectPurchasePlan(supplierdeliverRequestMainDO.getPpNumber(), supplierdeliverRequestMainDO.getSupplierCode(),
supplierdeliverRequestDetailDO.getPoNumber(), supplierdeliverRequestDetailDO.getPoLine(), supplierdeliverRequestDetailDO.getItemCode());
supplierdeliverRequestDetailDO.getPoNumber(), supplierdeliverRequestDetailDO.getPoLine(), supplierdeliverRequestDetailDO.getItemCode());
return purchasePlanDetailDO;
}
@ -277,10 +302,10 @@ public class SupplierdeliverRequestMainServiceImpl implements SupplierdeliverReq
this.validatorSupplierItemExist(mainDo.getSupplierCode(), detailDo.getItemCode());
PurchasePlanDetailDO purchasePlanDetailDO = this.validatorPurchasePlan(mainDo, detailDo);
if ((purchasePlanDetailDO.getPlanQty().subtract(purchasePlanDetailDO.getShippedQty())).compareTo(detailDo.getQty()) == -1) {
throw exception(QTY_ERROR, detailDo.getQty(), null, detailDo.getPoLine(), null, purchasePlanDetailDO.getPlanQty().subtract(purchasePlanDetailDO.getShippedQty()));
throw exception(QTY_ERROR, detailDo.getQty(), detailDo.getNumber(), detailDo.getPoLine(), purchasePlanDetailDO.getItemCode(), purchasePlanDetailDO.getPlanQty().subtract(purchasePlanDetailDO.getShippedQty()));
}
ItempackagingDO itempackagingDO = itempackagingService.selectItemPackagingExist(detailDo.getItemCode());
if(itempackagingDO != null){
if (itempackagingDO != null) {
detailDo.setStdPackUnit(itempackagingDO.getStdPackUnit());
detailDo.setStdPackQty(itempackagingDO.getStdPackQty());
}
@ -313,7 +338,7 @@ public class SupplierdeliverRequestMainServiceImpl implements SupplierdeliverReq
validatorDetailMethod(supplierdeliverRequestDetailDO, supplierdeliverRequestMainDO);
}
supplierdeliverRequestMainMapper.updateById(supplierdeliverRequestMainDO);
if(subDOList!=null&&subDOList.size()>0){
if (subDOList != null && subDOList.size() > 0) {
supplierdeliverRequestDetailMapper.updateBatch(subDOList);
}
return supplierdeliverRequestMainDO;
@ -447,7 +472,7 @@ public class SupplierdeliverRequestMainServiceImpl implements SupplierdeliverReq
@Transactional
public Integer witSupplierdeliverRequestMain(Long id) {
SupplierdeliverRequestMainDO mainDO = validateSupplierdeliverRequestMainExists(id);
mainDO.setStatus(PlanStatusEnum.AGREED.getCode());//增加操作记录
mainDO.setStatus(RequestStatusEnum.AGREED.getCode());//增加操作记录
trendsApi.createTrends(id, "request_supplierdeliver_main", "审批通过了供应商发货申请", TrendsTypeEnum.UPDATE);
return supplierdeliverRequestMainMapper.updateById(mainDO);
}
@ -462,12 +487,11 @@ public class SupplierdeliverRequestMainServiceImpl implements SupplierdeliverReq
@Transactional
public Integer rejSupplierdeliverRequestMain(Long id) {
SupplierdeliverRequestMainDO mainDO = validateSupplierdeliverRequestMainExists(id);
mainDO.setStatus(PlanStatusEnum.REFUSED.getCode());//增加操作记录
mainDO.setStatus(RequestStatusEnum.REFUSED.getCode());//增加操作记录
trendsApi.createTrends(id, "request_supplierdeliver_main", "驳回了供应商发货申请", TrendsTypeEnum.UPDATE);
return supplierdeliverRequestMainMapper.updateById(mainDO);
}
/**
* 生成标签
*
@ -477,18 +501,209 @@ public class SupplierdeliverRequestMainServiceImpl implements SupplierdeliverReq
@Override
@Transactional
public Integer genLabel(String id) {
Integer result = 0;
//--------------------------------------------------生成包装-----------------------------------------------------------------------------------------------
//主表
QueryWrapper<SupplierdeliverRequestMainDO> queryWrapper = new QueryWrapper();
queryWrapper.eq("number", id);
queryWrapper.eq("id", id);
SupplierdeliverRequestMainDO mainDO = supplierdeliverRequestMainMapper.selectOne(queryWrapper);
PackageDO packageDO = new PackageDO();
packageDO.setSupplierCode(mainDO.getSupplierCode());
packageDO.setSupplierItemCode(null);
packageDO.setPpNumber(mainDO.getPpNumber());
packageDO.setAsnNumber(mainDO.getAsnNumber());
//判断ASN单号 是否重复,如果重复不生成
QueryWrapper<PackageDO> packageDOQueryWrapper = new QueryWrapper();
packageDOQueryWrapper.eq("asn_number", mainDO.getAsnNumber());
Long count = packageMapper.selectCount(packageDOQueryWrapper);
if (count > 0) {
throw exception(LABLE_AND_PACK_TYPE_NOT_EXISTS);
}
//子表
QueryWrapper<SupplierdeliverRequestDetailDO> supplierdeliverRequestDetailDOQueryWrapper = new QueryWrapper();
supplierdeliverRequestDetailDOQueryWrapper.eq("master_id", id);
List<SupplierdeliverRequestDetailDO> detailDOList = supplierdeliverRequestDetailMapper.selectList(supplierdeliverRequestDetailDOQueryWrapper);
for (SupplierdeliverRequestDetailDO detailDO : detailDOList) {
// 获取标包数量
BigDecimal itemPackagingDOQty = detailDO.getStdPackQty();
// 库存余额输入数量
BigDecimal detailDOQty = detailDO.getQty();
// 判断 库存余额输入的数量 大于 标包数 进行拆分
if (detailDOQty.compareTo(itemPackagingDOQty) == 1) {
// 库存余额 除以 标包 保留0位 具体子表 例如:保留1位 1.60-1.6 1.61-1.7 1.66-1.7 -1.62--1.7
// 拆分数据总条数 bdcount
BigDecimal bdCount = detailDOQty.divide(itemPackagingDOQty, 0, BigDecimal.ROUND_UP);
int forInt = bdCount.intValue();
//最后一条数据插入数 residueoty= 库存余额数-( 拆分数据总条数-1)*标包数
BigDecimal residue0ty = detailDOQty.subtract(itemPackagingDOQty.multiply(bdCount.subtract(new BigDecimal(1))));
for (int i = 0; i < forInt; i++) {
PackageDO packageDO = new PackageDO();
String number = serialNumberApi.generateCode(RuleCodeEnum.PACKING_NUMBER.getCode());
packageDO.setNumber(number);
LocalDate today = LocalDate.now(); // 获取当前日期
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd"); // 定义日期格式
packageDO.setBatch(today.format(formatter));
//主表给包装表赋值
packageDO.setSupplierCode(mainDO.getSupplierCode());
packageDO.setSupplierItemCode(null);
packageDO.setPpNumber(mainDO.getPpNumber());
packageDO.setAsnNumber(mainDO.getAsnNumber());
//子表给包装表赋值
packageDO.setPoNumber(detailDO.getPoNumber());
packageDO.setPoLine(detailDO.getPoLine());
packageDO.setItemCode(detailDO.getItemCode());
ItembasicDO itembasicDO = itembasicService.selectItembasic(detailDO.getItemCode());
packageDO.setItemName(itembasicDO.getName());
packageDO.setItemDesc1(detailDO.getItemDesc1());
packageDO.setItemDesc2(detailDO.getItemDesc2());
packageDO.setUom(detailDO.getUom());
packageDO.setStdPackQty(detailDO.getStdPackQty());
packageDO.setProduceDate(detailDO.getProduceDate());
packageDO.setValidityDays(0);
packageDO.setExpireDate(detailDO.getExpireDate());
packageDO.setConvertRate(detailDO.getConvertRate());
// 最后一条数据 插入数量 qty = 标包*数据条数 - 库存余额数
if (i == (forInt - 1)) {
packageDO.setQty(residue0ty);
} else {
packageDO.setQty(itemPackagingDOQty);
}
result = packageMapper.insert(packageDO);
//生成标签
packageService.generateLabel(packageDO);
}
} else {
PackageDO packageDO = new PackageDO();
String number = serialNumberApi.generateCode(RuleCodeEnum.PACKING_NUMBER.getCode());
packageDO.setNumber(number);
LocalDate today = LocalDate.now(); // 获取当前日期
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd"); // 定义日期格式
packageDO.setBatch(today.format(formatter));
//主表给包装表赋值
packageDO.setSupplierCode(mainDO.getSupplierCode());
packageDO.setSupplierItemCode(null);
packageDO.setPpNumber(mainDO.getPpNumber());
packageDO.setAsnNumber(mainDO.getAsnNumber());
//子表给包装表赋值
packageDO.setPoNumber(detailDO.getPoNumber());
packageDO.setPoLine(detailDO.getPoLine());
packageDO.setItemCode(detailDO.getItemCode());
ItembasicDO itembasicDO = itembasicService.selectItembasic(detailDO.getItemCode());
packageDO.setItemName(itembasicDO.getName());
packageDO.setItemDesc1(detailDO.getItemDesc1());
packageDO.setItemDesc2(detailDO.getItemDesc2());
packageDO.setUom(detailDO.getUom());
packageDO.setStdPackQty(detailDO.getStdPackQty());
packageDO.setProduceDate(detailDO.getProduceDate());
packageDO.setValidityDays(0);
packageDO.setExpireDate(detailDO.getExpireDate());
packageDO.setConvertRate(detailDO.getConvertRate());
packageDO.setQty(detailDO.getQty());
result = packageMapper.insert(packageDO);
//生成标签
packageService.generateLabel(packageDO);
}
}
return result;
}
/**
* 处理操作生成记录生成采购收货申请
*
* @param id 采采购订单申请主ID
* @return 更新数量
*/
@Override
@Transactional
public Integer genRecords(String id) {
Integer result = 0;
//主表
QueryWrapper<SupplierdeliverRequestMainDO> queryWrapper = new QueryWrapper();
queryWrapper.eq("id", id);
SupplierdeliverRequestMainDO mainDO = supplierdeliverRequestMainMapper.selectOne(queryWrapper);
//子表
QueryWrapper<SupplierdeliverRequestDetailDO> supplierdeliverRequestDetailDOQueryWrapper = new QueryWrapper();
supplierdeliverRequestDetailDOQueryWrapper.eq("master_id", id);
List<SupplierdeliverRequestDetailDO> detailDOList = supplierdeliverRequestDetailMapper.selectList(supplierdeliverRequestDetailDOQueryWrapper);
//跳过任务直接生成记录
SupplierdeliverRecordMainCreateReqVO supplierdeliverRecordMainCreateReqVO = new SupplierdeliverRecordMainCreateReqVO();
BeanUtils.copyProperties(mainDO, supplierdeliverRecordMainCreateReqVO);
String number = serialNumberApi.generateCode(RuleCodeEnum.SUPPLIER_DELIVER_RECORD.getCode());
supplierdeliverRecordMainCreateReqVO.setNumber(number);
supplierdeliverRecordMainCreateReqVO.setRequestNumber(mainDO.getNumber());
//增加业务类型
BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("SupplierdeliverRequest");
supplierdeliverRecordMainCreateReqVO.setBusinessType(businesstypeDO.getCode());
supplierdeliverRecordMainCreateReqVO.setAvailable("TRUE");
supplierdeliverRecordMainCreateReqVO.setExecuteTime(LocalDateTime.now());
supplierdeliverRecordMainCreateReqVO.setActiveDate(LocalDateTime.now());
supplierdeliverRecordMainCreateReqVO.setDepartmentCode(mainDO.getDepartmentCode());
supplierdeliverRecordMainMapper.insert(SupplierdeliverRecordMainConvert.INSTANCE.convert(supplierdeliverRecordMainCreateReqVO));
for (SupplierdeliverRequestDetailDO supplierdeliverRequestDetailDO : detailDOList) {
SupplierdeliverRecordDetailCreateReqVO supplierdeliverRecordDetailCreateReqVO = new SupplierdeliverRecordDetailCreateReqVO();
BeanUtils.copyProperties(supplierdeliverRequestDetailDO, supplierdeliverRecordDetailCreateReqVO);
supplierdeliverRecordDetailCreateReqVO.setNumber(number);
supplierdeliverRecordDetailCreateReqVO.setFromPackingNumber("");
supplierdeliverRecordDetailCreateReqVO.setToPackingNumber("");
supplierdeliverRecordDetailCreateReqVO.setFromBatch("");
supplierdeliverRecordDetailCreateReqVO.setToBatch("");
supplierdeliverRecordDetailCreateReqVO.setAltBatch("");
supplierdeliverRecordDetailCreateReqVO.setFromContainerNumber("");
supplierdeliverRecordDetailCreateReqVO.setToContainerNumber("");
SupplieritemDO supplieritemDO = supplieritemService.selectSupplierItemExist(mainDO.getSupplierCode(), supplierdeliverRequestDetailDO.getItemCode());
supplierdeliverRecordDetailCreateReqVO.setToLocationCode(supplieritemDO.getDefaultLocationCode());
LocationDO locationDO = locationService.selectLocation(supplieritemDO.getDefaultLocationCode());
supplierdeliverRecordDetailCreateReqVO.setToAreaCode(locationDO.getAreaCode());
supplierdeliverRecordDetailCreateReqVO.setToLocationGroupCode(locationDO.getLocationGroupCode());
supplierdeliverRecordDetailMapper.insert(SupplierdeliverRecordDetailConvert.INSTANCE.convert(supplierdeliverRecordDetailCreateReqVO));
}
return 0;
//生成采购收货申请 叶佳兴
PurchasereceiptRequestMainDO purchasereceiptRequestMainDO = new PurchasereceiptRequestMainDO();
BeanUtils.copyProperties(mainDO, purchasereceiptRequestMainDO);
String number2 = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_RECEIPT_REQUEST.getCode());
purchasereceiptRequestMainDO.setNumber(number2);
purchasereceiptRequestMainMapper.insert(purchasereceiptRequestMainDO);
for (SupplierdeliverRequestDetailDO detailDO : detailDOList) {
//包装
QueryWrapper<PackageDO> packageDOQueryWrapper = new QueryWrapper();
packageDOQueryWrapper.eq("asn_number", mainDO.getAsnNumber());
packageDOQueryWrapper.eq("po_number", detailDO.getPoNumber());
packageDOQueryWrapper.eq("po_line", detailDO.getPoLine());
packageDOQueryWrapper.eq("item_code", detailDO.getItemCode());
List<PackageDO> packageDOList = packageMapper.selectList(packageDOQueryWrapper);
for (PackageDO packageDO : packageDOList) {
PurchasereceiptRequestDetailDO purchasereceiptRequestDetailDO = new PurchasereceiptRequestDetailDO();
purchasereceiptRequestDetailDO.setMasterId(purchasereceiptRequestMainDO.getId());
purchasereceiptRequestDetailDO.setNumber(number2);
//供应商子表
BeanUtils.copyProperties(detailDO, purchasereceiptRequestDetailDO);
purchasereceiptRequestDetailDO.setContainerNumber(null);
purchasereceiptRequestDetailDO.setBatch(packageDO.getBatch());
purchasereceiptRequestDetailDO.setAltBatch(packageDO.getAltBatch());
purchasereceiptRequestDetailDO.setArriveDate(detailDO.getArriveDate());
purchasereceiptRequestDetailDO.setProduceDate(packageDO.getProduceDate());
purchasereceiptRequestDetailDO.setExpireDate(packageDO.getExpireDate());
purchasereceiptRequestDetailDO.setPackingNumber(packageDO.getNumber());
purchasereceiptRequestDetailDO.setInventoryStatus("INS");
purchasereceiptRequestDetailDO.setFromLocationCode(null);
SupplieritemDO supplieritemDO = supplieritemService.selectSupplierItemExist(mainDO.getSupplierCode(), detailDO.getItemCode());
purchasereceiptRequestDetailDO.setDefaultToLocationCode(supplieritemDO.getDefaultLocationCode());
purchasereceiptRequestDetailDO.setRemark(null);
purchasereceiptRequestDetailDO.setCreateTime(LocalDateTime.now());
purchasereceiptRequestDetailDO.setSiteId(null);
purchasereceiptRequestDetailMapper.insert(purchasereceiptRequestDetailDO);
}
//更新要货计划的已发货数量
purchasePlanMainService.updatePlanPurchaseShippedQty(detailDO.getNumber(), mainDO.getPpNumber(), detailDO.getPoLine()
, detailDO.getItemCode(), detailDO.getQty());
//更新要货计划的已发货数量
purchaseMainService.updateOrderPurchaseShippedQty(detailDO.getPoNumber(), detailDO.getPoLine(), detailDO.getItemCode(), detailDO.getQty());
}
mainDO.setStatus(RequestStatusEnum.COMPLETED.getCode());
supplierdeliverRequestMainMapper.updateBatch(mainDO);
trendsApi.createTrends(mainDO.getId(), "SupplierdeliverRequest", "处理了供应商发货申请", TrendsTypeEnum.CREATE);
return result;
}
}

Loading…
Cancel
Save