Browse Source

修改Bug。

master
刘忱 2 years ago
parent
commit
cc1943045b
  1. 14
      win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/permission/PermissionServiceImpl.java
  2. 11
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectRequest/vo/InspectRequestMainBaseVO.java
  3. 16
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/putawayRequest/vo/PutawayRequestMainBaseVO.java
  4. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/documentsetting/DocumentsettingServiceImpl.java
  5. 9
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inspectRequest/InspectRequestMainServiceImpl.java
  6. 7
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchase/PurchaseMainServiceImpl.java
  7. 49
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptJob/PurchasereceiptJobMainServiceImpl.java
  8. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRecord/PurchasereceiptRecordMainServiceImpl.java
  9. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/putawayRequest/PutawayRequestMainServiceImpl.java
  10. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/requestsetting/RequestsettingServiceImpl.java
  11. 36
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/util/JobUtils.java

14
win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/permission/PermissionServiceImpl.java

@ -4,6 +4,9 @@ import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.util.ArrayUtil;
import cn.hutool.extra.spring.SpringUtil; import cn.hutool.extra.spring.SpringUtil;
import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Suppliers;
import com.google.common.collect.Sets;
import com.win.framework.common.enums.CommonStatusEnum; import com.win.framework.common.enums.CommonStatusEnum;
import com.win.framework.common.util.collection.CollectionUtils; import com.win.framework.common.util.collection.CollectionUtils;
import com.win.framework.datapermission.core.annotation.DataPermission; import com.win.framework.datapermission.core.annotation.DataPermission;
@ -18,10 +21,6 @@ import com.win.module.system.dal.redis.RedisKeyConstants;
import com.win.module.system.enums.permission.DataScopeEnum; import com.win.module.system.enums.permission.DataScopeEnum;
import com.win.module.system.service.dept.DeptService; import com.win.module.system.service.dept.DeptService;
import com.win.module.system.service.user.AdminUserService; import com.win.module.system.service.user.AdminUserService;
import com.baomidou.dynamic.datasource.annotation.DSTransactional;
import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Suppliers;
import com.google.common.collect.Sets;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.cache.annotation.CacheEvict; import org.springframework.cache.annotation.CacheEvict;
import org.springframework.cache.annotation.Cacheable; import org.springframework.cache.annotation.Cacheable;
@ -131,9 +130,8 @@ public class PermissionServiceImpl implements PermissionService {
// ========== 角色-菜单的相关方法 ========== // ========== 角色-菜单的相关方法 ==========
@Override @Override
@DSTransactional // 多数据源,使用 @DSTransactional 保证本地事务,以及数据源的切换 @Transactional
@CacheEvict(value = RedisKeyConstants.MENU_ROLE_ID_LIST, @CacheEvict(value = RedisKeyConstants.MENU_ROLE_ID_LIST, allEntries = true) // allEntries 清空所有缓存,主要一次更新涉及到的 menuIds 较多,反倒批量会更快
allEntries = true) // allEntries 清空所有缓存,主要一次更新涉及到的 menuIds 较多,反倒批量会更快
public void assignRoleMenu(Long roleId, Set<Long> menuIds) { public void assignRoleMenu(Long roleId, Set<Long> menuIds) {
// 获得角色拥有菜单编号 // 获得角色拥有菜单编号
Set<Long> dbMenuIds = convertSet(roleMenuMapper.selectListByRoleId(roleId), RoleMenuDO::getMenuId); Set<Long> dbMenuIds = convertSet(roleMenuMapper.selectListByRoleId(roleId), RoleMenuDO::getMenuId);
@ -198,7 +196,7 @@ public class PermissionServiceImpl implements PermissionService {
// ========== 用户-角色的相关方法 ========== // ========== 用户-角色的相关方法 ==========
@Override @Override
@DSTransactional // 多数据源,使用 @DSTransactional 保证本地事务,以及数据源的切换 @Transactional
@CacheEvict(value = RedisKeyConstants.USER_ROLE_ID_LIST, key = "#userId") @CacheEvict(value = RedisKeyConstants.USER_ROLE_ID_LIST, key = "#userId")
public void assignUserRole(Long userId, Set<Long> roleIds) { public void assignUserRole(Long userId, Set<Long> roleIds) {
// 获得角色拥有角色编号 // 获得角色拥有角色编号

11
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectRequest/vo/InspectRequestMainBaseVO.java

@ -35,7 +35,6 @@ public class InspectRequestMainBaseVO {
private String number; private String number;
@Schema(description = "业务类型", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "业务类型", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "业务类型不能为空")
private String businessType; private String businessType;
@Schema(description = "从仓库代码", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "从仓库代码", requiredMode = Schema.RequiredMode.REQUIRED)
@ -46,14 +45,12 @@ public class InspectRequestMainBaseVO {
private String fromAreaCodes; private String fromAreaCodes;
@Schema(description = "从库位类型范围", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "从库位类型范围", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "从库位类型范围不能为空")
private String fromLocationTypes; private String fromLocationTypes;
@Schema(description = "备注") @Schema(description = "备注")
private String remark; private String remark;
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "创建时间不能为空")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime createTime; private LocalDateTime createTime;
@ -69,7 +66,6 @@ public class InspectRequestMainBaseVO {
private LocalDateTime dueTime; private LocalDateTime dueTime;
@Schema(description = "部门", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "部门", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "部门不能为空")
private String departmentCode; private String departmentCode;
@Schema(description = "状态") @Schema(description = "状态")
@ -98,14 +94,12 @@ public class InspectRequestMainBaseVO {
private String itemCode; private String itemCode;
@Schema(description = "检验类型", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "检验类型", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "检验类型不能为空")
private String inspectType; private String inspectType;
@Schema(description = "下一步检验动作") @Schema(description = "下一步检验动作")
private String nextAction; private String nextAction;
@Schema(description = "抽检方式", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "抽检方式", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "抽检方式不能为空")
private String sampleMethod; private String sampleMethod;
@Schema(description = "计量单位") @Schema(description = "计量单位")
@ -116,26 +110,21 @@ public class InspectRequestMainBaseVO {
private BigDecimal receiveQty; private BigDecimal receiveQty;
@Schema(description = "样品数量", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "样品数量", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "样品数量不能为空")
private BigDecimal sampleQty; private BigDecimal sampleQty;
@Schema(description = "货主代码") @Schema(description = "货主代码")
private String ownerCode; private String ownerCode;
@Schema(description = "自动提交", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "自动提交", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "自动提交不能为空")
private String autoCommit; private String autoCommit;
@Schema(description = "自动通过", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "自动通过", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "自动通过不能为空")
private String autoAgree; private String autoAgree;
@Schema(description = "自动执行", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "自动执行", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "自动执行不能为空")
private String autoExecute; private String autoExecute;
@Schema(description = "直接生成记录", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "直接生成记录", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "直接生成记录不能为空")
private String directCreateRecord; private String directCreateRecord;
} }

16
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/putawayRequest/vo/PutawayRequestMainBaseVO.java

@ -2,15 +2,12 @@ package com.win.module.wms.controller.putawayRequest.vo;
import com.win.framework.excel.core.annotations.OnlyOne; import com.win.framework.excel.core.annotations.OnlyOne;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*; import lombok.Data;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import javax.validation.constraints.*;
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;
import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
/** /**
@ -23,7 +20,6 @@ public class PutawayRequestMainBaseVO {
@Schema(description = "id", example = "id") @Schema(description = "id", example = "id")
private Long id; private Long id;
@Schema(description = "供应商代码") @Schema(description = "供应商代码")
private String supplierCode; private String supplierCode;
@ -88,19 +84,15 @@ public class PutawayRequestMainBaseVO {
private String toAreaCodes; private String toAreaCodes;
@Schema(description = "自动提交", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "自动提交", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "自动提交不能为空")
private String autoCommit; private String autoCommit;
@Schema(description = "自动通过", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "自动通过", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "自动通过不能为空")
private String autoAgree; private String autoAgree;
@Schema(description = "自动执行", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "自动执行", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "自动执行不能为空")
private String autoExecute; private String autoExecute;
@Schema(description = "直接生成记录", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "直接生成记录", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "直接生成记录不能为空")
private String directCreateRecord; private String directCreateRecord;
} }

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/documentsetting/DocumentsettingServiceImpl.java

@ -287,7 +287,7 @@ public class DocumentsettingServiceImpl implements DocumentsettingService {
} }
@Override @Override
public DocumentsettingDO selectDocumentsettingExist(String pcode){ public DocumentsettingDO selectDocumentsettingExist(String pcode){
QueryWrapper queryWrapper = new QueryWrapper(); QueryWrapper<DocumentsettingDO> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("code",pcode); queryWrapper.eq("code",pcode);
DocumentsettingDO documentsettingDO = documentsettingMapper.selectOne(queryWrapper); DocumentsettingDO documentsettingDO = documentsettingMapper.selectOne(queryWrapper);
if(documentsettingDO != null && "TRUE".equals(documentsettingDO.getAvailable())){ if(documentsettingDO != null && "TRUE".equals(documentsettingDO.getAvailable())){

9
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inspectRequest/InspectRequestMainServiceImpl.java

@ -467,12 +467,11 @@ public class InspectRequestMainServiceImpl implements InspectRequestMainService
if (inspect == null) { if (inspect == null) {
throw new UtilException("未找到该策略"); throw new UtilException("未找到该策略");
} }
JSONArray condition = JSONUtil.parseArray(inspect.getCondition()); JSONObject configuration = JSONUtil.parseObj(inspect.getConfiguration());
HashMap<String, String> mapRule = new HashMap<>(); HashMap<String, String> mapRule = new HashMap<>();
for (Object o : condition) { mapRule.put("InspectType", configuration.get("InspectType").toString());
JSONObject entries = JSONUtil.parseObj(o); mapRule.put("SampleMethod", configuration.get("SampleMethod").toString());
mapRule.put(entries.get("ParamCode").toString(), entries.get("Value").toString()); mapRule.put("AqList", configuration.get("AqList").toString());
}
String aqlList = mapRule.get("AqlList"); String aqlList = mapRule.get("AqlList");
if (aqlList != null) { if (aqlList != null) {
JSONArray objects = JSONUtil.parseArray(aqlList); JSONArray objects = JSONUtil.parseArray(aqlList);

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

@ -191,9 +191,8 @@ public class PurchaseMainServiceImpl implements PurchaseMainService {
if (purchaseMainDO != null && "TRUE".equals(purchaseMainDO.getAvailable())) { if (purchaseMainDO != null && "TRUE".equals(purchaseMainDO.getAvailable())) {
if (!"CLOSED".equals(purchaseMainDO.getStatus())) { if (!"CLOSED".equals(purchaseMainDO.getStatus())) {
QueryWrapper<PurchaseDetailDO> queryWrapper1 = new QueryWrapper<>(); QueryWrapper<PurchaseDetailDO> queryWrapper1 = new QueryWrapper<>();
queryWrapper1.eq("master_id", purchaseMainDO.getId());
queryWrapper1.eq("number", pnumber); queryWrapper1.eq("number", pnumber);
queryWrapper1.eq("po_line", poLine); queryWrapper1.eq("line_number", poLine);
queryWrapper1.eq("item_code", pitemCode); queryWrapper1.eq("item_code", pitemCode);
PurchaseDetailDO purchaseDetailDO = purchaseDetailMapper.selectOne(queryWrapper1); PurchaseDetailDO purchaseDetailDO = purchaseDetailMapper.selectOne(queryWrapper1);
if (purchaseDetailDO != null && "TRUE".equals(purchaseDetailDO.getAvailable())) { if (purchaseDetailDO != null && "TRUE".equals(purchaseDetailDO.getAvailable())) {
@ -626,8 +625,8 @@ public class PurchaseMainServiceImpl implements PurchaseMainService {
for (PurchaseMainDO purchaseMainDO : purchaseMainDOList) { for (PurchaseMainDO purchaseMainDO : purchaseMainDOList) {
QueryWrapper<PurchaseDetailDO> purchaseDetailDOQueryWrapper = new QueryWrapper<>(); QueryWrapper<PurchaseDetailDO> purchaseDetailDOQueryWrapper = new QueryWrapper<>();
purchaseDetailDOQueryWrapper.eq("number", poNumber); purchaseDetailDOQueryWrapper.eq("number", poNumber);
purchaseDetailDOQueryWrapper.eq("line_number", poNumber); purchaseDetailDOQueryWrapper.eq("line_number", poLine);
purchaseDetailDOQueryWrapper.eq("item_code", poNumber); purchaseDetailDOQueryWrapper.eq("item_code", itemCode);
purchaseDetailDOQueryWrapper.eq("available", "TRUE"); purchaseDetailDOQueryWrapper.eq("available", "TRUE");
List<PurchaseDetailDO> purchaseDetailDOList = purchaseDetailMapper.selectList(purchaseDetailDOQueryWrapper); List<PurchaseDetailDO> purchaseDetailDOList = purchaseDetailMapper.selectList(purchaseDetailDOQueryWrapper);
boolean res = false; boolean res = false;

49
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptJob/PurchasereceiptJobMainServiceImpl.java

@ -18,6 +18,8 @@ import com.win.module.wms.controller.purchasereceiptJob.vo.PurchasereceiptJobDet
import com.win.module.wms.controller.purchasereceiptJob.vo.PurchasereceiptJobMainExportReqVO; import com.win.module.wms.controller.purchasereceiptJob.vo.PurchasereceiptJobMainExportReqVO;
import com.win.module.wms.controller.purchasereceiptJob.vo.PurchasereceiptJobMainPageReqVO; import com.win.module.wms.controller.purchasereceiptJob.vo.PurchasereceiptJobMainPageReqVO;
import com.win.module.wms.controller.purchasereceiptJob.vo.PurchasereceiptJobMainUpdateReqVO; import com.win.module.wms.controller.purchasereceiptJob.vo.PurchasereceiptJobMainUpdateReqVO;
import com.win.module.wms.controller.putawayRequest.vo.PutawayRequestDetailCreateReqVO;
import com.win.module.wms.controller.putawayRequest.vo.PutawayRequestMainCreateReqVO;
import com.win.module.wms.controller.rule.vo.RuleRespVO; import com.win.module.wms.controller.rule.vo.RuleRespVO;
import com.win.module.wms.controller.transaction.vo.TransactionCreateReqVO; import com.win.module.wms.controller.transaction.vo.TransactionCreateReqVO;
import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO; import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO;
@ -47,6 +49,8 @@ import com.win.module.wms.service.inspectRequest.InspectRequestMainService;
import com.win.module.wms.service.location.LocationService; import com.win.module.wms.service.location.LocationService;
import com.win.module.wms.service.purchase.PurchaseDetailService; import com.win.module.wms.service.purchase.PurchaseDetailService;
import com.win.module.wms.service.purchase.PurchaseMainService; import com.win.module.wms.service.purchase.PurchaseMainService;
import com.win.module.wms.service.putawayRequest.PutawayRequestMainService;
import com.win.module.wms.service.requestsetting.RequestsettingService;
import com.win.module.wms.service.rule.RuleService; import com.win.module.wms.service.rule.RuleService;
import com.win.module.wms.service.supplierdeliverRecord.SupplierdeliverRecordMainService; import com.win.module.wms.service.supplierdeliverRecord.SupplierdeliverRecordMainService;
import com.win.module.wms.service.transaction.TransactionService; import com.win.module.wms.service.transaction.TransactionService;
@ -57,6 +61,7 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.*; import java.util.*;
@ -113,6 +118,10 @@ public class PurchasereceiptJobMainServiceImpl implements PurchasereceiptJobMain
private LocationService locationService; private LocationService locationService;
@Resource @Resource
private PurchaseDetailService purchaseDetailService; private PurchaseDetailService purchaseDetailService;
@Resource
private PutawayRequestMainService putawayRequestMainService;
@Resource
private RequestsettingService requestsettingService;
@Override @Override
public PageResult<PurchasereceiptJobMainDO> getPurchasereceiptJobMainSenior(CustomConditions conditions) { public PageResult<PurchasereceiptJobMainDO> getPurchasereceiptJobMainSenior(CustomConditions conditions) {
@ -408,7 +417,8 @@ public class PurchasereceiptJobMainServiceImpl implements PurchasereceiptJobMain
inspectRequestMainCreateReqVO.setPoNumber(recordDetailDO.getPoNumber()); inspectRequestMainCreateReqVO.setPoNumber(recordDetailDO.getPoNumber());
inspectRequestMainCreateReqVO.setPoLine(recordDetailDO.getPoLine()); inspectRequestMainCreateReqVO.setPoLine(recordDetailDO.getPoLine());
inspectRequestMainCreateReqVO.setUom(recordDetailDO.getUom()); inspectRequestMainCreateReqVO.setUom(recordDetailDO.getUom());
inspectRequestMainCreateReqVO.setReceiveQty(recordDetailDO.getQty()); inspectRequestMainCreateReqVO.setReceiveQty(BigDecimal.ZERO);
inspectRequestMainCreateReqVO.setFromWarehouseCode(purchasereceiptRecordMainDO.getToWarehouseCode());
//创建子表信息 //创建子表信息
for(PurchasereceiptRecordDetailDO purchasereceiptRecordDetailDO : purchasereceiptRecordDetailDOList1) { for(PurchasereceiptRecordDetailDO purchasereceiptRecordDetailDO : purchasereceiptRecordDetailDOList1) {
InspectRequestDetailCreateReqVO inspectRequestDetailCreateReqVO = new InspectRequestDetailCreateReqVO(); InspectRequestDetailCreateReqVO inspectRequestDetailCreateReqVO = new InspectRequestDetailCreateReqVO();
@ -429,15 +439,42 @@ public class PurchasereceiptJobMainServiceImpl implements PurchasereceiptJobMain
inspectRequestDetailCreateReqVOList.add(inspectRequestDetailCreateReqVO); inspectRequestDetailCreateReqVOList.add(inspectRequestDetailCreateReqVO);
} }
inspectRequestMainCreateReqVO.setSubList(inspectRequestDetailCreateReqVOList); inspectRequestMainCreateReqVO.setSubList(inspectRequestDetailCreateReqVOList);
//创建检验申请
inspectRequestMainService.createInspectRequestMain(inspectRequestMainCreateReqVO);
} }
} }
//采购收货记录 生成后免检物品 创建 上架申请 //采购收货记录 生成后免检物品 创建 上架申请
if(switchDO2.getEffectiveSetValue().equals("TRUE") && "EXAMPT".equals(String.valueOf(jsonObject.get("InspectType")))) { if(switchDO2.getEffectiveSetValue().equals("TRUE") && "EXAMPT".equals(String.valueOf(jsonObject.get("InspectType")))) {
InspectRequestMainCreateReqVO inspectRequestMainCreateReqVO = new InspectRequestMainCreateReqVO(); PutawayRequestMainCreateReqVO putawayRequestMainCreateReqVO = new PutawayRequestMainCreateReqVO();
BeanUtils.copyProperties(purchasereceiptRecordMainDO, inspectRequestMainCreateReqVO); BeanUtils.copyProperties(purchasereceiptRecordMainDO, putawayRequestMainCreateReqVO);
inspectRequestMainCreateReqVO.setId(null); List<PutawayRequestDetailCreateReqVO> putawayRequestDetailCreateReqVOList = new ArrayList<>();
inspectRequestMainCreateReqVO.setSubList(inspectRequestDetailCreateReqVOList); for(PurchasereceiptRecordDetailDO purchasereceiptRecordDetailDO : purchasereceiptRecordDetailDOList) {
inspectRequestMainService.createInspectRequestMain(inspectRequestMainCreateReqVO); PutawayRequestDetailCreateReqVO putawayRequestDetailCreateReqVO = new PutawayRequestDetailCreateReqVO();
BeanUtils.copyProperties(purchasereceiptRecordDetailDO, putawayRequestDetailCreateReqVO);
putawayRequestDetailCreateReqVO.setPackingNumber(purchasereceiptRecordDetailDO.getToPackingNumber());
putawayRequestDetailCreateReqVO.setContainerNumber(purchasereceiptRecordDetailDO.getToContainerNumber());
putawayRequestDetailCreateReqVO.setBatch(purchasereceiptRecordDetailDO.getToBatch());
putawayRequestDetailCreateReqVO.setFromLocationCode(purchasereceiptRecordDetailDO.getToLocationCode());
putawayRequestDetailCreateReqVO.setInventoryStatus("OK");
putawayRequestDetailCreateReqVO.setId(null);
putawayRequestDetailCreateReqVO.setCreateTime(null);
putawayRequestDetailCreateReqVO.setCreator(null);
putawayRequestDetailCreateReqVO.setUpdateTime(null);
putawayRequestDetailCreateReqVO.setUpdater(null);
putawayRequestDetailCreateReqVOList.add(putawayRequestDetailCreateReqVO);
}
putawayRequestMainCreateReqVO.setId(null);
putawayRequestMainCreateReqVO.setCreateTime(null);
putawayRequestMainCreateReqVO.setCreator(null);
putawayRequestMainCreateReqVO.setUpdateTime(null);
putawayRequestMainCreateReqVO.setUpdater(null);
putawayRequestMainCreateReqVO.setSubList(putawayRequestDetailCreateReqVOList);
putawayRequestMainService.createPutawayRequestMain(putawayRequestMainCreateReqVO);
}
if("EXAMPT".equals(String.valueOf(jsonObject.get("InspectType")))) {
for(TransactionCreateReqVO transactionCreateReqVO : transactionCreateReqVOList) {
transactionCreateReqVO.setInventoryStatus("OK");
}
} }
//增加库存事务 //增加库存事务
transactionService.createTransaction(transactionCreateReqVOList); transactionService.createTransaction(transactionCreateReqVOList);

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRecord/PurchasereceiptRecordMainServiceImpl.java

@ -55,7 +55,9 @@ public class PurchasereceiptRecordMainServiceImpl implements PurchasereceiptReco
public PurchasereceiptRecordDetailDO selectPurchasereceiptExist(String ppoNumber,String psupplierCode,String pNumber,String ppoLine,String pitemCode){ public PurchasereceiptRecordDetailDO selectPurchasereceiptExist(String ppoNumber,String psupplierCode,String pNumber,String ppoLine,String pitemCode){
QueryWrapper<PurchasereceiptRecordMainDO> queryWrapperMain = new QueryWrapper<>(); QueryWrapper<PurchasereceiptRecordMainDO> queryWrapperMain = new QueryWrapper<>();
queryWrapperMain.eq("number",pNumber); queryWrapperMain.eq("number",pNumber);
if(psupplierCode != null && !psupplierCode.isEmpty()) {
queryWrapperMain.eq("supplier_code", psupplierCode); queryWrapperMain.eq("supplier_code", psupplierCode);
}
queryWrapperMain.eq("available","TRUE"); queryWrapperMain.eq("available","TRUE");
PurchasereceiptRecordMainDO purchasereceiptRecordMainDO = purchasereceiptRecordMainMapper.selectOne(queryWrapperMain); PurchasereceiptRecordMainDO purchasereceiptRecordMainDO = purchasereceiptRecordMainMapper.selectOne(queryWrapperMain);
if(purchasereceiptRecordMainDO != null) { if(purchasereceiptRecordMainDO != null) {

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/putawayRequest/PutawayRequestMainServiceImpl.java

@ -109,12 +109,12 @@ public class PutawayRequestMainServiceImpl implements PutawayRequestMainService
@Override @Override
@Transactional @Transactional
public Long createPutawayRequestMain(PutawayRequestMainCreateReqVO createReqVO) { public Long createPutawayRequestMain(PutawayRequestMainCreateReqVO createReqVO) {
RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("PutawayRequest"); RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("PurchasePutawayRequest");
BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("PutawayRequest"); BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("PurchasePutawayRequest");
PutawayRequestMainDO putawayRequestMainDO = validatorToCreate(createReqVO, businesstypeDO, requestsettingDO); PutawayRequestMainDO putawayRequestMainDO = validatorToCreate(createReqVO, businesstypeDO, requestsettingDO);
//调用自动执行方法 //调用自动执行方法
if (RequestStatusEnum.HANDLING.getCode().equals(putawayRequestMainDO.getStatus())) { if (RequestStatusEnum.HANDLING.getCode().equals(putawayRequestMainDO.getStatus())) {
this.generateJob(putawayRequestMainDO, putawayRequestDetailMapper.selectList(putawayRequestMainDO.getId()));
} }
trendsApi.createTrends(requestsettingDO.getId(), "PutawayRequest", "增加了上架申请", TrendsTypeEnum.CREATE); trendsApi.createTrends(requestsettingDO.getId(), "PutawayRequest", "增加了上架申请", TrendsTypeEnum.CREATE);
return putawayRequestMainDO.getId(); return putawayRequestMainDO.getId();
@ -413,7 +413,7 @@ public class PutawayRequestMainServiceImpl implements PutawayRequestMainService
validatorIfOutInventoryStatuses(detailDo.getInventoryStatus(), businesstypeDO); validatorIfOutInventoryStatuses(detailDo.getInventoryStatus(), businesstypeDO);
validatorIfInToLocationType(detailDo.getFromLocationCode(), businesstypeDO); validatorIfInToLocationType(detailDo.getFromLocationCode(), businesstypeDO);
ArrayList<String> inventoryStatus = new ArrayList<>(); ArrayList<String> inventoryStatus = new ArrayList<>();
inventoryStatus.set(0, detailDo.getInventoryStatus()); inventoryStatus.add(detailDo.getInventoryStatus());
validatorManagementAccuracy(detailDo.getItemCode(), detailDo.getPackingNumber(), detailDo.getBatch(), detailDo.getFromLocationCode(), inventoryStatus); validatorManagementAccuracy(detailDo.getItemCode(), detailDo.getPackingNumber(), detailDo.getBatch(), detailDo.getFromLocationCode(), inventoryStatus);
} }
@ -538,7 +538,7 @@ public class PutawayRequestMainServiceImpl implements PutawayRequestMainService
} }
private void validatorIfInToLocationType(String fromLocationCode, BusinesstypeDO businesstypeDO) { private void validatorIfInToLocationType(String fromLocationCode, BusinesstypeDO businesstypeDO) {
jobUtils.ifInType(fromLocationCode, businesstypeDO); jobUtils.ifInFromLocationType(fromLocationCode, businesstypeDO);
} }
private void validatorManagementAccuracy(String itemCode, String packingNumber, String batch, String fromLocationCode, List<String> inventoryStatus) { private void validatorManagementAccuracy(String itemCode, String packingNumber, String batch, String fromLocationCode, List<String> inventoryStatus) {

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/requestsetting/RequestsettingServiceImpl.java

@ -244,7 +244,7 @@ public class RequestsettingServiceImpl implements RequestsettingService {
} }
@Override @Override
public RequestsettingDO selectRequestsettingExist(String pcode){ public RequestsettingDO selectRequestsettingExist(String pcode){
QueryWrapper<RequestsettingDO> queryWrapper = new QueryWrapper(); QueryWrapper<RequestsettingDO> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("code",pcode); queryWrapper.eq("code",pcode);
queryWrapper.eq("available","TRUE"); queryWrapper.eq("available","TRUE");
RequestsettingDO requestsettingDO = requestsettingMapper.selectOne(queryWrapper); RequestsettingDO requestsettingDO = requestsettingMapper.selectOne(queryWrapper);

36
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/util/JobUtils.java

@ -2,7 +2,6 @@ package com.win.module.wms.util;
import cn.hutool.json.JSONObject; import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil; import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.win.module.wms.controller.rule.vo.RuleRespVO; import com.win.module.wms.controller.rule.vo.RuleRespVO;
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;
@ -309,6 +308,7 @@ public class JobUtils {
throw exception(ITEMBASIC_EXCEPTION, "物料类型" + pitemType + " 与业务类型" + businesstypeDO.getName() + "的物料类型" + businesstypeDO.getItemTypes() + "不一致"); throw exception(ITEMBASIC_EXCEPTION, "物料类型" + pitemType + " 与业务类型" + businesstypeDO.getName() + "的物料类型" + businesstypeDO.getItemTypes() + "不一致");
} }
} }
//DBT---DBT2---IS 物料状态检验是否一致 //DBT---DBT2---IS 物料状态检验是否一致
public boolean ifInStatus(String pitemCode, BusinesstypeDO businesstypeDO) { public boolean ifInStatus(String pitemCode, BusinesstypeDO businesstypeDO) {
ItembasicDO itembasicDO = itembasicService.selectItembasic(pitemCode); ItembasicDO itembasicDO = itembasicService.selectItembasic(pitemCode);
@ -323,7 +323,7 @@ public class JobUtils {
} else { } else {
throw exception(ITEMBASIC_EXCEPTION, "物料代码" + pitemCode + "无效"); throw exception(ITEMBASIC_EXCEPTION, "物料代码" + pitemCode + "无效");
} }
if (ifInStatus == true) { if (ifInStatus) {
return true; return true;
} else { } else {
throw exception(ITEMBASIC_EXCEPTION, "物料" + pitemCode + "的状态" + itembasicDO.getStatus() + "与业务类型" + throw exception(ITEMBASIC_EXCEPTION, "物料" + pitemCode + "的状态" + itembasicDO.getStatus() + "与业务类型" +
@ -342,11 +342,10 @@ public class JobUtils {
ifInLocationType = true; ifInLocationType = true;
} }
} }
} } else {
else {
throw exception(LOCATION_EXCEPTION, "库位" + plocationCode + "无效"); throw exception(LOCATION_EXCEPTION, "库位" + plocationCode + "无效");
} }
if (ifInLocationType == true) { if (ifInLocationType) {
return true; return true;
} else { } else {
throw exception(LOCATION_EXCEPTION, "入库库位" + plocationCode + "的库位类型" + locationDO.getType() + "与业务类型" + throw exception(LOCATION_EXCEPTION, "入库库位" + plocationCode + "的库位类型" + locationDO.getType() + "与业务类型" +
@ -365,11 +364,10 @@ public class JobUtils {
ifOutLocationType = true; ifOutLocationType = true;
} }
} }
} } else {
else {
throw exception(LOCATION_EXCEPTION, "库位" + plocationCode + "无效"); throw exception(LOCATION_EXCEPTION, "库位" + plocationCode + "无效");
} }
if (ifOutLocationType == true) { if (ifOutLocationType) {
return true; return true;
} else { } else {
throw exception(LOCATION_EXCEPTION, "出库库位" + plocationCode + "的库位类型" + locationDO.getType() + "与业务类型与业务类型" + throw exception(LOCATION_EXCEPTION, "出库库位" + plocationCode + "的库位类型" + locationDO.getType() + "与业务类型与业务类型" +
@ -387,11 +385,10 @@ public class JobUtils {
ifInInventoryStatuses = true; ifInInventoryStatuses = true;
} }
} }
} } else {
else {
throw exception(WAREHOUSE_STOCK_EXCEPTION, "入库库存状态" + pinventoryStatus + "为空"); throw exception(WAREHOUSE_STOCK_EXCEPTION, "入库库存状态" + pinventoryStatus + "为空");
} }
if (ifInInventoryStatuses == true) { if (ifInInventoryStatuses) {
return true; return true;
} else { } else {
throw exception(LOCATION_INVENTORY_EXCEPTION, "入库库存状态" + pinventoryStatus + "与业务类型" + throw exception(LOCATION_INVENTORY_EXCEPTION, "入库库存状态" + pinventoryStatus + "与业务类型" +
@ -409,11 +406,10 @@ public class JobUtils {
ifOutInventoryStatuses = true; ifOutInventoryStatuses = true;
} }
} }
} } else {
else {
throw exception(LOCATION_INVENTORY_EXCEPTION, "出库库存状态" + pinventoryStatus + "为空"); throw exception(LOCATION_INVENTORY_EXCEPTION, "出库库存状态" + pinventoryStatus + "为空");
} }
if (ifOutInventoryStatuses == true) { if (ifOutInventoryStatuses) {
return true; return true;
} else { } else {
throw exception(LOCATION_INVENTORY_EXCEPTION, "出库库存状态" + pinventoryStatus + "与业务类型" + throw exception(LOCATION_INVENTORY_EXCEPTION, "出库库存状态" + pinventoryStatus + "与业务类型" +
@ -424,6 +420,7 @@ public class JobUtils {
/** /**
* TB------TB4 * TB------TB4
* 先获取管理模式再根据管理模式查询库存余额返回查询结果 * 先获取管理模式再根据管理模式查询库存余额返回查询结果
*
* @param itemcode 零件号 * @param itemcode 零件号
* @param packingnumber 包装号 * @param packingnumber 包装号
* @param batch 批次 * @param batch 批次
@ -446,10 +443,12 @@ public class JobUtils {
} }
return balanceDO; return balanceDO;
} }
/** /**
* TB-------TB1 * TB-------TB1
* 查询库存返回管理精度 * 查询库存返回管理精度
* 先获取管理模式再根据管理模式查询库存余额返回校验结果 * 先获取管理模式再根据管理模式查询库存余额返回校验结果
*
* @param itemcode 零件号 * @param itemcode 零件号
* @param packingnumber 包装号 * @param packingnumber 包装号
* @param batch 批次 * @param batch 批次
@ -670,16 +669,16 @@ public class JobUtils {
* @return * @return
*/ */
public List<BalanceDO> fromInventoryEffective(String itemCode, String packingNumber, String batch, String locationCode, List<String> inventoryStatus) { public List<BalanceDO> fromInventoryEffective(String itemCode, String packingNumber, String batch, String locationCode, List<String> inventoryStatus) {
List<BalanceDO> balanceDOList = selectlocationReturnManagementAccuracy(itemCode, packingNumber, batch, locationCode, inventoryStatus); return selectlocationReturnManagementAccuracy(itemCode, packingNumber, batch, locationCode, inventoryStatus);
return balanceDOList;
} }
/** /**
* DBT3 * DBT3
* 根据单据设置查询业务类型 * 根据单据设置查询业务类型
* @author chenfang *
* @param pcode * @param pcode
* @return * @return
* @author chenfang
*/ */
public BusinesstypeDO selectDocumentSettingFromBusinessType(String pcode) { public BusinesstypeDO selectDocumentSettingFromBusinessType(String pcode) {
DocumentsettingDO documentsettingDO = documentsettingService.selectDocumentsettingExist(pcode); DocumentsettingDO documentsettingDO = documentsettingService.selectDocumentsettingExist(pcode);
@ -692,9 +691,10 @@ public class JobUtils {
/** /**
* DBT4 * DBT4
* 根据单据设置查询业务类型 * 根据单据设置查询业务类型
* @author chenfang *
* @param pcode * @param pcode
* @return * @return
* @author chenfang
*/ */
public TransactiontypeDO selectDocumentFromTransactionType(String pcode) { public TransactiontypeDO selectDocumentFromTransactionType(String pcode) {
TransactiontypeDO transactionType = transactiontypeService.selectTransactiontype(pcode); TransactiontypeDO transactionType = transactiontypeService.selectTransactiontype(pcode);

Loading…
Cancel
Save