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;
//子表数据
@ExcelProperty("单据号")
private String poNumber;
@ExcelProperty("行号")
private String poLine;
private String lineNumber;
@ExcelProperty("物品代码")
private String itemCode;
@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 对应的类}
*/
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) {
return selectOne(PurchaseMainDO::getNumber, number);
return selectOne(PurchaseMainDO::getNumber, number,PurchaseMainDO::getDeleted, false);
}
default PageResult<PurchaseMainDO> selectSenior(CustomConditions 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.supplieritem.SupplieritemService;
import com.win.module.wms.util.JobUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
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) {
if (CollUtil.isEmpty(datas)) {
throw exception(PURCHASECLAIM_REQUEST_IMPORT_LIST_IS_EMPTY);
}
List<PurchaseMainImportErrorVO> errorList = new ArrayList<>();
datas.forEach(createReqVO -> {
BusinesstypeDO businesstypeDO = new BusinesstypeDO();
for (PurchaseMainCreateReqVO createReqVO : datas) {
PurchaseMainDO mainDo = PurchaseMainConvert.INSTANCE.convert(createReqVO);
String messageMain = validatorPurchaseMainImport(mainDo, businesstypeDO);
String messageMain = validatorPurchaseMainImport(mainDo);
List<PurchaseDetailCreateReqVO> subList = createReqVO.getSubList();
List<PurchaseDetailDO> subDOList = PurchaseDetailConvert.INSTANCE.convertList03(subList);
// 是否有错误数据
@ -230,18 +233,28 @@ public class PurchaseMainServiceImpl implements PurchaseMainService {
}
//写入数据
if (flag) {
String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_ORDER.getCode());
mainDo.setNumber(number);
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);
for (PurchaseDetailDO detailDO : subDOList) {
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);
}
});
}
return errorList;
}
@ -325,12 +338,28 @@ public class PurchaseMainServiceImpl implements PurchaseMainService {
* @param mainDo
* @return
*/
private String validatorPurchaseMainImport(PurchaseMainDO mainDo, BusinesstypeDO businesstypeDO) {
private String validatorPurchaseMainImport(PurchaseMainDO mainDo) {
String messageMain = "";
//主表的验证
//校验供应商基础信息
try {
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) {
messageMain += ex.getMessage() + ",";
}
@ -367,7 +396,7 @@ public class PurchaseMainServiceImpl implements PurchaseMainService {
try {
SupplieritemDO supplieritemDO = supplieritemService.selectSupplierItemExist(mainDo.getSupplierCode(), detailDo.getItemCode());
detailDo.setSupplierUom(supplieritemDO.getSupplierUom());
detailDo.setStdPackQty(supplieritemDO.getPackQty());
detailDo.setSupplierQty(supplieritemDO.getPackQty());
detailDo.setConvertRate(supplieritemDO.getConvertRate());
} catch (ServiceException ex) {
messageDetail += ex.getMessage() + ",";
@ -389,7 +418,6 @@ public class PurchaseMainServiceImpl implements PurchaseMainService {
}
@Override
@Transactional
public Integer closePurchaseMain(Long id) {

Loading…
Cancel
Save