|
|
@ -8,6 +8,8 @@ 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.common.util.validation.ValidationUtils; |
|
|
|
import com.win.module.infra.api.trends.TrendsApi; |
|
|
|
import com.win.module.infra.enums.TrendsTypeEnum; |
|
|
|
import com.win.module.system.api.serialnumber.SerialNumberApi; |
|
|
|
import com.win.module.system.enums.serialNumber.RuleCodeEnum; |
|
|
|
import com.win.module.wms.controller.purchasereceiptRequest.vo.*; |
|
|
@ -27,7 +29,6 @@ import com.win.module.wms.service.requestsetting.RequestsettingService; |
|
|
|
import com.win.module.wms.service.rule.RuleService; |
|
|
|
import com.win.module.wms.service.supplier.SupplierService; |
|
|
|
import com.win.module.wms.service.supplieritem.SupplieritemService; |
|
|
|
import org.springframework.beans.BeanUtils; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
import org.springframework.transaction.interceptor.TransactionAspectSupport; |
|
|
|
import org.springframework.validation.annotation.Validated; |
|
|
@ -63,6 +64,8 @@ public class PurchasereceiptRequestMainServiceImpl implements PurchasereceiptReq |
|
|
|
@Resource |
|
|
|
private SerialNumberApi serialNumberApi; |
|
|
|
@Resource |
|
|
|
private TrendsApi trendsApi; |
|
|
|
@Resource |
|
|
|
private Validator validator; |
|
|
|
@Resource |
|
|
|
private RequestsettingService requestsettingService; |
|
|
@ -72,33 +75,35 @@ public class PurchasereceiptRequestMainServiceImpl implements PurchasereceiptReq |
|
|
|
@Override |
|
|
|
public Long createPurchasereceiptRequestMain(PurchasereceiptRequestMainCreateReqVO createReqVO) { |
|
|
|
// 插入
|
|
|
|
PurchasereceiptRequestMainDO mainDo = PurchasereceiptRequestMainConvert.INSTANCE.convert(createReqVO); |
|
|
|
this.validatePurchasereceiptRequestMainCreate(mainDo); |
|
|
|
PurchasereceiptRequestMainDO mainDO = PurchasereceiptRequestMainConvert.INSTANCE.convert(createReqVO); |
|
|
|
this.validatePurchasereceiptRequestMainCreate(mainDO); |
|
|
|
List<PurchasereceiptRequestDetailDO> subDOList = PurchasereceiptRequestDetailConvert.INSTANCE.convertList03(createReqVO.getSubList()); |
|
|
|
for (PurchasereceiptRequestDetailDO detailDO : subDOList) { |
|
|
|
this.validatePurchasereceiptRequestDetailCreate(detailDO); |
|
|
|
} |
|
|
|
String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_RECEIPT_REQUEST.getCode()); |
|
|
|
mainDo.setNumber(number); |
|
|
|
mainDO.setNumber(number); |
|
|
|
RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("PurchaseReceiptRequest"); |
|
|
|
RequestStatusState requestStatusState = new RequestStatusState(); |
|
|
|
requestStatusState.newObject(requestsettingDO); |
|
|
|
mainDo.setStatus(requestStatusState.getState().getCode()); |
|
|
|
mainDo.setAutoCommit(requestsettingDO.getAutoCommit()); |
|
|
|
mainDo.setAutoAgree(requestsettingDO.getAutoAgree()); |
|
|
|
mainDo.setAutoExecute(requestsettingDO.getAutoExecute()); |
|
|
|
mainDO.setStatus(requestStatusState.getState().getCode()); |
|
|
|
mainDO.setAutoCommit(requestsettingDO.getAutoCommit()); |
|
|
|
mainDO.setAutoAgree(requestsettingDO.getAutoAgree()); |
|
|
|
mainDO.setAutoExecute(requestsettingDO.getAutoExecute()); |
|
|
|
//调用自动执行方法
|
|
|
|
if(requestsettingDO.getAutoCommit().equals("TRUE") && requestsettingDO.getAutoAgree().equals("TRUE") && requestsettingDO.getAutoExecute().equals("TREU")) { |
|
|
|
|
|
|
|
} |
|
|
|
purchasereceiptRequestMainMapper.insert(mainDo); |
|
|
|
purchasereceiptRequestMainMapper.insert(mainDO); |
|
|
|
for (PurchasereceiptRequestDetailDO detailDO : subDOList) { |
|
|
|
detailDO.setMasterId(mainDo.getId()); |
|
|
|
detailDO.setMasterId(mainDO.getId()); |
|
|
|
detailDO.setNumber(number); |
|
|
|
} |
|
|
|
purchasereceiptRequestDetailMapper.insertBatch(subDOList); |
|
|
|
//增加操作记录
|
|
|
|
trendsApi.createTrends(requestsettingDO.getId(), "purchasereceiptRequest", "增加了采购收货", TrendsTypeEnum.CREATE); |
|
|
|
// 返回
|
|
|
|
return mainDo.getId(); |
|
|
|
return mainDO.getId(); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
@ -108,6 +113,8 @@ public class PurchasereceiptRequestMainServiceImpl implements PurchasereceiptReq |
|
|
|
if(existPurchasereceiptRequestMainDO.getStatus().equals(RequestStatusEnum.NEW.getCode())) { |
|
|
|
throw new ServiceException(PURCHASERECEIPT_REQUEST_STATUS_NOT_NEW); |
|
|
|
} |
|
|
|
//增加操作记录
|
|
|
|
trendsApi.createTrends(updateReqVO.getId(), "purchasereceiptRequest", existPurchasereceiptRequestMainDO.toString(), TrendsTypeEnum.UPDATE); |
|
|
|
// 更新
|
|
|
|
PurchasereceiptRequestMainDO updateObj = PurchasereceiptRequestMainConvert.INSTANCE.convert(updateReqVO); |
|
|
|
return purchasereceiptRequestMainMapper.updateById(updateObj); |
|
|
@ -124,6 +131,8 @@ public class PurchasereceiptRequestMainServiceImpl implements PurchasereceiptReq |
|
|
|
if(count > 0) { |
|
|
|
throw new ServiceException(PURCHASERECEIPT_REQUEST_JOB_EXISTS); |
|
|
|
} |
|
|
|
//增加操作记录
|
|
|
|
trendsApi.createTrends(id, "purchasereceiptRequest", existPurchasereceiptRequestMainDO.toString(), TrendsTypeEnum.DELETE); |
|
|
|
// 删除子表数据
|
|
|
|
Map<String, Object> map = new HashMap<>(); |
|
|
|
map.put("master_id", id); |
|
|
@ -187,9 +196,12 @@ public class PurchasereceiptRequestMainServiceImpl implements PurchasereceiptReq |
|
|
|
} |
|
|
|
//写入数据
|
|
|
|
if(flag) { |
|
|
|
PurchasereceiptRequestMainDO existPurchasereceiptRequestMainDO = purchasereceiptRequestMainMapper.selectBySupplierCode(mainDo.getSupplierCode()); |
|
|
|
if(existPurchasereceiptRequestMainDO == null && mode != 3) {//新增
|
|
|
|
//申请单目前只做新增
|
|
|
|
//PurchasereceiptRequestMainDO existPurchasereceiptRequestMainDO = purchasereceiptRequestMainMapper.selectBySupplierCode(mainDo.getSupplierCode());
|
|
|
|
//if(existPurchasereceiptRequestMainDO == null && mode != 3) {//新增
|
|
|
|
purchasereceiptRequestMainMapper.insert(mainDo); |
|
|
|
//增加操作记录
|
|
|
|
trendsApi.createTrends(mainDo.getId(), "purchasereceiptRequest", "导入了采购收货", TrendsTypeEnum.CREATE); |
|
|
|
String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_RECEIPT_REQUEST.getCode()); |
|
|
|
mainDo.setNumber(number); |
|
|
|
RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("PurchaseReceiptRequest"); |
|
|
@ -208,15 +220,22 @@ public class PurchasereceiptRequestMainServiceImpl implements PurchasereceiptReq |
|
|
|
|
|
|
|
} |
|
|
|
purchasereceiptRequestDetailMapper.insertBatch(subDOList); |
|
|
|
} else if(existPurchasereceiptRequestMainDO != null && existPurchasereceiptRequestMainDO.getStatus().equals(RequestStatusEnum.NEW.getCode()) && mode != 2) {//修改
|
|
|
|
BeanUtils.copyProperties(existPurchasereceiptRequestMainDO, mainDo); |
|
|
|
purchasereceiptRequestMainMapper.updateById(mainDo); |
|
|
|
for (PurchasereceiptRequestDetailDO detailDO : subDOList) { |
|
|
|
detailDO.setMasterId(mainDo.getId()); |
|
|
|
detailDO.setNumber(mainDo.getNumber()); |
|
|
|
purchasereceiptRequestDetailMapper.insertBatch(subDOList); |
|
|
|
} |
|
|
|
} |
|
|
|
//} else if(existPurchasereceiptRequestMainDO != null && existPurchasereceiptRequestMainDO.getStatus().equals(RequestStatusEnum.NEW.getCode()) && mode != 2) {//修改
|
|
|
|
//BeanUtils.copyProperties(existPurchasereceiptRequestMainDO, mainDo);
|
|
|
|
//purchasereceiptRequestMainMapper.updateById(mainDo);
|
|
|
|
//增加操作记录
|
|
|
|
//trendsApi.createTrends(mainDo.getId(), "purchasereceiptRequest", existPurchasereceiptRequestMainDO.toString(), TrendsTypeEnum.UPDATE);
|
|
|
|
// 删除子表数据
|
|
|
|
//Map<String, Object> map = new HashMap<>();
|
|
|
|
//map.put("master_id", mainDo.getId());
|
|
|
|
//删除子表
|
|
|
|
//purchasereceiptRequestDetailMapper.deleteByMap(map);
|
|
|
|
//for (PurchasereceiptRequestDetailDO detailDO : subDOList) {
|
|
|
|
// detailDO.setMasterId(mainDo.getId());
|
|
|
|
// detailDO.setNumber(mainDo.getNumber());
|
|
|
|
// purchasereceiptRequestDetailMapper.insertBatch(subDOList);
|
|
|
|
//}
|
|
|
|
//}
|
|
|
|
} |
|
|
|
}); |
|
|
|
//错误不为空并非部分更新,手工回滚
|
|
|
@ -226,6 +245,51 @@ public class PurchasereceiptRequestMainServiceImpl implements PurchasereceiptReq |
|
|
|
return errorList; |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public Integer closePurchasereceiptRequestMain(Long id) { |
|
|
|
// 校验存在
|
|
|
|
PurchasereceiptRequestMainDO mainDO = validatePurchasereceiptRequestMainExists(id); |
|
|
|
Long count = purchasereceiptJobMainMapper.selectByRequestNumber(mainDO.getNumber()); |
|
|
|
if(count > 0) { |
|
|
|
throw new ServiceException(PURCHASERECEIPT_REQUEST_JOB_EXISTS); |
|
|
|
} |
|
|
|
RequestStatusState requestStatusState = new RequestStatusState(); |
|
|
|
boolean flag = requestStatusState.close(); |
|
|
|
if(!flag) { |
|
|
|
throw new ServiceException(PURCHASERECEIPT_REQUEST_CANNOT_CLOSE); |
|
|
|
} |
|
|
|
mainDO.setStatus(requestStatusState.getState().getCode()); |
|
|
|
return purchasereceiptRequestMainMapper.updateById(mainDO); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public Integer submitPurchasereceiptRequestMain(Long id) { |
|
|
|
// 校验存在
|
|
|
|
PurchasereceiptRequestMainDO mainDO = validatePurchasereceiptRequestMainExists(id); |
|
|
|
Long count = purchasereceiptJobMainMapper.selectByRequestNumber(mainDO.getNumber()); |
|
|
|
if(count > 0) { |
|
|
|
throw new ServiceException(PURCHASERECEIPT_REQUEST_JOB_EXISTS); |
|
|
|
} |
|
|
|
RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("PurchaseReceiptRequest"); |
|
|
|
RequestStatusState requestStatusState = new RequestStatusState(); |
|
|
|
boolean flag = requestStatusState.submit(requestsettingDO); |
|
|
|
if(!flag) { |
|
|
|
throw new ServiceException(PURCHASERECEIPT_REQUEST_CANNOT_CLOSE); |
|
|
|
} |
|
|
|
mainDO.setStatus(requestStatusState.getState().getCode()); |
|
|
|
return purchasereceiptRequestMainMapper.updateById(mainDO); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public Integer agreePurchasereceiptRequestMain(Long id) { |
|
|
|
return null; |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public Integer abortPurchasereceiptRequestMain(Long id) { |
|
|
|
return null; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 校验导入,并赋值一些参数,未完全实现 |
|
|
|
* @param mainDo |
|
|
|