Browse Source

bug修改

master
叶佳兴 2 years ago
parent
commit
c0af913529
  1. 4
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchase/vo/PurchaseMainImportVO.java
  2. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/purchase/PurchaseDetailDO.java
  3. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchase/PurchaseMainMapper.java
  4. 50
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchase/PurchaseMainServiceImpl.java

4
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchase/vo/PurchaseMainImportVO.java

@ -51,10 +51,8 @@ public class PurchaseMainImportVO {
private LocalDateTime dueDate; private LocalDateTime dueDate;
//子表数据 //子表数据
@ExcelProperty("单据号")
private String poNumber;
@ExcelProperty("行号") @ExcelProperty("行号")
private String poLine; private String lineNumber;
@ExcelProperty("物品代码") @ExcelProperty("物品代码")
private String itemCode; private String itemCode;
@ExcelProperty("数量") @ExcelProperty("数量")

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/purchase/PurchaseDetailDO.java

@ -134,7 +134,7 @@ public class PurchaseDetailDO extends BaseDO {
* *
* 枚举 {@link TODO purchase_order_detail_status 对应的类} * 枚举 {@link TODO purchase_order_detail_status 对应的类}
*/ */
private Integer status; private String status;
/** /**
* 是否可用 * 是否可用
* *

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchase/PurchaseMainMapper.java

@ -46,9 +46,8 @@ public interface PurchaseMainMapper extends BaseMapperX<PurchaseMainDO> {
} }
default PurchaseMainDO selectByNumber(String number) { default PurchaseMainDO selectByNumber(String number) {
return selectOne(PurchaseMainDO::getNumber, number); return selectOne(PurchaseMainDO::getNumber, number,PurchaseMainDO::getDeleted, false);
} }
default PageResult<PurchaseMainDO> selectSenior(CustomConditions conditions) { default PageResult<PurchaseMainDO> selectSenior(CustomConditions conditions) {
return selectPage(conditions, QueryWrapperUtils.structure(conditions)); return selectPage(conditions, QueryWrapperUtils.structure(conditions));
} }

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

@ -51,6 +51,7 @@ import com.win.module.wms.service.shift.ShiftService;
import com.win.module.wms.service.stdcostprice.StdcostpriceService; import com.win.module.wms.service.stdcostprice.StdcostpriceService;
import com.win.module.wms.service.supplieritem.SupplieritemService; import com.win.module.wms.service.supplieritem.SupplieritemService;
import com.win.module.wms.util.JobUtils; import com.win.module.wms.util.JobUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
@ -204,15 +205,17 @@ public class PurchaseMainServiceImpl implements PurchaseMainService {
} }
} }
@Override
@Transactional
public List<PurchaseMainImportErrorVO> importPurchaseMaintList(List<PurchaseMainCreateReqVO> datas, Integer mode, boolean updatePart) { public List<PurchaseMainImportErrorVO> importPurchaseMaintList(List<PurchaseMainCreateReqVO> datas, Integer mode, boolean updatePart) {
if (CollUtil.isEmpty(datas)) { if (CollUtil.isEmpty(datas)) {
throw exception(PURCHASECLAIM_REQUEST_IMPORT_LIST_IS_EMPTY); throw exception(PURCHASECLAIM_REQUEST_IMPORT_LIST_IS_EMPTY);
} }
List<PurchaseMainImportErrorVO> errorList = new ArrayList<>(); List<PurchaseMainImportErrorVO> errorList = new ArrayList<>();
datas.forEach(createReqVO -> { for (PurchaseMainCreateReqVO createReqVO : datas) {
BusinesstypeDO businesstypeDO = new BusinesstypeDO();
PurchaseMainDO mainDo = PurchaseMainConvert.INSTANCE.convert(createReqVO); PurchaseMainDO mainDo = PurchaseMainConvert.INSTANCE.convert(createReqVO);
String messageMain = validatorPurchaseMainImport(mainDo, businesstypeDO); String messageMain = validatorPurchaseMainImport(mainDo);
List<PurchaseDetailCreateReqVO> subList = createReqVO.getSubList(); List<PurchaseDetailCreateReqVO> subList = createReqVO.getSubList();
List<PurchaseDetailDO> subDOList = PurchaseDetailConvert.INSTANCE.convertList03(subList); List<PurchaseDetailDO> subDOList = PurchaseDetailConvert.INSTANCE.convertList03(subList);
// 是否有错误数据 // 是否有错误数据
@ -230,18 +233,28 @@ public class PurchaseMainServiceImpl implements PurchaseMainService {
} }
//写入数据 //写入数据
if (flag) { if (flag) {
String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_ORDER.getCode());
mainDo.setNumber(number);
mainDo.setStatus(DictFrameworkUtils.parseDictDataValue(DictTypeConstants.REQUEST_STATUS, "新增")); mainDo.setStatus(DictFrameworkUtils.parseDictDataValue(DictTypeConstants.REQUEST_STATUS, "新增"));
mainDo.setOrderDate(LocalDateTime.MAX); mainDo.setOrderDate(LocalDateTime.now());
mainDo.setTaxRate(BigDecimal.ZERO);
BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("PurchaseOrder");
mainDo.setBusinessType(businesstypeDO.getCode());
mainDo.setAvailable("TRUE");
purchaseMainMapper.insert(mainDo); purchaseMainMapper.insert(mainDo);
for (PurchaseDetailDO detailDO : subDOList) { for (PurchaseDetailDO detailDO : subDOList) {
detailDO.setMasterId(mainDo.getId()); detailDO.setMasterId(mainDo.getId());
detailDO.setNumber(number); detailDO.setNumber(mainDo.getNumber());
detailDO.setPlannedQty(BigDecimal.ZERO);
detailDO.setShippedQty(BigDecimal.ZERO);
detailDO.setReceivedQty(BigDecimal.ZERO);
detailDO.setReturnedQty(BigDecimal.ZERO);
detailDO.setPutawayQty(BigDecimal.ZERO);
detailDO.setErpLocationCode(null);
detailDO.setAvailable("TRUE");
detailDO.setStatus(OrderStatusEnum.READY.getCode());
} }
purchaseDetailMapper.insertBatch(subDOList); purchaseDetailMapper.insertBatch(subDOList);
} }
}); }
return errorList; return errorList;
} }
@ -325,12 +338,28 @@ public class PurchaseMainServiceImpl implements PurchaseMainService {
* @param mainDo * @param mainDo
* @return * @return
*/ */
private String validatorPurchaseMainImport(PurchaseMainDO mainDo, BusinesstypeDO businesstypeDO) { private String validatorPurchaseMainImport(PurchaseMainDO mainDo) {
String messageMain = ""; String messageMain = "";
//主表的验证 //主表的验证
//校验供应商基础信息 //校验供应商基础信息
try { try {
ShiftDO shiftDO = shiftService.selectShiftExist(mainDo.getSupplierCode()); ShiftDO shiftDO = shiftService.selectShiftExist(mainDo.getSupplierCode());
if (shiftDO == null) {
messageMain += "未查找到供应商" + mainDo.getSupplierCode() + "信息" + ",";
}
} catch (ServiceException ex) {
messageMain += ex.getMessage() + ",";
}
if (StringUtils.isEmpty(mainDo.getNumber())) {
String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_ORDER.getCode());
mainDo.setNumber(number);
}
//校验单据号是否重复
try {
PurchaseMainDO purchaseMainDO = purchaseMainMapper.selectByNumber(mainDo.getNumber());
if (purchaseMainDO != null) {
messageMain += "单据号" + mainDo.getNumber() + "已存在" + ",";
}
} catch (ServiceException ex) { } catch (ServiceException ex) {
messageMain += ex.getMessage() + ","; messageMain += ex.getMessage() + ",";
} }
@ -367,7 +396,7 @@ public class PurchaseMainServiceImpl implements PurchaseMainService {
try { try {
SupplieritemDO supplieritemDO = supplieritemService.selectSupplierItemExist(mainDo.getSupplierCode(), detailDo.getItemCode()); SupplieritemDO supplieritemDO = supplieritemService.selectSupplierItemExist(mainDo.getSupplierCode(), detailDo.getItemCode());
detailDo.setSupplierUom(supplieritemDO.getSupplierUom()); detailDo.setSupplierUom(supplieritemDO.getSupplierUom());
detailDo.setStdPackQty(supplieritemDO.getPackQty()); detailDo.setSupplierQty(supplieritemDO.getPackQty());
detailDo.setConvertRate(supplieritemDO.getConvertRate()); detailDo.setConvertRate(supplieritemDO.getConvertRate());
} catch (ServiceException ex) { } catch (ServiceException ex) {
messageDetail += ex.getMessage() + ","; messageDetail += ex.getMessage() + ",";
@ -389,7 +418,6 @@ public class PurchaseMainServiceImpl implements PurchaseMainService {
} }
@Override @Override
@Transactional @Transactional
public Integer closePurchaseMain(Long id) { public Integer closePurchaseMain(Long id) {

Loading…
Cancel
Save