Browse Source

成品发货申请后端代码修改

master
chenfang 2 years ago
parent
commit
feb735d337
  1. 77
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/deliverRequest/DeliverRequestMainController.java
  2. 9
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/deliverRequest/vo/DeliverRequestMainExcelVO.java
  3. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/deliverRequest/DeliverRequestDetailDO.java
  4. 1
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/deliverRequest/DeliverRequestMainDO.java
  5. 4
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/deliverRequest/DeliverRequestDetailMapper.java
  6. 43
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/deliverRequest/DeliverRequestMainService.java
  7. 286
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/deliverRequest/DeliverRequestMainServiceImpl.java

77
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/deliverRequest/DeliverRequestMainController.java

@ -137,7 +137,7 @@ public class DeliverRequestMainController {
} }
@PostMapping("/export-excel-senior") @PostMapping("/export-excel-senior")
@Operation(summary = "导出发货计划主 Excel") @Operation(summary = "导出发货申请主 Excel")
@PreAuthorize("@ss.hasPermission('wms:deliver-request-main:export')") @PreAuthorize("@ss.hasPermission('wms:deliver-request-main:export')")
@OperateLog(type = EXPORT) @OperateLog(type = EXPORT)
public void exportPurchasereceiptRequestMainSeniorExcel(@Valid @RequestBody CustomConditions conditions, HttpServletResponse response) throws IOException { public void exportPurchasereceiptRequestMainSeniorExcel(@Valid @RequestBody CustomConditions conditions, HttpServletResponse response) throws IOException {
@ -185,7 +185,7 @@ public class DeliverRequestMainController {
@Parameter(name = "mode", description = "导入模式1更新2追加3覆盖", example = "1"), @Parameter(name = "mode", description = "导入模式1更新2追加3覆盖", example = "1"),
@Parameter(name = "updatePart", description = "部分更新,默认为 true", example = "true") @Parameter(name = "updatePart", description = "部分更新,默认为 true", example = "true")
}) })
@PreAuthorize("@ss.hasPermission('wms:inspect-request-main:import')") @PreAuthorize("@ss.hasPermission('wms:deliver-request-main:import')")
public CommonResult<Map<String, Object>> importExcel(HttpServletResponse response, public CommonResult<Map<String, Object>> importExcel(HttpServletResponse response,
@RequestParam("file") MultipartFile file, @RequestParam("file") MultipartFile file,
@RequestParam(value = "mode") Integer mode, @RequestParam(value = "mode") Integer mode,
@ -205,16 +205,16 @@ public class DeliverRequestMainController {
private List<DeliverRequestMainExcelVO> getExcelVo(List<DeliverRequestMainDO> list, Map<Integer, String[]> mapDropDown) { private List<DeliverRequestMainExcelVO> getExcelVo(List<DeliverRequestMainDO> list, Map<Integer, String[]> mapDropDown) {
String[] transferMode = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.TRANSFER_MODE); String[] transferMode = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.TRANSFER_MODE);
mapDropDown.put(5, transferMode); mapDropDown.put(6, transferMode);
String[] locationType = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.LOCATION_TYPE); String[] locationType = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.LOCATION_TYPE);
mapDropDown.put(9, locationType); mapDropDown.put(10, locationType);
mapDropDown.put(22, locationType); mapDropDown.put(23, locationType);
String[] requestStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.REQUEST_STATUS); String[] requestStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.REQUEST_STATUS);
mapDropDown.put(19, requestStatus); mapDropDown.put(20, requestStatus);
String[] inventoryStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.INVENTORY_STATUS); String[] inventoryStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.INVENTORY_STATUS);
mapDropDown.put(32, inventoryStatus); mapDropDown.put(33, inventoryStatus);
String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM); String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM);
mapDropDown.put(43, uom); mapDropDown.put(44, uom);
List<DeliverRequestMainExcelVO> resultList = new ArrayList<>(); List<DeliverRequestMainExcelVO> resultList = new ArrayList<>();
// 导出 // 导出
for(DeliverRequestMainDO mainDO : list) { for(DeliverRequestMainDO mainDO : list) {
@ -229,16 +229,57 @@ public class DeliverRequestMainController {
return resultList; return resultList;
} }
@GetMapping("/page111") @PutMapping("/close")
public HashMap<String, String> demo(){ @Operation(summary = "关闭发货申请申请主")
String batch = "BatchType\":\"1\", \"BatchFormat\":\"yyyyMMdd\", \"BatchDirection\":\"0\""; @Parameter(name = "id", description = "编号", required = true)
HashMap<String, String> batchRuleMap = new HashMap<>(); @PreAuthorize("@ss.hasPermission('wms:deliver-request-main:close')")
String result = batch.replace("\"", ""); public CommonResult<Boolean> closeDeliverRequestMain(@RequestParam("id") Long id) {
String[] split = result.split(","); Integer count = deliverRequestMainService.closeDeliverRequestMain(id);
for (String s : split) { return success(count > 0);
String[] split1 = s.split(":"); }
batchRuleMap.put(split1[0],split1[1]);
@PutMapping("/reAdd")
@Operation(summary = "重新添加发货申请申请主")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('wms:deliver-request-main:reAdd')")
public CommonResult<Boolean> reAddDeliverRequestMain(@RequestParam("id") Long id) {
Integer count = deliverRequestMainService.reAddDeliverRequestMain(id);
return success(count > 0);
}
@PutMapping("/submit")
@Operation(summary = "提交发货申请申请主")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('wms:deliver-request-main:submit')")
public CommonResult<Boolean> submitDeliverRequestMain(@RequestParam("id") Long id) {
Integer count = deliverRequestMainService.submitDeliverRequestMain(id);
return success(count > 0);
}
@PutMapping("/agree")
@Operation(summary = "审批通过发货申请申请主")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('wms:deliver-request-main:agree')")
public CommonResult<Boolean> agreeDeliverRequestMain(@RequestParam("id") Long id) {
Integer count = deliverRequestMainService.agreeDeliverRequestMain(id);
return success(count > 0);
}
@PutMapping("/handle")
@Operation(summary = "处理发货申请申请主")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('wms:deliver-request-main:handle')")
public CommonResult<Boolean> handleDeliverRequestMain(@RequestParam("id") Long id) {
Integer count = deliverRequestMainService.handleDeliverRequestMain(id);
return success(count > 0);
} }
return batchRuleMap;
@PutMapping("/refused")
@Operation(summary = "审批拒绝发货申请申请主")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('wms:deliver-request-main:refused')")
public CommonResult<Boolean> abortDeliverRequestMain(@RequestParam("id") Long id) {
Integer count = deliverRequestMainService.abortDeliverRequestMain(id);
return success(count > 0);
} }
} }

9
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/deliverRequest/vo/DeliverRequestMainExcelVO.java

@ -23,6 +23,9 @@ import com.win.framework.excel.core.convert.DictConvert;
@Data @Data
public class DeliverRequestMainExcelVO { public class DeliverRequestMainExcelVO {
@ExcelProperty("单据号")
private String number;
@ExcelProperty("发货计划单号") @ExcelProperty("发货计划单号")
private String deliverPlanNumber; private String deliverPlanNumber;
@ -42,8 +45,7 @@ public class DeliverRequestMainExcelVO {
@DictFormat("transfer_mode") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 @DictFormat("transfer_mode") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
private String transferMode; private String transferMode;
@ExcelProperty(value = "车牌号", converter = DictConvert.class) @ExcelProperty("车牌号")
@DictFormat("vehicle_plate_number") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
private String vehiclePlateNumber; private String vehiclePlateNumber;
@ExcelProperty("从仓库代码") @ExcelProperty("从仓库代码")
@ -59,9 +61,6 @@ public class DeliverRequestMainExcelVO {
@ExcelProperty("从库区代码范围") @ExcelProperty("从库区代码范围")
private String fromAreaCodes; private String fromAreaCodes;
@ExcelProperty("单据号")
private String number;
@ExcelProperty("业务类型") @ExcelProperty("业务类型")
private String businessType; private String businessType;

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/deliverRequest/DeliverRequestDetailDO.java

@ -43,7 +43,6 @@ public class DeliverRequestDetailDO extends BaseDO {
/** /**
* 包装号 * 包装号
*/ */
@NotBlank
private String packingNumber; private String packingNumber;
/** /**
* 器具号 * 器具号
@ -52,14 +51,12 @@ public class DeliverRequestDetailDO extends BaseDO {
/** /**
* 批次 * 批次
*/ */
@NotBlank
private String batch; private String batch;
/** /**
* 库存状态 * 库存状态
* *
* 枚举 {@link TODO inventory_status 对应的类} * 枚举 {@link TODO inventory_status 对应的类}
*/ */
@NotBlank
private String inventoryStatus; private String inventoryStatus;
/** /**
* 到货主代码 * 到货主代码

1
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/deliverRequest/DeliverRequestMainDO.java

@ -64,7 +64,6 @@ public class DeliverRequestMainDO extends BaseDO {
/** /**
* 从仓库代码 * 从仓库代码
*/ */
@NotBlank
private String fromWarehouseCode; private String fromWarehouseCode;
/** /**
* 到仓库代码 * 到仓库代码

4
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/deliverRequest/DeliverRequestDetailMapper.java

@ -22,7 +22,7 @@ public interface DeliverRequestDetailMapper extends BaseMapperX<DeliverRequestDe
default PageResult<DeliverRequestDetailDO> selectPage(DeliverRequestDetailPageReqVO reqVO) { default PageResult<DeliverRequestDetailDO> selectPage(DeliverRequestDetailPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<DeliverRequestDetailDO>() return selectPage(reqVO, new LambdaQueryWrapperX<DeliverRequestDetailDO>()
.eq(DeliverRequestDetailDO::getMasterId, reqVO.getMasterId()) .eqIfPresent(DeliverRequestDetailDO::getMasterId, reqVO.getMasterId())
.eqIfPresent(DeliverRequestDetailDO::getSoNumber, reqVO.getSoNumber()) .eqIfPresent(DeliverRequestDetailDO::getSoNumber, reqVO.getSoNumber())
.eqIfPresent(DeliverRequestDetailDO::getSoLine, reqVO.getSoLine()) .eqIfPresent(DeliverRequestDetailDO::getSoLine, reqVO.getSoLine())
.eqIfPresent(DeliverRequestDetailDO::getPackingNumber, reqVO.getPackingNumber()) .eqIfPresent(DeliverRequestDetailDO::getPackingNumber, reqVO.getPackingNumber())
@ -54,7 +54,7 @@ public interface DeliverRequestDetailMapper extends BaseMapperX<DeliverRequestDe
default List<DeliverRequestDetailDO> selectList(DeliverRequestDetailExportReqVO reqVO) { default List<DeliverRequestDetailDO> selectList(DeliverRequestDetailExportReqVO reqVO) {
return selectList(new LambdaQueryWrapperX<DeliverRequestDetailDO>() return selectList(new LambdaQueryWrapperX<DeliverRequestDetailDO>()
.eq(DeliverRequestDetailDO::getMasterId, reqVO.getMasterId()) .eqIfPresent(DeliverRequestDetailDO::getMasterId, reqVO.getMasterId())
.eqIfPresent(DeliverRequestDetailDO::getSoNumber, reqVO.getSoNumber()) .eqIfPresent(DeliverRequestDetailDO::getSoNumber, reqVO.getSoNumber())
.eqIfPresent(DeliverRequestDetailDO::getSoLine, reqVO.getSoLine()) .eqIfPresent(DeliverRequestDetailDO::getSoLine, reqVO.getSoLine())
.eqIfPresent(DeliverRequestDetailDO::getPackingNumber, reqVO.getPackingNumber()) .eqIfPresent(DeliverRequestDetailDO::getPackingNumber, reqVO.getPackingNumber())

43
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/deliverRequest/DeliverRequestMainService.java

@ -90,13 +90,54 @@ public interface DeliverRequestMainService {
*/ */
List<DeliverRequestMainDO> getDeliverPlanMainList(CustomConditions conditions); List<DeliverRequestMainDO> getDeliverPlanMainList(CustomConditions conditions);
/**
* 导入
* @param datas
* @param mode
* @param updatePart
* @return
*/
public List<DeliverRequestImportErrorVO> importDeliverRequestList(List<DeliverRequestMainCreateReqVO> datas, Integer mode, boolean updatePart); public List<DeliverRequestImportErrorVO> importDeliverRequestList(List<DeliverRequestMainCreateReqVO> datas, Integer mode, boolean updatePart);
/**
* 关闭
* @param id
* @return
*/
public Integer closeDeliverRequestMain(Long id); public Integer closeDeliverRequestMain(Long id);
/**
* 重新添加
* @param id
* @return
*/
public Integer reAddDeliverRequestMain(Long id); public Integer reAddDeliverRequestMain(Long id);
/**
* 提交
* @param id
* @return
*/
public Integer submitDeliverRequestMain(Long id); public Integer submitDeliverRequestMain(Long id);
/**
* 审批通过
* @param id
* @return
*/
public Integer agreeDeliverRequestMain(Long id); public Integer agreeDeliverRequestMain(Long id);
/**
* 执行
* @param id
* @return
*/
public Integer handleDeliverRequestMain(Long id); public Integer handleDeliverRequestMain(Long id);
/**
* 审批驳回
* @param id
* @return
*/
public Integer abortDeliverRequestMain(Long id); public Integer abortDeliverRequestMain(Long id);
} }

286
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/deliverRequest/DeliverRequestMainServiceImpl.java

@ -1,6 +1,7 @@
package com.win.module.wms.service.deliverRequest; package com.win.module.wms.service.deliverRequest;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.exceptions.UtilException;
import com.win.framework.common.exception.ServiceException; 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.util.validation.ValidationUtils; import com.win.framework.common.util.validation.ValidationUtils;
@ -20,6 +21,8 @@ import com.win.module.wms.convert.deliverJob.DeliverJobMainConvert;
import com.win.module.wms.dal.dataobject.balance.BalanceDO; import com.win.module.wms.dal.dataobject.balance.BalanceDO;
import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO; import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO;
import com.win.module.wms.dal.dataobject.customerdock.CustomerdockDO; import com.win.module.wms.dal.dataobject.customerdock.CustomerdockDO;
import com.win.module.wms.dal.dataobject.deliverPlan.DeliverPlanDetailDO;
import com.win.module.wms.dal.dataobject.deliverPlan.DeliverPlanMainDO;
import com.win.module.wms.dal.dataobject.deliverRequest.DeliverRequestDetailDO; import com.win.module.wms.dal.dataobject.deliverRequest.DeliverRequestDetailDO;
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.deliverRequest.DeliverRequestMainDO; import com.win.module.wms.dal.dataobject.deliverRequest.DeliverRequestMainDO;
@ -40,6 +43,8 @@ import com.win.module.wms.enums.request.RequestStatusEnum;
import com.win.module.wms.enums.request.RequestStatusState; import com.win.module.wms.enums.request.RequestStatusState;
import com.win.module.wms.service.customer.*; import com.win.module.wms.service.customer.*;
import com.win.module.wms.service.customerdock.*; import com.win.module.wms.service.customerdock.*;
import com.win.module.wms.service.deliverPlan.DeliverPlanDetailService;
import com.win.module.wms.service.deliverPlan.DeliverPlanMainService;
import com.win.module.wms.service.expectout.ExpectoutService; import com.win.module.wms.service.expectout.ExpectoutService;
import com.win.module.wms.service.itembasic.ItembasicService; import com.win.module.wms.service.itembasic.ItembasicService;
import com.win.module.wms.service.jobsetting.JobsettingService; import com.win.module.wms.service.jobsetting.JobsettingService;
@ -53,6 +58,7 @@ import javax.validation.Validator;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.*; import java.util.*;
import com.win.framework.common.pojo.PageResult; import com.win.framework.common.pojo.PageResult;
@ -97,9 +103,16 @@ public class DeliverRequestMainServiceImpl implements DeliverRequestMainService
@Resource @Resource
private DictDataApi dictDataApi; private DictDataApi dictDataApi;
@Resource @Resource
private CustomerService customerService; private CustomerService customerService;
@Resource
private DeliverPlanMainService deliverPlanMainService;
@Resource
private DeliverPlanDetailService deliverPlanDetailService;
@Resource @Resource
private CustomerdockService customerdockService; private CustomerdockService customerdockService;
@ -208,7 +221,7 @@ public class DeliverRequestMainServiceImpl implements DeliverRequestMainService
return deliverRequestMainMapper.selectSeniorList(conditions); return deliverRequestMainMapper.selectSeniorList(conditions);
} }
// @Override //关闭
@Override @Override
public Integer closeDeliverRequestMain(Long id) { public Integer closeDeliverRequestMain(Long id) {
// 校验存在存在下级单据 // 校验存在存在下级单据
@ -227,6 +240,7 @@ public class DeliverRequestMainServiceImpl implements DeliverRequestMainService
return deliverRequestMainMapper.updateById(mainDO); return deliverRequestMainMapper.updateById(mainDO);
} }
//打开
@Override @Override
@Transactional @Transactional
public Integer reAddDeliverRequestMain(Long id) { public Integer reAddDeliverRequestMain(Long id) {
@ -246,7 +260,7 @@ public class DeliverRequestMainServiceImpl implements DeliverRequestMainService
return deliverRequestMainMapper.updateById(mainDO); return deliverRequestMainMapper.updateById(mainDO);
} }
// @Override //提交
@Transactional @Transactional
@Override @Override
public Integer submitDeliverRequestMain(Long id) { public Integer submitDeliverRequestMain(Long id) {
@ -265,7 +279,7 @@ public class DeliverRequestMainServiceImpl implements DeliverRequestMainService
return deliverRequestMainMapper.updateById(mainDO); return deliverRequestMainMapper.updateById(mainDO);
} }
// @Override //审批同意
@Transactional @Transactional
@Override @Override
public Integer agreeDeliverRequestMain(Long id) { public Integer agreeDeliverRequestMain(Long id) {
@ -285,7 +299,7 @@ public class DeliverRequestMainServiceImpl implements DeliverRequestMainService
return deliverRequestMainMapper.updateById(mainDO); return deliverRequestMainMapper.updateById(mainDO);
} }
// @Override //执行
@Transactional @Transactional
@Override @Override
public Integer handleDeliverRequestMain(Long id) { public Integer handleDeliverRequestMain(Long id) {
@ -303,7 +317,7 @@ public class DeliverRequestMainServiceImpl implements DeliverRequestMainService
return deliverRequestMainMapper.updateById(mainDO); return deliverRequestMainMapper.updateById(mainDO);
} }
// @Override //审批拒绝
@Transactional @Transactional
@Override @Override
public Integer abortDeliverRequestMain(Long id) { public Integer abortDeliverRequestMain(Long id) {
@ -319,100 +333,21 @@ public class DeliverRequestMainServiceImpl implements DeliverRequestMainService
return deliverRequestMainMapper.updateById(mainDO); return deliverRequestMainMapper.updateById(mainDO);
} }
/** //导入校验主表方法集合
* 生成采购收货任务不要改动事务传播方式否则会有事务问题
* @param mainDO 采购收货主
* @param detailDOList 采购收货子
*/
private void generateJob(DeliverRequestMainDO mainDO, List<DeliverRequestDetailDO> detailDOList) {
DeliverJobMainDO deliverJobMainDO = DeliverJobMainConvert.INSTANCE.convert(mainDO);
BeanUtils.copyProperties(mainDO, deliverJobMainDO);
deliverJobMainDO.setRequestNumber(mainDO.getNumber());
deliverJobMainDO.setStatus(JobStatusEnum.PENDING.getCode());
String number = serialNumberApi.generateCode(RuleCodeEnum.DELIVER_JOB.getCode());
deliverJobMainDO.setNumber(number);
deliverJobMainDO.setId(null);
deliverJobMainDO.setRequestTime(mainDO.getRequestTime());
deliverJobMainDO.setRequestDueTime(mainDO.getDueTime());
deliverJobMainDO.setCreator(null);
deliverJobMainDO.setCreateTime(null);
deliverJobMainDO.setUpdater(null);
deliverJobMainDO.setUpdateTime(null);
// 获取任务单据设置
JobsettingDO jobsettingDO = jobsettingService.selectJobsettingExist("DeliverJob");
deliverJobMainDO.setAutoComplete(jobsettingDO.getAutoComplete());
deliverJobMainDO.setAllowModifyLocation(jobsettingDO.getAllowModifyLocation());
deliverJobMainDO.setAllowModifyQty(jobsettingDO.getAllowModifyQty());
deliverJobMainDO.setAllowBiggerQty(jobsettingDO.getAllowBiggerQty());
deliverJobMainDO.setAllowSmallerQty(jobsettingDO.getAllowSmallerQty());
deliverJobMainDO.setAllowModifyInventoryStatus(jobsettingDO.getAllowModifyInventoryStatus());
deliverJobMainDO.setAllowContinuousScanning(jobsettingDO.getAllowContinuousScanning());
deliverJobMainDO.setAllowPartialComplete(jobsettingDO.getAllowPartialComplete());
deliverJobMainDO.setAllowModifyPackingNumber(jobsettingDO.getAllowModifyPackingNumber());
deliverJobMainDO.setAllowModifyBatch(jobsettingDO.getAllowModifyBach());
//增加业务类型
BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("DeliverJob");
deliverJobMainDO.setBusinessType(businesstypeDO.getCode());
deliverJobMainMapper.insert(deliverJobMainDO);
List<ExpectoutCreateReqVO> expectpoutCreateReqVOList = new ArrayList<>();
List<DeliverJobDetailDO> deliverJobDetailDOList = new ArrayList<>();
detailDOList.forEach(item -> {
// 根据批次策略/下架策略 返回 库存余额DO
List<BalanceDO> balanceDOListJob = jobUtils.getBalanceByBatchOffShelf(item.getItemCode(),"OK",item.getProjectCode(),item.getQty(),mainDO.getFromLocationTypes());
// 根据 查询出所需数据 解析成 任务子表数据
balanceDOListJob.forEach(balanceDOItem -> {
DeliverJobDetailDO deliverJobDetailDo = new DeliverJobDetailDO();
BeanUtils.copyProperties(item, deliverJobDetailDo);
deliverJobDetailDo.setId(null);
deliverJobDetailDo.setCreateTime(null);
deliverJobDetailDo.setCreator(null);
deliverJobDetailDo.setUpdateTime(null);
deliverJobDetailDo.setUpdater(null);
deliverJobDetailDo.setProjectCode(item.getProjectCode());
deliverJobDetailDo.setPackingNumber(balanceDOItem.getPackingNumber());
deliverJobDetailDo.setContainerNumber(balanceDOItem.getContainerNumber());
deliverJobDetailDo.setBatch(balanceDOItem.getBatch());
deliverJobDetailDo.setFromLocationCode(balanceDOItem.getLocationCode());
deliverJobDetailDo.setToLocationCode(item.getToLocationCode());
deliverJobDetailDo.setItemCode(item.getItemCode());
deliverJobDetailDo.setItemName(item.getItemName());
deliverJobDetailDo.setItemDesc1(item.getItemDesc1());
deliverJobDetailDo.setItemDesc2(item.getItemDesc2());
deliverJobDetailDo.setProjectCode(item.getProjectCode());
deliverJobDetailDo.setQty(item.getQty());
deliverJobDetailDo.setUom(item.getUom());
deliverJobDetailDo.setNumber(deliverJobMainDO.getNumber());
deliverJobDetailDo.setMasterId(deliverJobMainDO.getId());
deliverJobDetailDo.setInventoryStatus(item.getInventoryStatus());
deliverJobDetailDOList.add(deliverJobDetailDo);
//预计出
ExpectoutCreateReqVO expectoutCreateReqVO = new ExpectoutCreateReqVO();
BeanUtils.copyProperties(deliverJobDetailDo, expectoutCreateReqVO);
expectoutCreateReqVO.setJobNumber(number);
expectoutCreateReqVO.setBusinessType(deliverJobMainDO.getBusinessType());
expectoutCreateReqVO.setLocationCode(deliverJobDetailDo.getFromLocationCode());
expectoutCreateReqVO.setBatch(deliverJobDetailDo.getBatch());
expectoutCreateReqVO.setOwnerCode(deliverJobDetailDo.getOwnerCode());
expectoutCreateReqVO.setQty(deliverJobDetailDo.getQty());
expectoutCreateReqVO.setInventoryStatus("OK");
expectpoutCreateReqVOList.add(expectoutCreateReqVO);
});
});
deliverJobDetailMapper.insertBatch(deliverJobDetailDOList);
//增加预计入
expectoutService.createExpectout(expectpoutCreateReqVOList);
trendsApi.createTrends(deliverJobMainDO.getId(), "DeliverJob", "成品发货申请生成成品发货任务", TrendsTypeEnum.CREATE);
}
private String validateDeliverRequestMainImport(DeliverRequestMainDO mainDo, BusinesstypeDO businesstypeDO) { private String validateDeliverRequestMainImport(DeliverRequestMainDO mainDo, BusinesstypeDO businesstypeDO) {
StringBuilder message = new StringBuilder(); StringBuilder message = new StringBuilder();
try{ try{
validatorcustomercode(mainDo.getCustomerCode()); validatorDeliverPlanExist(mainDo.getDeliverPlanNumber());
} catch (Exception ex) {
message.append(ex.getMessage()).append(",");
}
try{
validatorCustomercode(mainDo.getCustomerCode());
} catch (Exception ex) { } catch (Exception ex) {
message.append(ex.getMessage()).append(","); message.append(ex.getMessage()).append(",");
} }
try{ try{
CustomerdockDO customerdockDO = validatorcustomerDockCode(mainDo.getCustomerCode(),mainDo.getCustomerDockCode()); CustomerdockDO customerdockDO = validatorCustomerDockCode(mainDo.getCustomerCode(),mainDo.getCustomerDockCode());
if(customerdockDO == null){ if(customerdockDO == null){
message.append("未查找到客户" + mainDo.getCustomerCode() + "与" + "客户月台" + mainDo.getCustomerDockCode() + "相关的数据"); message.append("未查找到客户" + mainDo.getCustomerCode() + "与" + "客户月台" + mainDo.getCustomerDockCode() + "相关的数据");
}else { }else {
@ -449,15 +384,20 @@ public class DeliverRequestMainServiceImpl implements DeliverRequestMainService
} }
return message.toString(); return message.toString();
} }
//导入校验子表方法集合
private String validateIssueRequestDetailImport(DeliverRequestDetailDO detailDo) { private String validateIssueRequestDetailImport(DeliverRequestMainDO mainDo, DeliverRequestDetailDO detailDo,BusinesstypeDO businesstypeDO) {
StringBuilder message = new StringBuilder(); StringBuilder message = new StringBuilder();
try { try {
ItembasicDO itembasicDO = validatoritemcode(detailDo.getItemCode()); ItembasicDO itembasicDO = validatorItemcode(detailDo.getItemCode());
detailDo.setItemDesc1(itembasicDO.getDesc1()); detailDo.setItemDesc1(itembasicDO.getDesc1());
detailDo.setItemDesc2(itembasicDO.getDesc2()); detailDo.setItemDesc2(itembasicDO.getDesc2());
detailDo.setItemName(itembasicDO.getName()); detailDo.setItemName(itembasicDO.getName());
detailDo.setProjectCode(itembasicDO.getProject()); detailDo.setProjectCode(itembasicDO.getProject());
if("TRUE".equals(businesstypeDO.getUseOnTheWay())){
detailDo.setToLocationCode("CUST");
}else {
detailDo.setToLocationCode(null);
}
try{ try{
Isuom(itembasicDO.getUom(),detailDo.getUom()); Isuom(itembasicDO.getUom(),detailDo.getUom());
}catch (Exception ex) { }catch (Exception ex) {
@ -479,6 +419,11 @@ public class DeliverRequestMainServiceImpl implements DeliverRequestMainService
// }catch (Exception ex) { // }catch (Exception ex) {
// message.append(ex.getMessage()).append(","); // message.append(ex.getMessage()).append(",");
// } // }
try {
validatorIfPlanQtyBigThanShipedQty(mainDo.getDeliverPlanNumber(),detailDo.getItemCode());
} catch (Exception ex) {
message.append(ex.getMessage()).append(",");
}
try { try {
ValidationUtils.validate(validator, detailDo); ValidationUtils.validate(validator, detailDo);
} catch (Exception ex) { } catch (Exception ex) {
@ -487,6 +432,8 @@ public class DeliverRequestMainServiceImpl implements DeliverRequestMainService
return message.toString(); return message.toString();
} }
//导入
@Override @Override
@Transactional @Transactional
public List<DeliverRequestImportErrorVO> importDeliverRequestList(List<DeliverRequestMainCreateReqVO> datas, Integer mode, boolean updatePart){ public List<DeliverRequestImportErrorVO> importDeliverRequestList(List<DeliverRequestMainCreateReqVO> datas, Integer mode, boolean updatePart){
@ -503,13 +450,14 @@ public class DeliverRequestMainServiceImpl implements DeliverRequestMainService
// 是否有错误数据 // 是否有错误数据
boolean flag = true; boolean flag = true;
for (DeliverRequestDetailDO detailDO : subDOList) { for (DeliverRequestDetailDO detailDO : subDOList) {
String messageDetail = validateIssueRequestDetailImport(detailDO); String messageDetail = validateIssueRequestDetailImport(mainDo,detailDO,businesstypeDO);
if (!messageMain.isEmpty() || !messageDetail.isEmpty()) { if (!messageMain.isEmpty() || !messageDetail.isEmpty()) {
DeliverRequestImportErrorVO importErrorVO = DeliverRequestMainConvert.INSTANCE.convert(createReqVO, detailDO); DeliverRequestImportErrorVO importErrorVO = DeliverRequestMainConvert.INSTANCE.convert(createReqVO, detailDO);
importErrorVO.setImportStatus("失败"); importErrorVO.setImportStatus("失败");
messageMain = messageMain + messageDetail; messageMain = messageMain + messageDetail;
importErrorVO.setImportRemark(messageMain.substring(0, messageMain.length() - 1)); importErrorVO.setImportRemark(messageMain.substring(0, messageMain.length() - 1));
errorList.add(importErrorVO); errorList.add(importErrorVO);
messageMain = "";
flag = false; flag = false;
} }
} }
@ -529,12 +477,14 @@ public class DeliverRequestMainServiceImpl implements DeliverRequestMainService
return errorList; return errorList;
} }
//新增时校验主子表方法
private DeliverRequestMainDO validatorToCreate(DeliverRequestMainCreateReqVO createReqVO, BusinesstypeDO businesstypeDO, RequestsettingDO requestsettingDO) { private DeliverRequestMainDO validatorToCreate(DeliverRequestMainCreateReqVO createReqVO, BusinesstypeDO businesstypeDO, RequestsettingDO requestsettingDO) {
DeliverRequestMainDO deliverRequestMainDO = validateMainMethod(createReqVO,businesstypeDO,requestsettingDO); DeliverRequestMainDO deliverRequestMainDO = validateMainMethod(createReqVO,businesstypeDO,requestsettingDO);
List<DeliverRequestDetailCreateReqVO> subList = createReqVO.getSubList(); List<DeliverRequestDetailCreateReqVO> subList = createReqVO.getSubList();
List<DeliverRequestDetailDO> subDOList = DeliverRequestDetailConvert.INSTANCE.convertList03(subList); List<DeliverRequestDetailDO> subDOList = DeliverRequestDetailConvert.INSTANCE.convertList03(subList);
for (DeliverRequestDetailDO deliverRequestDetailDO : subDOList) { for (DeliverRequestDetailDO deliverRequestDetailDO : subDOList) {
validateDetailMethod(deliverRequestDetailDO); validatorIfPlanQtyBigThanShipedQty(deliverRequestMainDO.getDeliverPlanNumber(),deliverRequestDetailDO.getItemCode());
validateDetailMethod(deliverRequestDetailDO,businesstypeDO);
} }
String number = serialNumberApi.generateCode(RuleCodeEnum.DELIVER_REQUEST.getCode()); String number = serialNumberApi.generateCode(RuleCodeEnum.DELIVER_REQUEST.getCode());
deliverRequestMainDO.setNumber(number); deliverRequestMainDO.setNumber(number);
@ -548,10 +498,11 @@ public class DeliverRequestMainServiceImpl implements DeliverRequestMainService
return deliverRequestMainDO; return deliverRequestMainDO;
} }
//主表校验方法
private DeliverRequestMainDO validateMainMethod(DeliverRequestMainBaseVO baseVO ,BusinesstypeDO businesstypeDO, RequestsettingDO requestsettingDO){ private DeliverRequestMainDO validateMainMethod(DeliverRequestMainBaseVO baseVO ,BusinesstypeDO businesstypeDO, RequestsettingDO requestsettingDO){
DeliverRequestMainDO deliverRequestMainDO = DeliverRequestMainConvert.INSTANCE.convert(baseVO); DeliverRequestMainDO deliverRequestMainDO = DeliverRequestMainConvert.INSTANCE.convert(baseVO);
validatorcustomercode(deliverRequestMainDO.getCustomerCode()); validatorCustomercode(deliverRequestMainDO.getCustomerCode());
CustomerdockDO customerdockDO = validatorcustomerDockCode(deliverRequestMainDO.getCustomerCode(),deliverRequestMainDO.getCustomerDockCode()); CustomerdockDO customerdockDO = validatorCustomerDockCode(deliverRequestMainDO.getCustomerCode(),deliverRequestMainDO.getCustomerDockCode());
if(customerdockDO == null){ if(customerdockDO == null){
deliverRequestMainDO.setToWarehouseCode(null); deliverRequestMainDO.setToWarehouseCode(null);
}else { }else {
@ -569,42 +520,161 @@ public class DeliverRequestMainServiceImpl implements DeliverRequestMainService
deliverRequestMainDO.setToLocationTypes(businesstypeDO.getInLocationTypes()); deliverRequestMainDO.setToLocationTypes(businesstypeDO.getInLocationTypes());
deliverRequestMainDO.setFromAreaCodes(businesstypeDO.getOutAreaCodes()); deliverRequestMainDO.setFromAreaCodes(businesstypeDO.getOutAreaCodes());
deliverRequestMainDO.setToAreaCodes(businesstypeDO.getInAreaCodes()); deliverRequestMainDO.setToAreaCodes(businesstypeDO.getInAreaCodes());
deliverRequestMainDO.setToAreaCodes(businesstypeDO.getInAreaCodes());
return deliverRequestMainDO; return deliverRequestMainDO;
} }
private DeliverRequestDetailDO validateDetailMethod(DeliverRequestDetailDO deliverRequestDetailDO) { //子表校验方法
ItembasicDO itembasicDO = validatoritemcode(deliverRequestDetailDO.getItemCode()); private DeliverRequestDetailDO validateDetailMethod(DeliverRequestDetailDO deliverRequestDetailDO,BusinesstypeDO businesstypeDO) {
ItembasicDO itembasicDO = validatorItemcode(deliverRequestDetailDO.getItemCode());
deliverRequestDetailDO.setItemDesc1(itembasicDO.getDesc1()); deliverRequestDetailDO.setItemDesc1(itembasicDO.getDesc1());
deliverRequestDetailDO.setItemDesc2(itembasicDO.getDesc2()); deliverRequestDetailDO.setItemDesc2(itembasicDO.getDesc2());
deliverRequestDetailDO.setItemName(itembasicDO.getName()); deliverRequestDetailDO.setItemName(itembasicDO.getName());
deliverRequestDetailDO.setProjectCode(itembasicDO.getProject()); deliverRequestDetailDO.setProjectCode(itembasicDO.getProject());
Isuom(itembasicDO.getUom(),deliverRequestDetailDO.getUom()); if ("TRUE".equals(businesstypeDO.getUseOnTheWay())) {
SaleDetailDO saleDetailDO =validatorSale(deliverRequestDetailDO.getSoNumber(),deliverRequestDetailDO.getSoLine(),deliverRequestDetailDO.getItemCode()); deliverRequestDetailDO.setToLocationCode("CUST");
} else {
deliverRequestDetailDO.setToLocationCode(null);
}
Isuom(itembasicDO.getUom(), deliverRequestDetailDO.getUom());
//TODO 后续销售订单开发后再解除注释 //TODO 后续销售订单开发后再解除注释
// SaleDetailDO saleDetailDO =validatorSale(deliverRequestDetailDO.getSoNumber(),deliverRequestDetailDO.getSoLine(),deliverRequestDetailDO.getItemCode());
// if(saleDetailDO!=null) { // if(saleDetailDO!=null) {
// Isqty(saleDetailDO.getShippedQty(), deliverRequestDetailDO.getQty(), saleDetailDO.getOrderQty(), deliverRequestDetailDO.getSoNumber(), deliverRequestDetailDO.getSoLine(), deliverRequestDetailDO.getItemCode()); // Isqty(saleDetailDO.getShippedQty(), deliverRequestDetailDO.getQty(), saleDetailDO.getOrderQty(), deliverRequestDetailDO.getSoNumber(), deliverRequestDetailDO.getSoLine(), deliverRequestDetailDO.getItemCode());
// } // }
return deliverRequestDetailDO; return deliverRequestDetailDO;
} }
private void validatorcustomercode(String code){ /**
* 生成采购收货任务不要改动事务传播方式否则会有事务问题
* @param mainDO 采购收货主
* @param detailDOList 采购收货子
*/
private void generateJob(DeliverRequestMainDO mainDO, List<DeliverRequestDetailDO> detailDOList) {
DeliverJobMainDO deliverJobMainDO = DeliverJobMainConvert.INSTANCE.convert(mainDO);
BeanUtils.copyProperties(mainDO, deliverJobMainDO);
deliverJobMainDO.setRequestNumber(mainDO.getNumber());
deliverJobMainDO.setStatus(JobStatusEnum.PENDING.getCode());
String number = serialNumberApi.generateCode(RuleCodeEnum.DELIVER_JOB.getCode());
deliverJobMainDO.setNumber(number);
deliverJobMainDO.setId(null);
deliverJobMainDO.setRequestTime(mainDO.getRequestTime());
deliverJobMainDO.setRequestDueTime(mainDO.getDueTime());
deliverJobMainDO.setCreator(null);
deliverJobMainDO.setCreateTime(null);
deliverJobMainDO.setUpdater(null);
deliverJobMainDO.setUpdateTime(null);
deliverJobMainDO.setStatus("1");
// 获取任务单据设置
JobsettingDO jobsettingDO = jobsettingService.selectJobsettingExist("DeliverJob");
deliverJobMainDO.setAutoComplete(jobsettingDO.getAutoComplete());
deliverJobMainDO.setAllowModifyLocation(jobsettingDO.getAllowModifyLocation());
deliverJobMainDO.setAllowModifyQty(jobsettingDO.getAllowModifyQty());
deliverJobMainDO.setAllowBiggerQty(jobsettingDO.getAllowBiggerQty());
deliverJobMainDO.setAllowSmallerQty(jobsettingDO.getAllowSmallerQty());
deliverJobMainDO.setAllowModifyInventoryStatus(jobsettingDO.getAllowModifyInventoryStatus());
deliverJobMainDO.setAllowContinuousScanning(jobsettingDO.getAllowContinuousScanning());
deliverJobMainDO.setAllowPartialComplete(jobsettingDO.getAllowPartialComplete());
deliverJobMainDO.setAllowModifyPackingNumber(jobsettingDO.getAllowModifyPackingNumber());
deliverJobMainDO.setAllowModifyBatch(jobsettingDO.getAllowModifyBach());
//增加业务类型
BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("DeliverJob");
deliverJobMainDO.setBusinessType(businesstypeDO.getCode());
deliverJobMainDO.setInInventoryStatuses(businesstypeDO.getInInventoryStatuses());
deliverJobMainDO.setOutInventoryStatuses(businesstypeDO.getOutInventoryStatuses());
deliverJobMainMapper.insert(deliverJobMainDO);
List<ExpectoutCreateReqVO> expectpoutCreateReqVOList = new ArrayList<>();
List<DeliverJobDetailDO> deliverJobDetailDOList = new ArrayList<>();
detailDOList.forEach(item -> {
// 根据批次策略/下架策略 返回 库存余额DO
List<BalanceDO> balanceDOListJob = jobUtils.getBalanceByBatchOffShelf(item.getItemCode(),"OK",item.getProjectCode(),item.getQty(),null);
// 根据 查询出所需数据 解析成 任务子表数据
balanceDOListJob.forEach(balanceDOItem -> {
DeliverJobDetailDO deliverJobDetailDo = new DeliverJobDetailDO();
BeanUtils.copyProperties(item, deliverJobDetailDo);
deliverJobDetailDo.setId(null);
deliverJobDetailDo.setCreateTime(null);
deliverJobDetailDo.setCreator(null);
deliverJobDetailDo.setUpdateTime(null);
deliverJobDetailDo.setUpdater(null);
if("TRUE".equals(businesstypeDO.getUseOnTheWay())){
deliverJobDetailDo.setToLocationCode("FAC_INTRANS");
}else {
deliverJobDetailDo.setToLocationCode(null);
}
deliverJobDetailDo.setPackingNumber(balanceDOItem.getPackingNumber());
deliverJobDetailDo.setContainerNumber(balanceDOItem.getContainerNumber());
deliverJobDetailDo.setBatch(balanceDOItem.getBatch());
deliverJobDetailDo.setFromLocationCode(balanceDOItem.getLocationCode());
deliverJobDetailDo.setToLocationCode(item.getToLocationCode());
deliverJobDetailDo.setItemCode(item.getItemCode());
deliverJobDetailDo.setItemName(item.getItemName());
deliverJobDetailDo.setItemDesc1(item.getItemDesc1());
deliverJobDetailDo.setItemDesc2(item.getItemDesc2());
deliverJobDetailDo.setProjectCode(item.getProjectCode());
deliverJobDetailDo.setQty(item.getQty());
deliverJobDetailDo.setUom(item.getUom());
deliverJobDetailDo.setNumber(deliverJobMainDO.getNumber());
deliverJobDetailDo.setMasterId(deliverJobMainDO.getId());
deliverJobDetailDo.setInventoryStatus(balanceDOItem.getInventoryStatus());
deliverJobDetailDOList.add(deliverJobDetailDo);
//预计出
ExpectoutCreateReqVO expectoutCreateReqVO = new ExpectoutCreateReqVO();
BeanUtils.copyProperties(deliverJobDetailDo, expectoutCreateReqVO);
expectoutCreateReqVO.setJobNumber(number);
expectoutCreateReqVO.setBusinessType(deliverJobMainDO.getBusinessType());
expectoutCreateReqVO.setLocationCode(deliverJobDetailDo.getFromLocationCode());
expectoutCreateReqVO.setBatch(deliverJobDetailDo.getBatch());
expectoutCreateReqVO.setOwnerCode(deliverJobDetailDo.getOwnerCode());
expectoutCreateReqVO.setQty(deliverJobDetailDo.getQty());
expectoutCreateReqVO.setInventoryStatus(balanceDOItem.getInventoryStatus());
expectpoutCreateReqVOList.add(expectoutCreateReqVO);
});
});
deliverJobDetailMapper.insertBatch(deliverJobDetailDOList);
//增加预计入
expectoutService.createExpectout(expectpoutCreateReqVOList);
trendsApi.createTrends(deliverJobMainDO.getId(), "DeliverJob", "成品发货申请生成成品发货任务", TrendsTypeEnum.CREATE);
}
//校验发货计划是否存在
private DeliverPlanMainDO validatorDeliverPlanExist(String code){
return deliverPlanMainService.selectDeliverPlanExist(code);
}
//校验客户是否存在
private void validatorCustomercode(String code){
customerService.selectCustomerExist(code); customerService.selectCustomerExist(code);
} }
private CustomerdockDO validatorcustomerDockCode(String customerCode,String customerDockCode){ //校验客户月台是否存在
private CustomerdockDO validatorCustomerDockCode(String customerCode,String customerDockCode){
return customerdockService.getCustomerdockByCustomerCode(customerCode,customerDockCode); return customerdockService.getCustomerdockByCustomerCode(customerCode,customerDockCode);
} }
private ItembasicDO validatoritemcode(String code){ //校验物品代码是否存在
private ItembasicDO validatorItemcode(String code){
ItembasicDO itembasicDO = itembasicService.selectItembasic(code); ItembasicDO itembasicDO = itembasicService.selectItembasic(code);
return itembasicDO; return itembasicDO;
} }
//校验发货计划数量是否大于已发货数量
private void validatorIfPlanQtyBigThanShipedQty(String number,String itemCode){
DeliverPlanDetailDO deliverPlanDetailDO = deliverPlanDetailService.selectDeliverPlanDetail(number, itemCode);
BigDecimal planQty = deliverPlanDetailDO.getPlanQty();
BigDecimal shippedQty = deliverPlanDetailDO.getShippedQty();
if(shippedQty.compareTo(planQty) == 1){
throw new UtilException("发货计划" + deliverPlanDetailDO.getNumber() + "的已发货数量" + shippedQty + "大于" + "计划数量" + planQty + ",超出了" + shippedQty.subtract(planQty));
}
}
//校验销售订单明细
private SaleDetailDO validatorSale(String SoNumber,String SoLine,String ItemCode ){ private SaleDetailDO validatorSale(String SoNumber,String SoLine,String ItemCode ){
SaleDetailDO saleDetailDO =deliverJobMainService.saleDetailExist(SoNumber,SoLine,ItemCode ); SaleDetailDO saleDetailDO =deliverJobMainService.saleDetailExist(SoNumber,SoLine,ItemCode );
return saleDetailDO; return saleDetailDO;
} }
//校验单位是否正确
private String Isuom(String uom1, String uom2) { private String Isuom(String uom1, String uom2) {
DictDataRespDTO dictDataRespDTO = dictDataApi.selectDictValue(uom1); DictDataRespDTO dictDataRespDTO = dictDataApi.selectDictValue(uom1);
String value = dictDataRespDTO.getLabel(); String value = dictDataRespDTO.getLabel();
@ -613,10 +683,12 @@ public class DeliverRequestMainServiceImpl implements DeliverRequestMainService
if(value2.equals(value)){ if(value2.equals(value)){
return "ture"; return "ture";
}else { }else {
throw exception(UOM_ERROR, value2); throw exception(UOM_ERROR, value);
} }
} }
//TODO 后续销售订单开发后再解除注释 //TODO 后续销售订单开发后再解除注释
//校验发货数量与未发货数量
// private String Isqty(BigDecimal shippedqty, BigDecimal detailqty, BigDecimal orderqty, String sonumber, String soline, String itemcode) { // private String Isqty(BigDecimal shippedqty, BigDecimal detailqty, BigDecimal orderqty, String sonumber, String soline, String itemcode) {
// BigDecimal resultqty = orderqty.subtract(shippedqty); // BigDecimal resultqty = orderqty.subtract(shippedqty);
// if(resultqty.compareTo(detailqty) > 0) // if(resultqty.compareTo(detailqty) > 0)

Loading…
Cancel
Save