Browse Source

Merge remote-tracking branch 'origin/master'

master
陈薪名 2 years ago
parent
commit
0de54bd340
  1. 14
      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. 64
      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

14
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.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.accountcalendar.vo.*; import com.win.module.wms.controller.accountcalendar.vo.*;
import com.win.module.wms.controller.itembasic.vo.ItembasicExcelVO; import com.win.module.wms.controller.bom.vo.BomImportErrorVO;
import com.win.module.wms.controller.systemcalendar.vo.SystemcalendarRespVO;
import com.win.module.wms.convert.accountcalendar.AccountcalendarConvert; 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.accountcalendar.AccountcalendarDO;
import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO;
import com.win.module.wms.enums.DictTypeConstants; import com.win.module.wms.enums.DictTypeConstants;
import com.win.module.wms.service.accountcalendar.AccountcalendarService; import com.win.module.wms.service.accountcalendar.AccountcalendarService;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
@ -167,16 +163,18 @@ public class AccountcalendarController {
@Parameter(name = "updatePart", description = "部分更新,默认为 true", example = "true") @Parameter(name = "updatePart", description = "部分更新,默认为 true", example = "true")
}) })
@PreAuthorize("@ss.hasPermission('wms:accountcalendar:import')") @PreAuthorize("@ss.hasPermission('wms:accountcalendar:import')")
public void 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,
@RequestParam(value = "updatePart", required = false, defaultValue = "false") Boolean updatePart) throws Exception { @RequestParam(value = "updatePart", required = false, defaultValue = "false") Boolean updatePart) throws Exception {
List<AccountcalendarImportExcelVo> list = ExcelUtils.read(file, AccountcalendarImportExcelVo.class); 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<>(); Map<String, Object> returnMap = new HashMap<>();
returnMap.put("errorCount", errorList.size()); returnMap.put("errorCount", errorList.size());
if(!errorList.isEmpty()) { if(!errorList.isEmpty()) {
String url = ExcelUtils.writeLocalFile("账期日历导入错误数据" + LocalDateTime.now().toEpochSecond(ZoneOffset.of("+8")) + ".xls", "错误列表", errorList); String url = ExcelUtils.writeLocalFile("账期日历导入错误数据" + LocalDateTime.now().toEpochSecond(ZoneOffset.of("+8")) + ".xls", "错误列表", errorList);
returnMap.put("errorFile", url); 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 io.swagger.v3.oas.annotations.media.Schema;
import lombok.*; import lombok.*;
import java.math.BigDecimal;
@Schema(description = "管理后台 - 采购退货任务子更新 Request VO") @Schema(description = "管理后台 - 采购退货任务子更新 Request VO")
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true) @ToString(callSuper = true)
public class PurchasereturnJobDetailUpdateReqVO extends PurchasereturnJobDetailBaseVO { 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.framework.common.pojo.PageResult;
import com.win.module.wms.controller.accountcalendar.vo.*; 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 com.win.module.wms.dal.dataobject.accountcalendar.AccountcalendarDO;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers; import org.mapstruct.factory.Mappers;
@ -32,4 +34,6 @@ public interface AccountcalendarConvert {
List<AccountcalendarExcelVO> convertList02(List<AccountcalendarDO> list); 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; 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.AccountcalendarExportReqVO;
import com.win.module.wms.controller.accountcalendar.vo.AccountcalendarPageReqVO; 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.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 org.apache.ibatis.annotations.Mapper;
import java.util.List; 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.BomExportReqVO;
import com.win.module.wms.controller.bom.vo.BomPageReqVO; 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.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 org.apache.ibatis.annotations.Mapper;
import java.util.List; 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<AccountcalendarDO> getAccountcalendarList(AccountcalendarExportReqVO exportReqVO);
List<AccountcalendarImportExcelVo> importAccountcalendarList(List<AccountcalendarImportExcelVo> accountcalendarImportExcelVos, Integer mode, boolean updatePart); List<AccountcalendarImportErrorVO> importAccountcalendarList(List<AccountcalendarImportExcelVo> accountcalendarImportExcelVos, Integer mode, boolean updatePart);
} }

64
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.common.pojo.PageResult;
import com.win.framework.datapermission.core.util.DataPermissionUtils; import com.win.framework.datapermission.core.util.DataPermissionUtils;
import com.win.module.wms.controller.accountcalendar.vo.*; 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.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.accountcalendar.AccountcalendarDO;
import com.win.module.wms.dal.dataobject.bom.BomDO;
import com.win.module.wms.dal.mysql.accountcalendar.AccountcalendarMapper; import com.win.module.wms.dal.mysql.accountcalendar.AccountcalendarMapper;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport; import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
@ -37,14 +41,15 @@ public class AccountcalendarServiceImpl implements AccountcalendarService {
private AccountcalendarMapper accountcalendarMapper; private AccountcalendarMapper accountcalendarMapper;
@Override @Override
@Transactional
public Long createAccountcalendar(AccountcalendarCreateReqVO createReqVO) { public Long createAccountcalendar(AccountcalendarCreateReqVO createReqVO) {
validateAccountcalendarForCreateOrUpdate(createReqVO.getId(),createReqVO.getAvailable()); validateAccountcalendarForCreateOrUpdate(createReqVO.getId(),createReqVO.getAvailable());
// 插入 // 插入
AccountcalendarDO accountcalendar = AccountcalendarConvert.INSTANCE.convert(createReqVO); AccountcalendarDO accountCalendar = AccountcalendarConvert.INSTANCE.convert(createReqVO);
validateAccountcalendarForCreateOrUpdate(null,createReqVO.getAvailable()); validateAccountcalendarForCreateOrUpdate(null,createReqVO.getAvailable());
accountcalendarMapper.insert(accountcalendar); accountcalendarMapper.insert(accountCalendar);
// 返回 // 返回
return accountcalendar.getId(); return accountCalendar.getId();
} }
@Override @Override
@ -88,47 +93,50 @@ public class AccountcalendarServiceImpl implements AccountcalendarService {
return accountcalendarMapper.selectList(exportReqVO); return accountcalendarMapper.selectList(exportReqVO);
} }
public List<AccountcalendarImportExcelVo> importAccountcalendarList(List<AccountcalendarImportExcelVo> importAccountcalendars, Integer mode, boolean updatePart) { public String validateAccountcalendarImport(AccountcalendarDO importAccountcalendar){
if (CollUtil.isEmpty(importAccountcalendars)) { StringBuilder message = new StringBuilder();
throw exception(ACCOUNTCALENDAR_IMPORT_LIST_IS_EMPTY);
}
List<AccountcalendarImportExcelVo> errorList = new ArrayList<>();
importAccountcalendars.forEach(importAccountcalendar -> {
String massage = "";
// 校验,判断是否有不符合的原因
if(mode != null){
try { try {
validateAccountcalendarExists(null); validateAccountcalendarExists(null);
} catch (ServiceException ex) { } catch (ServiceException ex) {
massage += ex.getMessage() + ","; message.append(ex.getMessage()).append(",");
} }
try { try {
validateAvailableExists(importAccountcalendar.getAvailable()); validateAvailableExists(importAccountcalendar.getAvailable());
} catch (ServiceException ex) { } catch (ServiceException ex) {
massage += ex.getMessage() + ","; message.append(ex.getMessage()).append(",");
} }
return message.toString();
} }
if(StrUtil.isNotEmpty(massage)){
massage.substring(0,massage.length()-1); public List<AccountcalendarImportErrorVO> importAccountcalendarList(List<AccountcalendarImportExcelVo> importAccountcalendars, Integer mode, boolean updatePart) {
errorList.add(importAccountcalendar); if (CollUtil.isEmpty(importAccountcalendars)) {
throw exception(ACCOUNTCALENDAR_IMPORT_LIST_IS_EMPTY);
} }
if(errorList == null){ List<AccountcalendarImportErrorVO> errorList = new ArrayList<>();
// 判断如果不存在,在进行插入 importAccountcalendars.forEach(importAccountcalendar -> {
AccountcalendarDO existAccountcalendar = new AccountcalendarDO(); AccountcalendarDO accountcalendarDO = AccountcalendarConvert.INSTANCE.convert(importAccountcalendar);
if (existAccountcalendar == null&& mode != 3) { 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(flag){
if ( mode != 3) {
accountcalendarMapper.insert(AccountcalendarConvert.INSTANCE.convert(importAccountcalendar)); accountcalendarMapper.insert(AccountcalendarConvert.INSTANCE.convert(importAccountcalendar));
} }
else if (existAccountcalendar != null && mode != 2) {// 如果存在,判断是否允许更新 else if ( mode != 2) {
AccountcalendarDO accountcalendarDO = AccountcalendarConvert.INSTANCE.convert(importAccountcalendar); // 如果存在,判断是否允许更新
accountcalendarDO.setId(existAccountcalendar.getId());
accountcalendarMapper.updateById(accountcalendarDO); accountcalendarMapper.updateById(accountcalendarDO);
} }
} }
}); });
//错误不为空并非部分更新,手工回滚
if(!errorList.isEmpty() && !updatePart) {
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
}
return errorList; 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.common.pojo.PageResult;
import com.win.framework.datapermission.core.util.DataPermissionUtils; import com.win.framework.datapermission.core.util.DataPermissionUtils;
import com.win.module.wms.controller.bom.vo.*; 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.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.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 com.win.module.wms.dal.mysql.bom.BomMapper;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
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.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection;
import java.util.List; import java.util.List;
import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; 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.inspectJob.InspectJobMainMapper;
import com.win.module.wms.dal.mysql.inspectRecord.InspectRecordDetailMapper; 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.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.dal.mysql.inspectRequest.InspectRequestMainMapper;
import com.win.module.wms.enums.job.JobStatusEnum; import com.win.module.wms.enums.job.JobStatusEnum;
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.enums.request.RequestStatusEnum;
import com.win.module.wms.service.expectin.ExpectinService; 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.service.transaction.TransactionService;
import com.win.module.wms.util.JobUtils; import com.win.module.wms.util.JobUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
@ -84,7 +84,7 @@ public class InspectJobMainServiceImpl implements InspectJobMainService {
@Resource @Resource
private BalanceMapper balanceMapper; private BalanceMapper balanceMapper;
@Resource @Resource
private InspectRequestDetailService inspectRequestDetailService; private InspectRequestDetailMapper inspectRequestDetailMapper;
@Override @Override
public InspectJobMainDO getInspectJobMain(Long id) { public InspectJobMainDO getInspectJobMain(Long id) {
@ -318,6 +318,7 @@ public class InspectJobMainServiceImpl implements InspectJobMainService {
//全检,再次生成检验申请 //全检,再次生成检验申请
if(inspectJobMainUpdateReqVO.getNextAction().equals("FULL_INSPECT")) { if(inspectJobMainUpdateReqVO.getNextAction().equals("FULL_INSPECT")) {
InspectRequestMainDO requestMainDO = inspectRequestMainMapper.selectByNumber(inspectJobMainUpdateReqVO.getRequestNumber()); InspectRequestMainDO requestMainDO = inspectRequestMainMapper.selectByNumber(inspectJobMainUpdateReqVO.getRequestNumber());
List<InspectRequestDetailDO> requestDetailDOList = inspectRequestDetailMapper.selectList(requestMainDO.getId());
String requestNumber = serialNumberApi.generateCode(RuleCodeEnum.INSPECT_REQUEST.getCode()); String requestNumber = serialNumberApi.generateCode(RuleCodeEnum.INSPECT_REQUEST.getCode());
requestMainDO.setNumber(requestNumber); requestMainDO.setNumber(requestNumber);
requestMainDO.setSampleQty(requestMainDO.getReceiveQty()); requestMainDO.setSampleQty(requestMainDO.getReceiveQty());
@ -330,7 +331,6 @@ public class InspectJobMainServiceImpl implements InspectJobMainService {
requestMainDO.setUpdater(null); requestMainDO.setUpdater(null);
requestMainDO.setUpdateTime(null); requestMainDO.setUpdateTime(null);
inspectRequestMainMapper.insert(requestMainDO); inspectRequestMainMapper.insert(requestMainDO);
List<InspectRequestDetailDO> requestDetailDOList = inspectRequestDetailService.selectList(requestMainDO.getId());
for(InspectRequestDetailDO inspectRequestDetailDO : requestDetailDOList) { for(InspectRequestDetailDO inspectRequestDetailDO : requestDetailDOList) {
inspectRequestDetailDO.setId(null); inspectRequestDetailDO.setId(null);
inspectRequestDetailDO.setCreator(null); inspectRequestDetailDO.setCreator(null);
@ -340,6 +340,7 @@ public class InspectJobMainServiceImpl implements InspectJobMainService {
inspectRequestDetailDO.setMasterId(requestMainDO.getId()); inspectRequestDetailDO.setMasterId(requestMainDO.getId());
inspectRequestDetailDO.setNumber(requestNumber); inspectRequestDetailDO.setNumber(requestNumber);
} }
inspectRequestDetailMapper.insertBatch(requestDetailDOList);
} else { } else {
//增加库存事务 //增加库存事务
transactionService.createTransaction(transactionCreateReqVOList); 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 @Transactional
public List<InventoryinitRequestMainImportErrorVO> importInventoryinitRequestMainList(List<InventoryinitRequestMainCreateReqVO> datas, Integer mode, boolean updatePart) { public List<InventoryinitRequestMainImportErrorVO> importInventoryinitRequestMainList(List<InventoryinitRequestMainCreateReqVO> datas, Integer mode, boolean updatePart) {
if (CollUtil.isEmpty(datas)) { if (CollUtil.isEmpty(datas)) {
throw exception(PURCHASECLAIM_REQUEST_IMPORT_LIST_IS_EMPTY); throw exception(INVENTORYINIT_REQUEST_MAIN_NOT_EXISTS);
} }
List<InventoryinitRequestMainImportErrorVO> errorList = new ArrayList<>(); List<InventoryinitRequestMainImportErrorVO> errorList = new ArrayList<>();
datas.forEach(createReqVO -> { 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.PurchasereturnJobMainPageReqVO;
import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobMainUpdateReqVO; import com.win.module.wms.controller.purchasereturnJob.vo.PurchasereturnJobMainUpdateReqVO;
import com.win.module.wms.controller.transaction.vo.TransactionCreateReqVO; 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.businesstype.BusinesstypeDO;
import com.win.module.wms.dal.dataobject.purchasereturnJob.PurchasereturnJobDetailDO; import com.win.module.wms.dal.dataobject.purchasereturnJob.PurchasereturnJobDetailDO;
import com.win.module.wms.dal.dataobject.purchasereturnJob.PurchasereturnJobMainDO; 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.purchasereturnRequest.PurchasereturnRequestMainDO;
import com.win.module.wms.dal.dataobject.supplierdeliverRecord.SupplierdeliverRecordDetailDO; import com.win.module.wms.dal.dataobject.supplierdeliverRecord.SupplierdeliverRecordDetailDO;
import com.win.module.wms.dal.dataobject.transactiontype.TransactiontypeDO; 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.purchasereturnJob.PurchasereturnJobMainMapper;
import com.win.module.wms.dal.mysql.purchasereturnRecord.PurchasereturnRecordDetailMapper; import com.win.module.wms.dal.mysql.purchasereturnRecord.PurchasereturnRecordDetailMapper;
import com.win.module.wms.dal.mysql.purchasereturnRecord.PurchasereturnRecordMainMapper; import com.win.module.wms.dal.mysql.purchasereturnRecord.PurchasereturnRecordMainMapper;
@ -86,6 +89,8 @@ public class PurchasereturnJobMainServiceImpl implements PurchasereturnJobMainSe
private SerialNumberApi serialNumberApi; private SerialNumberApi serialNumberApi;
@Resource @Resource
private JobUtils jobUtils; private JobUtils jobUtils;
@Resource
private BalanceMapper balanceMapper;
@Override @Override
public PageResult<PurchasereturnJobMainDO> getPurchasereturnJobMainSenior(CustomConditions conditions) { public PageResult<PurchasereturnJobMainDO> getPurchasereturnJobMainSenior(CustomConditions conditions) {
@ -204,7 +209,6 @@ public class PurchasereturnJobMainServiceImpl implements PurchasereturnJobMainSe
public String executePurchasereturnJobMain(PurchasereturnJobMainUpdateReqVO purchasereturnJobMainUpdateReqVO) { public String executePurchasereturnJobMain(PurchasereturnJobMainUpdateReqVO purchasereturnJobMainUpdateReqVO) {
//查询数据 //查询数据
PurchasereturnJobMainDO purchasereturnJobMainDO = this.validatePurchasereturnJobMainExists(purchasereturnJobMainUpdateReqVO.getId()); PurchasereturnJobMainDO purchasereturnJobMainDO = this.validatePurchasereturnJobMainExists(purchasereturnJobMainUpdateReqVO.getId());
List<PurchasereturnJobDetailDO> subList = purchasereturnJobDetailService.selectList(purchasereturnJobMainDO.getId());
JobStatusState jobStatusState = new JobStatusState(purchasereturnJobMainDO.getStatus()); JobStatusState jobStatusState = new JobStatusState(purchasereturnJobMainDO.getStatus());
boolean flag = jobStatusState.execute(); boolean flag = jobStatusState.execute();
if(!flag) { if(!flag) {
@ -236,16 +240,22 @@ public class PurchasereturnJobMainServiceImpl implements PurchasereturnJobMainSe
List<PurchasereturnRecordDetailDO> purchasereturnRecordDetailDOList = new ArrayList<>(); List<PurchasereturnRecordDetailDO> purchasereturnRecordDetailDOList = new ArrayList<>();
//库存事务 //库存事务
List<TransactionCreateReqVO> transactionCreateReqVOList = 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(); PurchasereturnRecordDetailDO purchasereturnRecordDetailDO = new PurchasereturnRecordDetailDO();
BeanUtils.copyProperties(purchasereturnJobDetailDO, purchasereturnRecordDetailDO); BeanUtils.copyProperties(purchasereturnJobDetailDO, purchasereturnRecordDetailDO);
purchasereturnRecordDetailDO.setMasterId(purchasereturnRecordMainDO.getId()); purchasereturnRecordDetailDO.setMasterId(purchasereturnRecordMainDO.getId());
purchasereturnRecordDetailDO.setNumber(number); purchasereturnRecordDetailDO.setNumber(number);
purchasereturnRecordDetailDO.setJobDetailId(String.valueOf(purchasereturnJobDetailDO.getId())); purchasereturnRecordDetailDO.setJobDetailId(String.valueOf(purchasereturnJobDetailDO.getId()));
purchasereturnRecordDetailDO.setFromBatch(purchasereturnJobDetailDO.getBatch());
purchasereturnRecordDetailDO.setToBatch(purchasereturnJobDetailDO.getBatch());
purchasereturnRecordDetailDO.setFromPackingNumber(purchasereturnJobDetailDO.getPackingNumber()); 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.setId(null);
purchasereturnRecordDetailDO.setCreateTime(null); purchasereturnRecordDetailDO.setCreateTime(null);
purchasereturnRecordDetailDO.setCreator(null); purchasereturnRecordDetailDO.setCreator(null);
@ -254,21 +264,52 @@ public class PurchasereturnJobMainServiceImpl implements PurchasereturnJobMainSe
purchasereturnRecordDetailDOList.add(purchasereturnRecordDetailDO); purchasereturnRecordDetailDOList.add(purchasereturnRecordDetailDO);
//更新采购订单明细的退货数量 //更新采购订单明细的退货数量
purchaseMainService.updateOrderPurchaseReturnQty(purchasereturnRecordDetailDO.getPoNumber(), purchasereturnRecordDetailDO.getPoLine(), purchasereturnRecordDetailDO.getItemCode(), purchasereturnRecordDetailDO.getQty()); 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 //添加库存事务list
TransactionCreateReqVO transactionCreateReqVO = new TransactionCreateReqVO(); TransactionCreateReqVO transactionCreateReqVOOut = new TransactionCreateReqVO();
BeanUtils.copyProperties(purchasereturnRecordDetailDO, transactionCreateReqVO); BeanUtils.copyProperties(purchasereturnRecordDetailDO, transactionCreateReqVOOut);
//增加业务类型 //增加业务类型
BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("PurchaseReurnJob"); BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("PurchaseReurnJob");
transactionCreateReqVO.setBusinessType(businesstypeDO.getCode()); transactionCreateReqVOOut.setBusinessType(businesstypeDO.getCode());
TransactiontypeDO transactiontypeDO = jobUtils.selectDocumentFromTransactionType(businesstypeDO.getInTransactionType()); TransactiontypeDO transactionTypeDOOut = jobUtils.selectDocumentFromTransactionType(businesstypeDO.getOutTransactionType());
transactionCreateReqVO.setInventoryAction(transactiontypeDO.getInventoryAction()); transactionCreateReqVOOut.setInventoryAction(transactionTypeDOOut.getInventoryAction());
transactionCreateReqVO.setTransactionType(transactiontypeDO.getCode()); transactionCreateReqVOOut.setTransactionType(transactionTypeDOOut.getCode());
transactionCreateReqVO.setBusinessType(purchasereturnRecordMainDO.getBusinessType()); transactionCreateReqVOOut.setBusinessType(purchasereturnRecordMainDO.getBusinessType());
transactionCreateReqVO.setLocationCode(purchasereturnJobDetailDO.getFromLocationCode()); transactionCreateReqVOOut.setLocationCode(purchasereturnJobDetailDO.getFromLocationCode());
transactionCreateReqVO.setOwnerCode(purchasereturnRecordDetailDO.getFromOwnerCode()); transactionCreateReqVOOut.setOwnerCode(purchasereturnRecordDetailDO.getFromOwnerCode());
transactionCreateReqVO.setRecordNumber(number); transactionCreateReqVOOut.setSinglePrice(balanceDO.getSinglePrice());
transactionCreateReqVO.setId(null); transactionCreateReqVOOut.setAmount(balanceDO.getAmount());
transactionCreateReqVOList.add(transactionCreateReqVO); 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); purchasereturnRecordDetailMapper.insertBatch(purchasereturnRecordDetailDOList);
List<String> typeList = new ArrayList<>(); 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()); List<PurchasereturnRequestDetailDO> subDOList = PurchasereturnRequestDetailConvert.INSTANCE.convertList03(createReqVO.getSubList());
validatorToCreate(mainDO, subDOList); validatorToCreate(mainDO, subDOList);
String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_RECEIPT_REQUEST.getCode()); String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_RECEIPT_REQUEST.getCode());
mainDO.setRequestTime(LocalDateTime.now());
mainDO.setNumber(number); mainDO.setNumber(number);
purchasereturnRequestMainMapper.insert(mainDO);
for (PurchasereturnRequestDetailDO detailDO : subDOList) { for (PurchasereturnRequestDetailDO detailDO : subDOList) {
detailDO.setId(null); detailDO.setId(null);
detailDO.setMasterId(mainDO.getId()); detailDO.setMasterId(mainDO.getId());
detailDO.setNumber(number); detailDO.setNumber(number);
} }
purchasereturnRequestMainMapper.insert(mainDO);
purchasereturnRequestDetailMapper.insertBatch(subDOList); purchasereturnRequestDetailMapper.insertBatch(subDOList);
//调用自动执行方法 //调用自动执行方法
if (RequestStatusEnum.HANDLING.getCode().equals(mainDO.getStatus())) { if (RequestStatusEnum.HANDLING.getCode().equals(mainDO.getStatus())) {
@ -356,6 +357,7 @@ public class PurchasereturnRequestMainServiceImpl implements PurchasereturnReque
purchasereturnJobMainDO.setAllowPartialComplete(jobsettingDO.getAllowPartialComplete()); purchasereturnJobMainDO.setAllowPartialComplete(jobsettingDO.getAllowPartialComplete());
purchasereturnJobMainDO.setAllowModifyPackingNumber(jobsettingDO.getAllowModifyPackingNumber()); purchasereturnJobMainDO.setAllowModifyPackingNumber(jobsettingDO.getAllowModifyPackingNumber());
purchasereturnJobMainDO.setAllowModifyBatch(jobsettingDO.getAllowModifyBach()); purchasereturnJobMainDO.setAllowModifyBatch(jobsettingDO.getAllowModifyBach());
purchasereturnJobMainDO.setRequestTime(mainDO.getRequestTime());
purchasereturnJobMainDO.setId(null); purchasereturnJobMainDO.setId(null);
purchasereturnJobMainDO.setCreateTime(null); purchasereturnJobMainDO.setCreateTime(null);
purchasereturnJobMainDO.setCreator(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; package com.win.module.wms.service.systemcalendar;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.google.common.annotations.VisibleForTesting; import com.google.common.annotations.VisibleForTesting;
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.datapermission.core.util.DataPermissionUtils; 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.controller.systemcalendar.vo.*;
import com.win.module.wms.convert.bom.BomConvert;
import com.win.module.wms.convert.systemcalendar.SystemcalendarConvert; 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.dataobject.systemcalendar.SystemcalendarDO;
import com.win.module.wms.dal.mysql.systemcalendar.SystemcalendarMapper; import com.win.module.wms.dal.mysql.systemcalendar.SystemcalendarMapper;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection;
import java.util.List; import java.util.List;
import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception;
@ -136,7 +130,6 @@ public class SystemcalendarServiceImpl implements SystemcalendarService {
} }
} }
}); });
return errorList; return errorList;
} }
@ -150,6 +143,7 @@ public class SystemcalendarServiceImpl implements SystemcalendarService {
}); });
} }
@VisibleForTesting @VisibleForTesting
private void validateSystemcalendarExists(Long id) { private void validateSystemcalendarExists(Long id) {
if (id == null) { if (id == null) {
@ -160,6 +154,7 @@ public class SystemcalendarServiceImpl implements SystemcalendarService {
} }
} }
@VisibleForTesting @VisibleForTesting
private void validateMoubleExists(String mouble) { private void validateMoubleExists(String mouble) {
if (mouble == null) { if (mouble == null) {

Loading…
Cancel
Save