Browse Source

Merge remote-tracking branch 'origin/master'

master
赵雪冰 2 years ago
parent
commit
4f7c652572
  1. 23
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/rule/RuleController.java
  2. 19
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/rule/vo/PrecisionStrategyReqVO2.java
  3. 21
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/deliverJob/DeliverJobMainServiceImpl.java
  4. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productdismantleRequest/ProductdismantleRequestMainServiceImpl.java
  5. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productputawayRequest/ProductputawayRequestMainServiceImpl.java
  6. 32
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productreceiptJob/ProductreceiptJobMainServiceImpl.java
  7. 7
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/rule/RuleService.java
  8. 14
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/rule/RuleServiceImpl.java

23
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/rule/RuleController.java

@ -3,19 +3,13 @@ package com.win.module.wms.controller.rule;
import com.win.framework.common.pojo.CommonResult; import com.win.framework.common.pojo.CommonResult;
import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult; import com.win.framework.common.pojo.PageResult;
import com.win.framework.dict.core.util.DictFrameworkUtils;
import com.win.framework.excel.core.util.ExcelUtils; import com.win.framework.excel.core.util.ExcelUtils;
import com.win.framework.operatelog.core.annotations.OperateLog; import com.win.framework.operatelog.core.annotations.OperateLog;
import com.win.module.system.api.user.AdminUserApi; import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO; import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.itembasic.vo.ItembasicExcelVO;
import com.win.module.wms.controller.itembasic.vo.ItembasicExportReqVO;
import com.win.module.wms.controller.rule.vo.*; import com.win.module.wms.controller.rule.vo.*;
import com.win.module.wms.convert.itembasic.ItembasicConvert;
import com.win.module.wms.convert.rule.RuleConvert; import com.win.module.wms.convert.rule.RuleConvert;
import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO;
import com.win.module.wms.dal.dataobject.rule.RuleDO; import com.win.module.wms.dal.dataobject.rule.RuleDO;
import com.win.module.wms.enums.DictTypeConstants;
import com.win.module.wms.service.rule.RuleService; import com.win.module.wms.service.rule.RuleService;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Parameter;
@ -27,7 +21,6 @@ import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid; import javax.validation.Valid;
import java.io.IOException; import java.io.IOException;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
@ -80,6 +73,7 @@ public class RuleController {
RuleDO rule = ruleService.getRule(id); RuleDO rule = ruleService.getRule(id);
return success(RuleConvert.INSTANCE.convert(rule)); return success(RuleConvert.INSTANCE.convert(rule));
} }
@PostMapping("/senior") @PostMapping("/senior")
@Operation(summary = "高级搜索获得物品基本信息分页") @Operation(summary = "高级搜索获得物品基本信息分页")
@PreAuthorize("@ss.hasPermission('wms:rule:query')") @PreAuthorize("@ss.hasPermission('wms:rule:query')")
@ -109,17 +103,26 @@ public class RuleController {
List<HashMap<String, Object>> list = ruleService.getPrecisionStrategyByItemCodes(reqVO); List<HashMap<String, Object>> list = ruleService.getPrecisionStrategyByItemCodes(reqVO);
return success(list); return success(list);
} }
@PostMapping("/getPrecisionStrategy")
@Operation(summary = "根据零件号和库位号查询管理精度策略")
@PreAuthorize("@ss.hasPermission('wms:rule:query')")
public CommonResult<Object> getPrecisionStrategy(@Valid @RequestBody List<PrecisionStrategyReqVO2> reqVO2List) {
List<HashMap<String, Object>> list = ruleService.getPrecisionStrategy(reqVO2List);
return success(list);
}
@GetMapping("/export-excel") @GetMapping("/export-excel")
@Operation(summary = "导出规则配置 Excel") @Operation(summary = "导出规则配置 Excel")
@PreAuthorize("@ss.hasPermission('wms:rule:export')") @PreAuthorize("@ss.hasPermission('wms:rule:export')")
@OperateLog(type = EXPORT) @OperateLog(type = EXPORT)
public void exportRuleExcel(@Valid RuleExportReqVO exportReqVO, public void exportRuleExcel(@Valid RuleExportReqVO exportReqVO, HttpServletResponse response) throws IOException {
HttpServletResponse response) throws IOException {
List<RuleDO> list =ruleService.getRuleList(exportReqVO); List<RuleDO> list =ruleService.getRuleList(exportReqVO);
Map<Integer, String[]> mapDropDown = new HashMap<>(); Map<Integer, String[]> mapDropDown = new HashMap<>();
List<RuleExcelVO> resultList = this.getExcelVo(list, mapDropDown); List<RuleExcelVO> resultList = this.getExcelVo(list, mapDropDown);
ExcelUtils.write(response, "物品基本信息.xlsx", "数据", RuleExcelVO.class, resultList, mapDropDown); ExcelUtils.write(response, "物品基本信息.xlsx", "数据", RuleExcelVO.class, resultList, mapDropDown);
} }
@PostMapping("/export-excel-senior") @PostMapping("/export-excel-senior")
@Operation(summary = "导出规则配置 Excel") @Operation(summary = "导出规则配置 Excel")
@PreAuthorize("@ss.hasPermission('wms:rule:export')") @PreAuthorize("@ss.hasPermission('wms:rule:export')")
@ -130,8 +133,8 @@ public class RuleController {
List<RuleExcelVO> resultList = this.getExcelVo(list, mapDropDown); List<RuleExcelVO> resultList = this.getExcelVo(list, mapDropDown);
ExcelUtils.write(response, "物品基本信息.xlsx", "数据", RuleExcelVO.class, resultList, mapDropDown); ExcelUtils.write(response, "物品基本信息.xlsx", "数据", RuleExcelVO.class, resultList, mapDropDown);
} }
private List<RuleExcelVO> getExcelVo(List<RuleDO> list, Map<Integer, String[]> mapDropDown) {
private List<RuleExcelVO> getExcelVo(List<RuleDO> list, Map<Integer, String[]> mapDropDown) {
// 导出 Excel // 导出 Excel
List<RuleExcelVO> resultList = RuleConvert.INSTANCE.convertList02(list); List<RuleExcelVO> resultList = RuleConvert.INSTANCE.convertList02(list);
for(RuleExcelVO vo : resultList) { for(RuleExcelVO vo : resultList) {

19
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/rule/vo/PrecisionStrategyReqVO2.java

@ -0,0 +1,19 @@
package com.win.module.wms.controller.rule.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import javax.validation.constraints.NotBlank;
@Schema(description = "APP管理精度策略")
@Data
public class PrecisionStrategyReqVO2 {
@Schema(description = "物品代码")
@NotBlank(message = "物品代码不能为空")
private String itemCode;
@Schema(description = "库位代码")
@NotBlank(message = "库位代码不能为空")
private String locationCode;
}

21
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/deliverJob/DeliverJobMainServiceImpl.java

@ -258,7 +258,6 @@ public class DeliverJobMainServiceImpl implements DeliverJobMainService {
@Override @Override
@Transactional @Transactional
public String executeDeliverJobMain(DeliverJobMainUpdateReqVO deliverJobMainUpdateReqVO) { public String executeDeliverJobMain(DeliverJobMainUpdateReqVO deliverJobMainUpdateReqVO) {
BigDecimal zero = BigDecimal.ZERO;
//查询数据 //查询数据
DeliverJobMainDO deliverJobMainDO = this.validateDeliverJobMainExists(deliverJobMainUpdateReqVO.getId()); DeliverJobMainDO deliverJobMainDO = this.validateDeliverJobMainExists(deliverJobMainUpdateReqVO.getId());
List<DeliverJobDetailDO> subList = deliverJobDetailService.selectList(deliverJobMainDO.getId()); List<DeliverJobDetailDO> subList = deliverJobDetailService.selectList(deliverJobMainDO.getId());
@ -390,6 +389,26 @@ public class DeliverJobMainServiceImpl implements DeliverJobMainService {
transactionCreateReqVO.setId(null); transactionCreateReqVO.setId(null);
transactionCreateReqVO.setAmount(BigDecimal.ZERO); transactionCreateReqVO.setAmount(BigDecimal.ZERO);
transactionCreateReqVOList.add(transactionCreateReqVO); transactionCreateReqVOList.add(transactionCreateReqVO);
if(businesstypeDO.getInTransactionType() != null && "".equals(businesstypeDO.getInTransactionType())){
//添加库存事务list
TransactionCreateReqVO transactionCreateReqVOIn = new TransactionCreateReqVO();
BeanUtils.copyProperties(deliverRecordDetailDO, transactionCreateReqVO);
//增加业务类型
transactionCreateReqVOIn.setBusinessType(businesstypeDO.getCode());
TransactiontypeDO transactionCreateReqVOInDo = jobUtils.selectDocumentFromTransactionType(businesstypeDO.getInTransactionType());
transactionCreateReqVOIn.setInventoryAction(transactionCreateReqVOInDo.getInventoryAction());
transactionCreateReqVOIn.setTransactionType(transactionCreateReqVOInDo.getCode());
transactionCreateReqVOIn.setBusinessType(deliverRecordMainDO.getBusinessType());
transactionCreateReqVOIn.setLocationCode(deliverRecordDetailDO.getToLocationCode());
transactionCreateReqVOIn.setOwnerCode(deliverRecordDetailDO.getToOwnerCode());
transactionCreateReqVOIn.setRecordNumber(number);
transactionCreateReqVOIn.setBatch(deliverRecordDetailDO.getBatch());
transactionCreateReqVOIn.setPackingNumber(deliverRecordDetailDO.getPackingNumber());
transactionCreateReqVOIn.setWorker(String.valueOf(userApi.getUser(getLoginUserId()).getId()));
transactionCreateReqVOIn.setId(null);
transactionCreateReqVOIn.setAmount(BigDecimal.ZERO);
transactionCreateReqVOList.add(transactionCreateReqVOIn);
}
}); });
} }
}); });

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productdismantleRequest/ProductdismantleRequestMainServiceImpl.java

@ -251,7 +251,7 @@ public class ProductdismantleRequestMainServiceImpl implements ProductdismantleR
// 校验--工位基础信息 // 校验--工位基础信息
if(StringUtils.isNotEmpty(detailDo.getWorkStationCode())){ if(StringUtils.isNotEmpty(detailDo.getWorkStationCode())){
WorkstationDO workstationDO = workstationService.selectWorkstationExist(detailDo.getWorkStationCode(), mainDO.getWorkshopCode(), detailDo.getProductionLineCode()); WorkstationDO workstationDO = workstationService.selectWorkstationExist(detailDo.getWorkStationCode(), mainDO.getWorkshopCode(), detailDo.getProductionLineCode());
detailDo.setFromLocationCode(workstationDO.getRawLocationCode()); detailDo.setFromLocationCode(workstationDO.getFgLocationCode());
} }
// 校验--库存余额 TB——>TB1 // 校验--库存余额 TB——>TB1
validateBalance(detailDo,mainDO); validateBalance(detailDo,mainDO);

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productputawayRequest/ProductputawayRequestMainServiceImpl.java

@ -133,11 +133,12 @@ public class ProductputawayRequestMainServiceImpl implements ProductputawayReque
private TrendsApi trendsApi; private TrendsApi trendsApi;
@Override @Override
@Transactional
public Long createProductputawayRequestMain(ProductputawayRequestMainCreateReqVO createReqVO) { public Long createProductputawayRequestMain(ProductputawayRequestMainCreateReqVO createReqVO) {
ProductputawayRequestMainDO productputawayRequestMainDO = validatorToCreate(createReqVO); ProductputawayRequestMainDO productputawayRequestMainDO = validatorToCreate(createReqVO);
//调用自动执行方法 //调用自动执行方法
if(RequestStatusEnum.HANDLING.getCode().equals(productputawayRequestMainDO.getStatus())) { if(RequestStatusEnum.HANDLING.getCode().equals(productputawayRequestMainDO.getStatus())) {
this.generateJob(productputawayRequestMainDO, productputawayRequestDetailMapper.selectList(productputawayRequestMainDO.getId()));
} }
trendsApi.createTrends(productputawayRequestMainDO.getId(), "ProductputawayRequest", "增加了制品上架申请", TrendsTypeEnum.CREATE); trendsApi.createTrends(productputawayRequestMainDO.getId(), "ProductputawayRequest", "增加了制品上架申请", TrendsTypeEnum.CREATE);
return productputawayRequestMainDO.getId(); return productputawayRequestMainDO.getId();

32
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productreceiptJob/ProductreceiptJobMainServiceImpl.java

@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
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.pojo.PageResult; import com.win.framework.common.pojo.PageResult;
import com.win.framework.web.core.util.WebFrameworkUtils;
import com.win.module.infra.api.trends.TrendsApi; import com.win.module.infra.api.trends.TrendsApi;
import com.win.module.infra.enums.TrendsTypeEnum; import com.win.module.infra.enums.TrendsTypeEnum;
import com.win.module.system.api.serialnumber.SerialNumberApi; import com.win.module.system.api.serialnumber.SerialNumberApi;
@ -11,6 +12,9 @@ import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO; import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.system.enums.serialNumber.RuleCodeEnum; import com.win.module.system.enums.serialNumber.RuleCodeEnum;
import com.win.module.wms.controller.issueJob.vo.IssueJobDetailUpdateReqVO; import com.win.module.wms.controller.issueJob.vo.IssueJobDetailUpdateReqVO;
import com.win.module.wms.controller.issueRequest.vo.IssueRequestDetailCreateReqVO;
import com.win.module.wms.controller.productputawayRequest.vo.ProductputawayRequestDetailCreateReqVO;
import com.win.module.wms.controller.productputawayRequest.vo.ProductputawayRequestMainCreateReqVO;
import com.win.module.wms.controller.productreceiptJob.vo.*; import com.win.module.wms.controller.productreceiptJob.vo.*;
import com.win.module.wms.controller.transaction.vo.TransactionCreateReqVO; import com.win.module.wms.controller.transaction.vo.TransactionCreateReqVO;
import com.win.module.wms.convert.productreceiptJob.ProductreceiptJobMainConvert; import com.win.module.wms.convert.productreceiptJob.ProductreceiptJobMainConvert;
@ -46,6 +50,7 @@ import com.win.module.wms.dal.mysql.productreceiptRecord.BackflushRecordDetailbM
import com.win.module.wms.dal.mysql.productreceiptRecord.ProductreceiptRecordDetailMapper; import com.win.module.wms.dal.mysql.productreceiptRecord.ProductreceiptRecordDetailMapper;
import com.win.module.wms.dal.mysql.productreceiptRecord.ProductreceiptRecordMainMapper; import com.win.module.wms.dal.mysql.productreceiptRecord.ProductreceiptRecordMainMapper;
import com.win.module.wms.enums.job.JobStatusState; import com.win.module.wms.enums.job.JobStatusState;
import com.win.module.wms.enums.request.RequestStatusEnum;
import com.win.module.wms.service.backflushRequest.BackflushRequestDetailbService; import com.win.module.wms.service.backflushRequest.BackflushRequestDetailbService;
import com.win.module.wms.service.balance.BalanceService; import com.win.module.wms.service.balance.BalanceService;
import com.win.module.wms.service.businesstype.BusinesstypeService; import com.win.module.wms.service.businesstype.BusinesstypeService;
@ -55,6 +60,7 @@ import com.win.module.wms.service.itembasic.ItembasicService;
import com.win.module.wms.service.location.LocationService; import com.win.module.wms.service.location.LocationService;
import com.win.module.wms.service.offlinesettlementRecord.OfflinesettlementRecordMainService; import com.win.module.wms.service.offlinesettlementRecord.OfflinesettlementRecordMainService;
import com.win.module.wms.service.production.ProductionMainService; import com.win.module.wms.service.production.ProductionMainService;
import com.win.module.wms.service.productputawayRequest.ProductputawayRequestMainService;
import com.win.module.wms.service.productreceiptRequest.ProductreceiptRequestDetailService; import com.win.module.wms.service.productreceiptRequest.ProductreceiptRequestDetailService;
import com.win.module.wms.service.productreceiptRequest.ProductreceiptRequestMainService; import com.win.module.wms.service.productreceiptRequest.ProductreceiptRequestMainService;
import com.win.module.wms.service.recordsetting.RecordsettingService; import com.win.module.wms.service.recordsetting.RecordsettingService;
@ -87,6 +93,8 @@ import static com.win.module.wms.enums.ErrorCodeConstants.*;
@Validated @Validated
public class ProductreceiptJobMainServiceImpl implements ProductreceiptJobMainService { public class ProductreceiptJobMainServiceImpl implements ProductreceiptJobMainService {
@Resource
private ProductputawayRequestMainService productputawayRequestMainService;
@Resource @Resource
private OfflinesettlementRecordDetailMapper offlinesettlementRecordDetailMapper; private OfflinesettlementRecordDetailMapper offlinesettlementRecordDetailMapper;
@Resource @Resource
@ -399,12 +407,32 @@ public class ProductreceiptJobMainServiceImpl implements ProductreceiptJobMainSe
// 根据单据开关判断是否创建 制品上架申请 // 根据单据开关判断是否创建 制品上架申请
SwitchDO switchDO = switchService.selectSwitchExist("CreateProductputawayRequestAfterProductreceiptRecordCreated"); SwitchDO switchDO = switchService.selectSwitchExist("CreateProductputawayRequestAfterProductreceiptRecordCreated");
if (switchDO.getEffectiveSetValue().equals("TRUE")) { if (switchDO.getEffectiveSetValue().equals("TRUE")) {
// TODO: 创建 制品上架申请 generateProductputawayRequest(productreceiptRecordMainDO, productreceiptRecordDetailDOList);
} }
return number; return number;
} }
/**
* 创建 制品上架申请
* @param productreceiptRecordMainDO
* @param productreceiptRecordDetailDOList
*/
private void generateProductputawayRequest(ProductreceiptRecordMainDO productreceiptRecordMainDO, List<ProductreceiptRecordDetailDO> productreceiptRecordDetailDOList) {
ProductputawayRequestMainCreateReqVO productputawayRequestMainCreateReqVO = new ProductputawayRequestMainCreateReqVO();
productputawayRequestMainCreateReqVO.setStatus(RequestStatusEnum.NEW.getCode());
productputawayRequestMainCreateReqVO.setDepartmentCode(String.valueOf(userApi.getUser(WebFrameworkUtils.getLoginUserId()).getDeptId()));
List<ProductputawayRequestDetailCreateReqVO> subList = new ArrayList<>();
productreceiptRecordDetailDOList.forEach(itemDetailDO -> {
ProductputawayRequestDetailCreateReqVO productputawayRequestDetailCreateReqVO = new ProductputawayRequestDetailCreateReqVO();
productputawayRequestDetailCreateReqVO.setItemCode(itemDetailDO.getItemCode());
productputawayRequestDetailCreateReqVO.setQty(itemDetailDO.getQty());
productputawayRequestDetailCreateReqVO.setInventoryStatus(itemDetailDO.getInventoryStatus());
subList.add(productputawayRequestDetailCreateReqVO);
});
productputawayRequestMainCreateReqVO.setSubList(subList);
productputawayRequestMainService.createProductputawayRequestMain(productputawayRequestMainCreateReqVO);
}
/** /**
* 创建 回冲记录 * 创建 回冲记录
* @param productreceiptRecordMainDO * @param productreceiptRecordMainDO

7
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/rule/RuleService.java

@ -210,4 +210,11 @@ public interface RuleService {
*/ */
List<HashMap<String, Object>> getPrecisionStrategyByItemCodes(PrecisionStrategyReqVO reqVO); List<HashMap<String, Object>> getPrecisionStrategyByItemCodes(PrecisionStrategyReqVO reqVO);
/**
* 获取根据物品代码以及库位代码管理精度策略
*
* @param reqVO2List
* @return
*/
List<HashMap<String, Object>> getPrecisionStrategy(List<PrecisionStrategyReqVO2> reqVO2List);
} }

14
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/rule/RuleServiceImpl.java

@ -513,6 +513,20 @@ public class RuleServiceImpl implements RuleService {
return list; return list;
} }
@Override
public List<HashMap<String, Object>> getPrecisionStrategy(List<PrecisionStrategyReqVO2> reqVO2List) {
List<HashMap<String, Object>> list = new ArrayList<>();
for (PrecisionStrategyReqVO2 reqVO2 : reqVO2List) {
HashMap<String, Object> map = new HashMap<>();
RuleRespVO RespVO = management(null, null, reqVO2.getItemCode(), reqVO2.getLocationCode(), null, null);
JSONObject entries = JSONUtil.parseObj(RespVO.getConfiguration());
map.put("ManagementPrecision", entries.get("ManagementPrecision"));
map.put("itemCode", reqVO2.getItemCode());
list.add(map);
}
return list;
}
/** /**
* 循环校验参数 * 循环校验参数
* *

Loading…
Cancel
Save