Browse Source

Merge remote-tracking branch 'origin/master'

master
陈薪名 2 years ago
parent
commit
0de54bd340
  1. 20
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/accountcalendar/AccountcalendarController.java
  2. 61
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/accountcalendar/vo/AccountcalendarImportErrorVO.java
  3. 20
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnJob/vo/PurchasereturnJobDetailUpdateReqVO.java
  4. 4
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/accountcalendar/AccountcalendarConvert.java
  5. 5
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/accountcalendar/AccountcalendarDO.java
  6. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/accountcalendar/AccountcalendarMapper.java
  7. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/bom/BomMapper.java
  8. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/accountcalendar/AccountcalendarService.java
  9. 74
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/accountcalendar/AccountcalendarServiceImpl.java
  10. 7
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/bom/BomServiceImpl.java
  11. 7
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inspectJob/InspectJobMainServiceImpl.java
  12. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inventoryinitRequest/InventoryinitRequestMainServiceImpl.java
  13. 75
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnJob/PurchasereturnJobMainServiceImpl.java
  14. 4
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnRequest/PurchasereturnRequestMainServiceImpl.java
  15. 9
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/systemcalendar/SystemcalendarServiceImpl.java

20
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/accountcalendar/AccountcalendarController.java

@ -9,13 +9,9 @@ import com.win.framework.operatelog.core.annotations.OperateLog;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.accountcalendar.vo.*;
import com.win.module.wms.controller.itembasic.vo.ItembasicExcelVO;
import com.win.module.wms.controller.systemcalendar.vo.SystemcalendarRespVO;
import com.win.module.wms.controller.bom.vo.BomImportErrorVO;
import com.win.module.wms.convert.accountcalendar.AccountcalendarConvert;
import com.win.module.wms.convert.itembasic.ItembasicConvert;
import com.win.module.wms.convert.systemcalendar.SystemcalendarConvert;
import com.win.module.wms.dal.dataobject.accountcalendar.AccountcalendarDO;
import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO;
import com.win.module.wms.enums.DictTypeConstants;
import com.win.module.wms.service.accountcalendar.AccountcalendarService;
import io.swagger.v3.oas.annotations.Operation;
@ -167,16 +163,18 @@ public class AccountcalendarController {
@Parameter(name = "updatePart", description = "部分更新,默认为 true", example = "true")
})
@PreAuthorize("@ss.hasPermission('wms:accountcalendar:import')")
public void importExcel(HttpServletResponse response,
@RequestParam("file") MultipartFile file,
@RequestParam(value = "mode") Integer mode,
@RequestParam(value = "updatePart", required = false, defaultValue = "false") Boolean updatePart) throws Exception {
public CommonResult<Map<String, Object>> importExcel(HttpServletResponse response,
@RequestParam("file") MultipartFile file,
@RequestParam(value = "mode") Integer mode,
@RequestParam(value = "updatePart", required = false, defaultValue = "false") Boolean updatePart) throws Exception {
List<AccountcalendarImportExcelVo> list = ExcelUtils.read(file, AccountcalendarImportExcelVo.class);
List<AccountcalendarImportExcelVo> errorList = accountcalendarService.importAccountcalendarList(list, mode, updatePart);
List<AccountcalendarImportErrorVO> errorList = accountcalendarService.importAccountcalendarList(list, mode, updatePart);
Map<String, Object> returnMap = new HashMap<>();
returnMap.put("errorCount", errorList.size());
if(!errorList.isEmpty()) {
String url = ExcelUtils.writeLocalFile("账期日历导入错误数据" + LocalDateTime.now().toEpochSecond(ZoneOffset.of("+8")) + ".xls", "错误列表", errorList);
returnMap.put("errorFile", url);
}}
}
return success(returnMap);
}
}

61
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/accountcalendar/vo/AccountcalendarImportErrorVO.java

@ -0,0 +1,61 @@
package com.win.module.wms.controller.accountcalendar.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.win.framework.excel.core.annotations.DictFormat;
import com.win.framework.excel.core.convert.DictConvert;
import com.win.module.wms.enums.DictTypeConstants;
import lombok.Builder;
import lombok.Data;
import lombok.ToString;
import java.math.BigDecimal;
import java.time.LocalDateTime;
@Data
@Builder
@ToString(callSuper = true)
public class AccountcalendarImportErrorVO {
@ExcelProperty("年")
private String year;
@ExcelProperty("月")
private String month;
@ExcelProperty("描述")
private String descriiption;
@ExcelProperty("开始时间")
@ColumnWidth(value = 16)
private LocalDateTime beginTime;
@ExcelProperty("结束时间")
@ColumnWidth(value = 16)
private LocalDateTime endTime;
@ExcelProperty("转换生效时间")
@ColumnWidth(value = 16)
private LocalDateTime converttotime;
@ExcelProperty(value = "是否可用", converter = DictConvert.class)
@DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
private String available;
@ExcelProperty("生效时间")
@ColumnWidth(value = 16)
private LocalDateTime activeTime;
@ExcelProperty("失效时间")
@ColumnWidth(value = 16)
private LocalDateTime expireTime;
@ExcelProperty("备注")
private String remark;
@ExcelProperty(value = "导入状态", index = 0)
private String importStatus;
@ExcelProperty(value = "导入说明", index = 1)
private String importRemark;
}

20
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereturnJob/vo/PurchasereturnJobDetailUpdateReqVO.java

@ -3,10 +3,30 @@ package com.win.module.wms.controller.purchasereturnJob.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.math.BigDecimal;
@Schema(description = "管理后台 - 采购退货任务子更新 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class PurchasereturnJobDetailUpdateReqVO extends PurchasereturnJobDetailBaseVO {
@Schema(description = "实际收货数量")
private BigDecimal handleQty;
@Schema(description = "到包装")
private String toPackingNumber;
@Schema(description = "到器具")
private String toContainerNumber;
@Schema(description = "到批次")
private String toBatch;
@Schema(description = "到库存状态")
private String toInventoryStatus;
@Schema(description = "到库位")
private String toLocationCode;
}

4
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/accountcalendar/AccountcalendarConvert.java

@ -2,6 +2,8 @@ package com.win.module.wms.convert.accountcalendar;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.accountcalendar.vo.*;
import com.win.module.wms.controller.bom.vo.BomImportErrorVO;
import com.win.module.wms.controller.bom.vo.BomImportExcelVo;
import com.win.module.wms.dal.dataobject.accountcalendar.AccountcalendarDO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
@ -32,4 +34,6 @@ public interface AccountcalendarConvert {
List<AccountcalendarExcelVO> convertList02(List<AccountcalendarDO> list);
AccountcalendarImportErrorVO convert2(AccountcalendarDO bean);
}

5
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/accountcalendar/AccountcalendarDO.java

@ -71,10 +71,7 @@ public class AccountcalendarDO extends BaseDO {
* 备注
*/
private String remark;
/**
* 创建者ID
*/
private String creator;
/**
* 删除时间
*/

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/accountcalendar/AccountcalendarMapper.java

@ -8,7 +8,7 @@ import com.win.framework.mybatis.core.util.QueryWrapperUtils;
import com.win.module.wms.controller.accountcalendar.vo.AccountcalendarExportReqVO;
import com.win.module.wms.controller.accountcalendar.vo.AccountcalendarPageReqVO;
import com.win.module.wms.dal.dataobject.accountcalendar.AccountcalendarDO;
import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO;
import com.win.module.wms.dal.dataobject.bom.BomDO;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/bom/BomMapper.java

@ -8,8 +8,6 @@ import com.win.framework.mybatis.core.util.QueryWrapperUtils;
import com.win.module.wms.controller.bom.vo.BomExportReqVO;
import com.win.module.wms.controller.bom.vo.BomPageReqVO;
import com.win.module.wms.dal.dataobject.bom.BomDO;
import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO;
import com.win.module.wms.dal.dataobject.itempackaging.ItempackagingDO;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/accountcalendar/AccountcalendarService.java

@ -78,5 +78,5 @@ public interface AccountcalendarService {
List<AccountcalendarDO> getAccountcalendarList(AccountcalendarExportReqVO exportReqVO);
List<AccountcalendarImportExcelVo> importAccountcalendarList(List<AccountcalendarImportExcelVo> accountcalendarImportExcelVos, Integer mode, boolean updatePart);
List<AccountcalendarImportErrorVO> importAccountcalendarList(List<AccountcalendarImportExcelVo> accountcalendarImportExcelVos, Integer mode, boolean updatePart);
}

74
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/accountcalendar/AccountcalendarServiceImpl.java

@ -8,10 +8,14 @@ import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult;
import com.win.framework.datapermission.core.util.DataPermissionUtils;
import com.win.module.wms.controller.accountcalendar.vo.*;
import com.win.module.wms.controller.bom.vo.BomImportErrorVO;
import com.win.module.wms.convert.accountcalendar.AccountcalendarConvert;
import com.win.module.wms.convert.bom.BomConvert;
import com.win.module.wms.dal.dataobject.accountcalendar.AccountcalendarDO;
import com.win.module.wms.dal.dataobject.bom.BomDO;
import com.win.module.wms.dal.mysql.accountcalendar.AccountcalendarMapper;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.validation.annotation.Validated;
@ -37,14 +41,15 @@ public class AccountcalendarServiceImpl implements AccountcalendarService {
private AccountcalendarMapper accountcalendarMapper;
@Override
@Transactional
public Long createAccountcalendar(AccountcalendarCreateReqVO createReqVO) {
validateAccountcalendarForCreateOrUpdate(createReqVO.getId(),createReqVO.getAvailable());
// 插入
AccountcalendarDO accountcalendar = AccountcalendarConvert.INSTANCE.convert(createReqVO);
AccountcalendarDO accountCalendar = AccountcalendarConvert.INSTANCE.convert(createReqVO);
validateAccountcalendarForCreateOrUpdate(null,createReqVO.getAvailable());
accountcalendarMapper.insert(accountcalendar);
accountcalendarMapper.insert(accountCalendar);
// 返回
return accountcalendar.getId();
return accountCalendar.getId();
}
@Override
@ -88,47 +93,50 @@ public class AccountcalendarServiceImpl implements AccountcalendarService {
return accountcalendarMapper.selectList(exportReqVO);
}
public List<AccountcalendarImportExcelVo> importAccountcalendarList(List<AccountcalendarImportExcelVo> importAccountcalendars, Integer mode, boolean updatePart) {
public String validateAccountcalendarImport(AccountcalendarDO importAccountcalendar){
StringBuilder message = new StringBuilder();
try {
validateAccountcalendarExists(null);
} catch (ServiceException ex) {
message.append(ex.getMessage()).append(",");
}
try {
validateAvailableExists(importAccountcalendar.getAvailable());
} catch (ServiceException ex) {
message.append(ex.getMessage()).append(",");
}
return message.toString();
}
public List<AccountcalendarImportErrorVO> importAccountcalendarList(List<AccountcalendarImportExcelVo> importAccountcalendars, Integer mode, boolean updatePart) {
if (CollUtil.isEmpty(importAccountcalendars)) {
throw exception(ACCOUNTCALENDAR_IMPORT_LIST_IS_EMPTY);
}
List<AccountcalendarImportExcelVo> errorList = new ArrayList<>();
List<AccountcalendarImportErrorVO> errorList = new ArrayList<>();
importAccountcalendars.forEach(importAccountcalendar -> {
String massage = "";
// 校验,判断是否有不符合的原因
if(mode != null){
try {
validateAccountcalendarExists(null);
} catch (ServiceException ex) {
massage += ex.getMessage() + ",";
}
try {
validateAvailableExists(importAccountcalendar.getAvailable());
} catch (ServiceException ex) {
massage += ex.getMessage() + ",";
}
AccountcalendarDO accountcalendarDO = AccountcalendarConvert.INSTANCE.convert(importAccountcalendar);
String massage = this.validateAccountcalendarImport(accountcalendarDO);
boolean flag = true;
if(!massage.isEmpty()){
AccountcalendarImportErrorVO importErrorVO =AccountcalendarConvert.INSTANCE.convert2(accountcalendarDO);
importErrorVO.setImportStatus("失败");
importErrorVO.setImportRemark(massage.substring(0, massage.length() - 1));
errorList.add(importErrorVO);
flag = false;
}
if(StrUtil.isNotEmpty(massage)){
massage.substring(0,massage.length()-1);
errorList.add(importAccountcalendar);
}
if(errorList == null){
// 判断如果不存在,在进行插入
AccountcalendarDO existAccountcalendar = new AccountcalendarDO();
if (existAccountcalendar == null&& mode != 3) {
if(flag){
if ( mode != 3) {
accountcalendarMapper.insert(AccountcalendarConvert.INSTANCE.convert(importAccountcalendar));
}
else if (existAccountcalendar != null && mode != 2) {// 如果存在,判断是否允许更新
AccountcalendarDO accountcalendarDO = AccountcalendarConvert.INSTANCE.convert(importAccountcalendar);
accountcalendarDO.setId(existAccountcalendar.getId());
else if ( mode != 2) {
// 如果存在,判断是否允许更新
accountcalendarMapper.updateById(accountcalendarDO);
}
}
});
//错误不为空并非部分更新,手工回滚
if(!errorList.isEmpty() && !updatePart) {
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
}
return errorList;
}

7
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/bom/BomServiceImpl.java

@ -9,22 +9,15 @@ import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult;
import com.win.framework.datapermission.core.util.DataPermissionUtils;
import com.win.module.wms.controller.bom.vo.*;
import com.win.module.wms.controller.purchasereceiptRequest.vo.PurchasereceiptRequestMainImportErrorVO;
import com.win.module.wms.convert.bom.BomConvert;
import com.win.module.wms.convert.purchasereceiptRequest.PurchasereceiptRequestMainConvert;
import com.win.module.wms.dal.dataobject.bom.BomDO;
import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO;
import com.win.module.wms.dal.dataobject.productionlineitem.ProductionlineitemDO;
import com.win.module.wms.dal.dataobject.purchasereceiptRequest.PurchasereceiptRequestMainDO;
import com.win.module.wms.dal.mysql.bom.BomMapper;
import org.springframework.stereotype.Service;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception;

7
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inspectJob/InspectJobMainServiceImpl.java

@ -25,12 +25,12 @@ import com.win.module.wms.dal.mysql.inspectJob.InspectJobDetailMapper;
import com.win.module.wms.dal.mysql.inspectJob.InspectJobMainMapper;
import com.win.module.wms.dal.mysql.inspectRecord.InspectRecordDetailMapper;
import com.win.module.wms.dal.mysql.inspectRecord.InspectRecordMainMapper;
import com.win.module.wms.dal.mysql.inspectRequest.InspectRequestDetailMapper;
import com.win.module.wms.dal.mysql.inspectRequest.InspectRequestMainMapper;
import com.win.module.wms.enums.job.JobStatusEnum;
import com.win.module.wms.enums.job.JobStatusState;
import com.win.module.wms.enums.request.RequestStatusEnum;
import com.win.module.wms.service.expectin.ExpectinService;
import com.win.module.wms.service.inspectRequest.InspectRequestDetailService;
import com.win.module.wms.service.transaction.TransactionService;
import com.win.module.wms.util.JobUtils;
import org.springframework.beans.BeanUtils;
@ -84,7 +84,7 @@ public class InspectJobMainServiceImpl implements InspectJobMainService {
@Resource
private BalanceMapper balanceMapper;
@Resource
private InspectRequestDetailService inspectRequestDetailService;
private InspectRequestDetailMapper inspectRequestDetailMapper;
@Override
public InspectJobMainDO getInspectJobMain(Long id) {
@ -318,6 +318,7 @@ public class InspectJobMainServiceImpl implements InspectJobMainService {
//全检,再次生成检验申请
if(inspectJobMainUpdateReqVO.getNextAction().equals("FULL_INSPECT")) {
InspectRequestMainDO requestMainDO = inspectRequestMainMapper.selectByNumber(inspectJobMainUpdateReqVO.getRequestNumber());
List<InspectRequestDetailDO> requestDetailDOList = inspectRequestDetailMapper.selectList(requestMainDO.getId());
String requestNumber = serialNumberApi.generateCode(RuleCodeEnum.INSPECT_REQUEST.getCode());
requestMainDO.setNumber(requestNumber);
requestMainDO.setSampleQty(requestMainDO.getReceiveQty());
@ -330,7 +331,6 @@ public class InspectJobMainServiceImpl implements InspectJobMainService {
requestMainDO.setUpdater(null);
requestMainDO.setUpdateTime(null);
inspectRequestMainMapper.insert(requestMainDO);
List<InspectRequestDetailDO> requestDetailDOList = inspectRequestDetailService.selectList(requestMainDO.getId());
for(InspectRequestDetailDO inspectRequestDetailDO : requestDetailDOList) {
inspectRequestDetailDO.setId(null);
inspectRequestDetailDO.setCreator(null);
@ -340,6 +340,7 @@ public class InspectJobMainServiceImpl implements InspectJobMainService {
inspectRequestDetailDO.setMasterId(requestMainDO.getId());
inspectRequestDetailDO.setNumber(requestNumber);
}
inspectRequestDetailMapper.insertBatch(requestDetailDOList);
} else {
//增加库存事务
transactionService.createTransaction(transactionCreateReqVOList);

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inventoryinitRequest/InventoryinitRequestMainServiceImpl.java

@ -357,7 +357,7 @@ public class InventoryinitRequestMainServiceImpl implements InventoryinitRequest
@Transactional
public List<InventoryinitRequestMainImportErrorVO> importInventoryinitRequestMainList(List<InventoryinitRequestMainCreateReqVO> datas, Integer mode, boolean updatePart) {
if (CollUtil.isEmpty(datas)) {
throw exception(PURCHASECLAIM_REQUEST_IMPORT_LIST_IS_EMPTY);
throw exception(INVENTORYINIT_REQUEST_MAIN_NOT_EXISTS);
}
List<InventoryinitRequestMainImportErrorVO> errorList = new ArrayList<>();
datas.forEach(createReqVO -> {

75
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnJob/PurchasereturnJobMainServiceImpl.java

@ -15,6 +15,8 @@ import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobMainE
import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobMainPageReqVO;
import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobMainUpdateReqVO;
import com.win.module.wms.controller.transaction.vo.TransactionCreateReqVO;
import com.win.module.wms.convert.purchasereturnJob.PurchasereturnJobDetailConvert;
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.purchasereturnJob.PurchasereturnJobDetailDO;
import com.win.module.wms.dal.dataobject.purchasereturnJob.PurchasereturnJobMainDO;
@ -23,6 +25,7 @@ import com.win.module.wms.dal.dataobject.purchasereturnRecord.PurchasereturnReco
import com.win.module.wms.dal.dataobject.purchasereturnRequest.PurchasereturnRequestMainDO;
import com.win.module.wms.dal.dataobject.supplierdeliverRecord.SupplierdeliverRecordDetailDO;
import com.win.module.wms.dal.dataobject.transactiontype.TransactiontypeDO;
import com.win.module.wms.dal.mysql.balance.BalanceMapper;
import com.win.module.wms.dal.mysql.purchasereturnJob.PurchasereturnJobMainMapper;
import com.win.module.wms.dal.mysql.purchasereturnRecord.PurchasereturnRecordDetailMapper;
import com.win.module.wms.dal.mysql.purchasereturnRecord.PurchasereturnRecordMainMapper;
@ -86,6 +89,8 @@ public class PurchasereturnJobMainServiceImpl implements PurchasereturnJobMainSe
private SerialNumberApi serialNumberApi;
@Resource
private JobUtils jobUtils;
@Resource
private BalanceMapper balanceMapper;
@Override
public PageResult<PurchasereturnJobMainDO> getPurchasereturnJobMainSenior(CustomConditions conditions) {
@ -204,7 +209,6 @@ public class PurchasereturnJobMainServiceImpl implements PurchasereturnJobMainSe
public String executePurchasereturnJobMain(PurchasereturnJobMainUpdateReqVO purchasereturnJobMainUpdateReqVO) {
//查询数据
PurchasereturnJobMainDO purchasereturnJobMainDO = this.validatePurchasereturnJobMainExists(purchasereturnJobMainUpdateReqVO.getId());
List<PurchasereturnJobDetailDO> subList = purchasereturnJobDetailService.selectList(purchasereturnJobMainDO.getId());
JobStatusState jobStatusState = new JobStatusState(purchasereturnJobMainDO.getStatus());
boolean flag = jobStatusState.execute();
if(!flag) {
@ -236,16 +240,22 @@ public class PurchasereturnJobMainServiceImpl implements PurchasereturnJobMainSe
List<PurchasereturnRecordDetailDO> purchasereturnRecordDetailDOList = new ArrayList<>();
//库存事务
List<TransactionCreateReqVO> transactionCreateReqVOList = new ArrayList<>();
for(PurchasereturnJobDetailDO purchasereturnJobDetailDO : subList) {
for(PurchasereturnJobDetailUpdateReqVO purchasereturnJobDetailUpdateReqVO : purchasereturnJobDetailUpdateReqVOList) {
PurchasereturnJobDetailDO purchasereturnJobDetailDO = PurchasereturnJobDetailConvert.INSTANCE.convert(purchasereturnJobDetailUpdateReqVO);
PurchasereturnRecordDetailDO purchasereturnRecordDetailDO = new PurchasereturnRecordDetailDO();
BeanUtils.copyProperties(purchasereturnJobDetailDO, purchasereturnRecordDetailDO);
purchasereturnRecordDetailDO.setMasterId(purchasereturnRecordMainDO.getId());
purchasereturnRecordDetailDO.setNumber(number);
purchasereturnRecordDetailDO.setJobDetailId(String.valueOf(purchasereturnJobDetailDO.getId()));
purchasereturnRecordDetailDO.setFromBatch(purchasereturnJobDetailDO.getBatch());
purchasereturnRecordDetailDO.setToBatch(purchasereturnJobDetailDO.getBatch());
purchasereturnRecordDetailDO.setFromPackingNumber(purchasereturnJobDetailDO.getPackingNumber());
purchasereturnRecordDetailDO.setToPackingNumber(purchasereturnJobDetailDO.getPackingNumber());
purchasereturnRecordDetailDO.setToPackingNumber(purchasereturnJobDetailUpdateReqVO.getToPackingNumber());
purchasereturnRecordDetailDO.setFromContainerNumber(purchasereturnJobDetailDO.getContainerNumber());
purchasereturnRecordDetailDO.setToContainerNumber(purchasereturnJobDetailUpdateReqVO.getToContainerNumber());
purchasereturnRecordDetailDO.setQty(purchasereturnJobDetailUpdateReqVO.getHandleQty());
purchasereturnRecordDetailDO.setFromBatch(purchasereturnJobDetailDO.getBatch());
purchasereturnRecordDetailDO.setToBatch(purchasereturnJobDetailUpdateReqVO.getToBatch());
purchasereturnRecordDetailDO.setInventoryStatus(purchasereturnJobDetailUpdateReqVO.getToInventoryStatus());
purchasereturnRecordDetailDO.setToLocationCode(purchasereturnJobDetailUpdateReqVO.getToLocationCode());
purchasereturnRecordDetailDO.setId(null);
purchasereturnRecordDetailDO.setCreateTime(null);
purchasereturnRecordDetailDO.setCreator(null);
@ -254,21 +264,52 @@ public class PurchasereturnJobMainServiceImpl implements PurchasereturnJobMainSe
purchasereturnRecordDetailDOList.add(purchasereturnRecordDetailDO);
//更新采购订单明细的退货数量
purchaseMainService.updateOrderPurchaseReturnQty(purchasereturnRecordDetailDO.getPoNumber(), purchasereturnRecordDetailDO.getPoLine(), purchasereturnRecordDetailDO.getItemCode(), purchasereturnRecordDetailDO.getQty());
//查询库存余额
BalanceDO balanceDO = balanceMapper.getBalanceQty(purchasereturnRecordDetailDO.getFromPackingNumber(), purchasereturnRecordDetailDO.getItemCode(), purchasereturnRecordDetailDO.getFromBatch(), purchasereturnRecordDetailDO.getInventoryStatus(), purchasereturnRecordDetailDO.getFromLocationCode());
//添加库存事务list
TransactionCreateReqVO transactionCreateReqVO = new TransactionCreateReqVO();
BeanUtils.copyProperties(purchasereturnRecordDetailDO, transactionCreateReqVO);
TransactionCreateReqVO transactionCreateReqVOOut = new TransactionCreateReqVO();
BeanUtils.copyProperties(purchasereturnRecordDetailDO, transactionCreateReqVOOut);
//增加业务类型
BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("PurchaseReurnJob");
transactionCreateReqVO.setBusinessType(businesstypeDO.getCode());
TransactiontypeDO transactiontypeDO = jobUtils.selectDocumentFromTransactionType(businesstypeDO.getInTransactionType());
transactionCreateReqVO.setInventoryAction(transactiontypeDO.getInventoryAction());
transactionCreateReqVO.setTransactionType(transactiontypeDO.getCode());
transactionCreateReqVO.setBusinessType(purchasereturnRecordMainDO.getBusinessType());
transactionCreateReqVO.setLocationCode(purchasereturnJobDetailDO.getFromLocationCode());
transactionCreateReqVO.setOwnerCode(purchasereturnRecordDetailDO.getFromOwnerCode());
transactionCreateReqVO.setRecordNumber(number);
transactionCreateReqVO.setId(null);
transactionCreateReqVOList.add(transactionCreateReqVO);
transactionCreateReqVOOut.setBusinessType(businesstypeDO.getCode());
TransactiontypeDO transactionTypeDOOut = jobUtils.selectDocumentFromTransactionType(businesstypeDO.getOutTransactionType());
transactionCreateReqVOOut.setInventoryAction(transactionTypeDOOut.getInventoryAction());
transactionCreateReqVOOut.setTransactionType(transactionTypeDOOut.getCode());
transactionCreateReqVOOut.setBusinessType(purchasereturnRecordMainDO.getBusinessType());
transactionCreateReqVOOut.setLocationCode(purchasereturnJobDetailDO.getFromLocationCode());
transactionCreateReqVOOut.setOwnerCode(purchasereturnRecordDetailDO.getFromOwnerCode());
transactionCreateReqVOOut.setSinglePrice(balanceDO.getSinglePrice());
transactionCreateReqVOOut.setAmount(balanceDO.getAmount());
transactionCreateReqVOOut.setArriveDate(balanceDO.getArriveDate());
transactionCreateReqVOOut.setProduceDate(balanceDO.getProduceDate());
transactionCreateReqVOOut.setExpireDate(balanceDO.getExpireDate());
transactionCreateReqVOOut.setRecordNumber(number);
transactionCreateReqVOOut.setQty(purchasereturnJobDetailUpdateReqVO.getHandleQty());
transactionCreateReqVOOut.setInventoryStatus(purchasereturnJobDetailUpdateReqVO.getInventoryStatus());
transactionCreateReqVOOut.setId(null);
transactionCreateReqVOList.add(transactionCreateReqVOOut);
//判断businesstypeDO.getInTransactionType()是否为空,不为空时增加入库存事务
if(businesstypeDO.getInTransactionType() != null && !businesstypeDO.getInTransactionType().isEmpty()) {
//增加入库存事务
TransactiontypeDO transactionTypeDOIn = jobUtils.selectDocumentFromTransactionType(businesstypeDO.getInTransactionType());
TransactionCreateReqVO transactionCreateReqVOIn = new TransactionCreateReqVO();
BeanUtils.copyProperties(purchasereturnRecordDetailDO, transactionCreateReqVOIn);
transactionCreateReqVOIn.setInventoryAction(transactionTypeDOIn.getInventoryAction());
transactionCreateReqVOIn.setTransactionType(transactionTypeDOIn.getCode());
transactionCreateReqVOIn.setBusinessType(purchasereturnRecordMainDO.getBusinessType());
transactionCreateReqVOIn.setLocationCode(purchasereturnJobDetailDO.getToLocationCode());
transactionCreateReqVOIn.setOwnerCode(purchasereturnRecordDetailDO.getToOwnerCode());
transactionCreateReqVOIn.setSinglePrice(balanceDO.getSinglePrice());
transactionCreateReqVOIn.setAmount(balanceDO.getAmount());
transactionCreateReqVOIn.setArriveDate(balanceDO.getArriveDate());
transactionCreateReqVOIn.setProduceDate(balanceDO.getProduceDate());
transactionCreateReqVOIn.setExpireDate(balanceDO.getExpireDate());
transactionCreateReqVOIn.setRecordNumber(number);
transactionCreateReqVOIn.setQty(purchasereturnJobDetailUpdateReqVO.getHandleQty());
transactionCreateReqVOIn.setInventoryStatus(purchasereturnJobDetailUpdateReqVO.getToInventoryStatus());
transactionCreateReqVOIn.setId(null);
transactionCreateReqVOList.add(transactionCreateReqVOIn);
}
}
purchasereturnRecordDetailMapper.insertBatch(purchasereturnRecordDetailDOList);
List<String> typeList = new ArrayList<>();

4
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnRequest/PurchasereturnRequestMainServiceImpl.java

@ -114,13 +114,14 @@ public class PurchasereturnRequestMainServiceImpl implements PurchasereturnReque
List<PurchasereturnRequestDetailDO> subDOList = PurchasereturnRequestDetailConvert.INSTANCE.convertList03(createReqVO.getSubList());
validatorToCreate(mainDO, subDOList);
String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_RECEIPT_REQUEST.getCode());
mainDO.setRequestTime(LocalDateTime.now());
mainDO.setNumber(number);
purchasereturnRequestMainMapper.insert(mainDO);
for (PurchasereturnRequestDetailDO detailDO : subDOList) {
detailDO.setId(null);
detailDO.setMasterId(mainDO.getId());
detailDO.setNumber(number);
}
purchasereturnRequestMainMapper.insert(mainDO);
purchasereturnRequestDetailMapper.insertBatch(subDOList);
//调用自动执行方法
if (RequestStatusEnum.HANDLING.getCode().equals(mainDO.getStatus())) {
@ -356,6 +357,7 @@ public class PurchasereturnRequestMainServiceImpl implements PurchasereturnReque
purchasereturnJobMainDO.setAllowPartialComplete(jobsettingDO.getAllowPartialComplete());
purchasereturnJobMainDO.setAllowModifyPackingNumber(jobsettingDO.getAllowModifyPackingNumber());
purchasereturnJobMainDO.setAllowModifyBatch(jobsettingDO.getAllowModifyBach());
purchasereturnJobMainDO.setRequestTime(mainDO.getRequestTime());
purchasereturnJobMainDO.setId(null);
purchasereturnJobMainDO.setCreateTime(null);
purchasereturnJobMainDO.setCreator(null);

9
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/systemcalendar/SystemcalendarServiceImpl.java

@ -1,26 +1,20 @@
package com.win.module.wms.service.systemcalendar;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.google.common.annotations.VisibleForTesting;
import com.win.framework.common.exception.ServiceException;
import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult;
import com.win.framework.datapermission.core.util.DataPermissionUtils;
import com.win.module.wms.controller.bom.vo.BomImportErrorVO;
import com.win.module.wms.controller.systemcalendar.vo.*;
import com.win.module.wms.convert.bom.BomConvert;
import com.win.module.wms.convert.systemcalendar.SystemcalendarConvert;
import com.win.module.wms.dal.dataobject.bom.BomDO;
import com.win.module.wms.dal.dataobject.systemcalendar.SystemcalendarDO;
import com.win.module.wms.dal.mysql.systemcalendar.SystemcalendarMapper;
import org.springframework.stereotype.Service;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception;
@ -136,7 +130,6 @@ public class SystemcalendarServiceImpl implements SystemcalendarService {
}
}
});
return errorList;
}
@ -150,6 +143,7 @@ public class SystemcalendarServiceImpl implements SystemcalendarService {
});
}
@VisibleForTesting
private void validateSystemcalendarExists(Long id) {
if (id == null) {
@ -160,6 +154,7 @@ public class SystemcalendarServiceImpl implements SystemcalendarService {
}
}
@VisibleForTesting
private void validateMoubleExists(String mouble) {
if (mouble == null) {

Loading…
Cancel
Save