|
@ -54,6 +54,7 @@ import com.win.module.wms.service.supplier.SupplierService; |
|
|
import com.win.module.wms.service.supplieritem.SupplieritemService; |
|
|
import com.win.module.wms.service.supplieritem.SupplieritemService; |
|
|
import com.win.module.wms.util.JobUtils; |
|
|
import com.win.module.wms.util.JobUtils; |
|
|
import com.win.module.wms.util.LocalDateTimeAdapter; |
|
|
import com.win.module.wms.util.LocalDateTimeAdapter; |
|
|
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
import org.springframework.stereotype.Service; |
|
|
import org.springframework.stereotype.Service; |
|
|
import org.springframework.transaction.annotation.Transactional; |
|
|
import org.springframework.transaction.annotation.Transactional; |
|
|
import org.springframework.validation.annotation.Validated; |
|
|
import org.springframework.validation.annotation.Validated; |
|
@ -72,6 +73,7 @@ import static com.win.module.wms.enums.ErrorCodeConstants.*; |
|
|
* |
|
|
* |
|
|
* @author 超级管理员 |
|
|
* @author 超级管理员 |
|
|
*/ |
|
|
*/ |
|
|
|
|
|
@Slf4j |
|
|
@Service |
|
|
@Service |
|
|
@Validated |
|
|
@Validated |
|
|
public class PurchaseMainServiceImpl implements PurchaseMainService { |
|
|
public class PurchaseMainServiceImpl implements PurchaseMainService { |
|
@ -152,6 +154,7 @@ public class PurchaseMainServiceImpl implements PurchaseMainService { |
|
|
private PurchaseMainDO validatePurchaseMainExists(Long id) { |
|
|
private PurchaseMainDO validatePurchaseMainExists(Long id) { |
|
|
PurchaseMainDO purchaseMainDO = purchaseMainMapper.selectById(id); |
|
|
PurchaseMainDO purchaseMainDO = purchaseMainMapper.selectById(id); |
|
|
if (purchaseMainDO == null) { |
|
|
if (purchaseMainDO == null) { |
|
|
|
|
|
log.error("采购收货申请主不存在,查询条件:{}",id); |
|
|
throw exception(PURCHASERECEIPT_REQUEST_MAIN_NOT_EXISTS); |
|
|
throw exception(PURCHASERECEIPT_REQUEST_MAIN_NOT_EXISTS); |
|
|
} |
|
|
} |
|
|
return purchaseMainDO; |
|
|
return purchaseMainDO; |
|
@ -604,11 +607,13 @@ public class PurchaseMainServiceImpl implements PurchaseMainService { |
|
|
PurchaseMainDO mainDO = validatePurchaseMainExists(id); |
|
|
PurchaseMainDO mainDO = validatePurchaseMainExists(id); |
|
|
Long count = purchasePlanMainMapper.selectBySonNumber(mainDO.getNumber()); |
|
|
Long count = purchasePlanMainMapper.selectBySonNumber(mainDO.getNumber()); |
|
|
if (count > 0) { |
|
|
if (count > 0) { |
|
|
|
|
|
log.error("采购订单存在要货计划任务单,查询条件:{}",mainDO.getNumber()); |
|
|
throw new ServiceException(PURCHASE_MAIN_EXISTS); |
|
|
throw new ServiceException(PURCHASE_MAIN_EXISTS); |
|
|
} |
|
|
} |
|
|
// 校验是否有子表数据
|
|
|
// 校验是否有子表数据
|
|
|
List<PurchaseDetailDO> detailDOList = purchaseDetailMapper.selectByMasterId(mainDO.getId()); |
|
|
List<PurchaseDetailDO> detailDOList = purchaseDetailMapper.selectByMasterId(mainDO.getId()); |
|
|
if(detailDOList == null || detailDOList.size() == 0){ |
|
|
if(detailDOList == null || detailDOList.size() == 0){ |
|
|
|
|
|
log.error("采购收货申请子不存在,查询条件:{}",mainDO.getId()); |
|
|
throw exception(PURCHASERECEIPT_REQUEST_DETAIL_NOT_EXISTS); |
|
|
throw exception(PURCHASERECEIPT_REQUEST_DETAIL_NOT_EXISTS); |
|
|
} |
|
|
} |
|
|
//如果是离散单
|
|
|
//如果是离散单
|
|
@ -629,6 +634,7 @@ public class PurchaseMainServiceImpl implements PurchaseMainService { |
|
|
purchasePlanMainDO.setSupplierCode(mainDO.getSupplierCode()); |
|
|
purchasePlanMainDO.setSupplierCode(mainDO.getSupplierCode()); |
|
|
RuleRespVO ruleRespVO = ruleService.purchasePlan(mainDO.getSupplierCode(), null); |
|
|
RuleRespVO ruleRespVO = ruleService.purchasePlan(mainDO.getSupplierCode(), null); |
|
|
if (ruleRespVO == null) { |
|
|
if (ruleRespVO == null) { |
|
|
|
|
|
log.error("供应商代码不存在,查询条件:{}",mainDO.getSupplierCode()); |
|
|
throw new ServiceException(STDCOSTPRICE_SUPPLIER_CODE_NOT_EXISTS); |
|
|
throw new ServiceException(STDCOSTPRICE_SUPPLIER_CODE_NOT_EXISTS); |
|
|
} else { |
|
|
} else { |
|
|
JSONObject conditionObject = JSONUtil.parseObj(ruleRespVO.getConfiguration()); |
|
|
JSONObject conditionObject = JSONUtil.parseObj(ruleRespVO.getConfiguration()); |
|
@ -659,6 +665,7 @@ public class PurchaseMainServiceImpl implements PurchaseMainService { |
|
|
purchaseDetailDOQueryWrapper.eq("available","TRUE"); |
|
|
purchaseDetailDOQueryWrapper.eq("available","TRUE"); |
|
|
List<PurchaseDetailDO> purchasePlanDetailDOList = purchaseDetailMapper.selectList(purchaseDetailDOQueryWrapper); |
|
|
List<PurchaseDetailDO> purchasePlanDetailDOList = purchaseDetailMapper.selectList(purchaseDetailDOQueryWrapper); |
|
|
if(purchasePlanDetailDOList == null || purchasePlanDetailDOList.size() == 0){ |
|
|
if(purchasePlanDetailDOList == null || purchasePlanDetailDOList.size() == 0){ |
|
|
|
|
|
log.error("采购订单子不存在,查询条件:{}",mainDO.getNumber()); |
|
|
throw exception(PURCHASE_DETAIL_NOT_EXISTS); |
|
|
throw exception(PURCHASE_DETAIL_NOT_EXISTS); |
|
|
} |
|
|
} |
|
|
PurchaseDetailDO temp = purchasePlanDetailDOList.get(0); |
|
|
PurchaseDetailDO temp = purchasePlanDetailDOList.get(0); |
|
@ -705,6 +712,7 @@ public class PurchaseMainServiceImpl implements PurchaseMainService { |
|
|
interfaceInfoDO.setCreator("1"); |
|
|
interfaceInfoDO.setCreator("1"); |
|
|
interfaceInfoDO.setCreateTime(LocalDateTime.now()); |
|
|
interfaceInfoDO.setCreateTime(LocalDateTime.now()); |
|
|
interfaceInfoDO.setInterfaceStatus("3"); |
|
|
interfaceInfoDO.setInterfaceStatus("3"); |
|
|
|
|
|
interfaceInfoDO.setTenantId(mainDO.getTenantId().toString()); |
|
|
interfaceInfoService.insertInterfaceData(interfaceInfoDO); |
|
|
interfaceInfoService.insertInterfaceData(interfaceInfoDO); |
|
|
|
|
|
|
|
|
// 要货计划 接受/不接受/下架时,创建 接口表数据
|
|
|
// 要货计划 接受/不接受/下架时,创建 接口表数据
|
|
@ -714,14 +722,15 @@ public class PurchaseMainServiceImpl implements PurchaseMainService { |
|
|
interfaceInfoDODetail.setInterfaceName("推送要货计划子"); |
|
|
interfaceInfoDODetail.setInterfaceName("推送要货计划子"); |
|
|
interfaceInfoDODetail.setUrl("/wms/purchase-main/acc"); |
|
|
interfaceInfoDODetail.setUrl("/wms/purchase-main/acc"); |
|
|
interfaceInfoDODetail.setReqBody(gson.toJson(purchasePlanDetailDOListInterFace)); |
|
|
interfaceInfoDODetail.setReqBody(gson.toJson(purchasePlanDetailDOListInterFace)); |
|
|
interfaceInfoDO.setCreator("1"); |
|
|
interfaceInfoDODetail.setCreator("1"); |
|
|
interfaceInfoDODetail.setCreateTime(LocalDateTime.now()); |
|
|
interfaceInfoDODetail.setCreateTime(LocalDateTime.now()); |
|
|
interfaceInfoDODetail.setInterfaceStatus("3"); |
|
|
interfaceInfoDODetail.setInterfaceStatus("3"); |
|
|
|
|
|
interfaceInfoDODetail.setTenantId(mainDO.getTenantId().toString()); |
|
|
interfaceInfoService.insertInterfaceData(interfaceInfoDODetail); |
|
|
interfaceInfoService.insertInterfaceData(interfaceInfoDODetail); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
mainDO.setStatus(OrderStatusEnum.PUBLISHED.getCode());//增加操作记录
|
|
|
mainDO.setStatus(OrderStatusEnum.PUBLISHED.getCode());//增加操作记录
|
|
|
trendsApi.createTrends(id, "order_purchase_main", "发布了采购订单", TrendsTypeEnum.ORDER_PUBLISH); |
|
|
trendsApi.createTrendsByTask(id, "order_purchase_main", "发布了采购订单", TrendsTypeEnum.ORDER_PUBLISH,mainDO.getCreator()); |
|
|
res = purchaseMainMapper.updateById(mainDO); |
|
|
res = purchaseMainMapper.updateById(mainDO); |
|
|
|
|
|
|
|
|
// 添加到接口记录表
|
|
|
// 添加到接口记录表
|
|
@ -738,6 +747,7 @@ public class PurchaseMainServiceImpl implements PurchaseMainService { |
|
|
interfaceInfoDO.setCreator("1"); |
|
|
interfaceInfoDO.setCreator("1"); |
|
|
interfaceInfoDO.setCreateTime(LocalDateTime.now()); |
|
|
interfaceInfoDO.setCreateTime(LocalDateTime.now()); |
|
|
interfaceInfoDO.setInterfaceStatus("3"); |
|
|
interfaceInfoDO.setInterfaceStatus("3"); |
|
|
|
|
|
interfaceInfoDO.setTenantId(mainDO.getTenantId().toString()); |
|
|
interfaceInfoService.insertInterfaceData(interfaceInfoDO); |
|
|
interfaceInfoService.insertInterfaceData(interfaceInfoDO); |
|
|
|
|
|
|
|
|
// 采购订单 发布时,创建 接口表数据
|
|
|
// 采购订单 发布时,创建 接口表数据
|
|
@ -747,9 +757,10 @@ public class PurchaseMainServiceImpl implements PurchaseMainService { |
|
|
interfaceInfoDODetail.setInterfaceName("推送采购订单子"); |
|
|
interfaceInfoDODetail.setInterfaceName("推送采购订单子"); |
|
|
interfaceInfoDODetail.setUrl("/wms/purchase-main/publish"); |
|
|
interfaceInfoDODetail.setUrl("/wms/purchase-main/publish"); |
|
|
interfaceInfoDODetail.setReqBody(gson.toJson(detailDOList)); |
|
|
interfaceInfoDODetail.setReqBody(gson.toJson(detailDOList)); |
|
|
interfaceInfoDO.setCreator("1"); |
|
|
interfaceInfoDODetail.setCreator("1"); |
|
|
interfaceInfoDODetail.setCreateTime(LocalDateTime.now()); |
|
|
interfaceInfoDODetail.setCreateTime(LocalDateTime.now()); |
|
|
interfaceInfoDODetail.setInterfaceStatus("3"); |
|
|
interfaceInfoDODetail.setInterfaceStatus("3"); |
|
|
|
|
|
interfaceInfoDODetail.setTenantId(mainDO.getTenantId().toString()); |
|
|
interfaceInfoService.insertInterfaceData(interfaceInfoDODetail); |
|
|
interfaceInfoService.insertInterfaceData(interfaceInfoDODetail); |
|
|
return res; |
|
|
return res; |
|
|
} |
|
|
} |
|
@ -990,4 +1001,16 @@ public class PurchaseMainServiceImpl implements PurchaseMainService { |
|
|
return purchaseMainMapper.selectList(conditions); |
|
|
return purchaseMainMapper.selectList(conditions); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
|
@Transactional |
|
|
|
|
|
public void autoHandlePurchaseMainByJob() { |
|
|
|
|
|
LambdaQueryWrapperX<PurchaseMainDO> purchaseMainDOLambdaQueryWrapperX = new LambdaQueryWrapperX<>(); |
|
|
|
|
|
purchaseMainDOLambdaQueryWrapperX.eq(PurchaseMainDO::getStatus,"1");// 准备状态的数据
|
|
|
|
|
|
purchaseMainDOLambdaQueryWrapperX.orderByAsc(PurchaseMainDO::getCreateTime); |
|
|
|
|
|
purchaseMainDOLambdaQueryWrapperX.last(" limit 50"); |
|
|
|
|
|
List<PurchaseMainDO> mainDOList = purchaseMainMapper.selectList(purchaseMainDOLambdaQueryWrapperX); |
|
|
|
|
|
for(PurchaseMainDO purchaseMainDO:mainDOList){ |
|
|
|
|
|
this.publishPurchaseMain(purchaseMainDO.getId()); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|