|
@@ -1183,10 +1183,8 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
|
|
|
else if ("1".equals(warehouseInOutInfo.getInOutFlag()) && "2".equals(warehouseBaseInfo.getWarehouseType())) {
|
|
|
//临时库销售出库类型 且为自动创建的临时库时(采购报表进数据,销售报表也进数据)
|
|
|
if ("1".equals(warehouseInOutInfo.getInOutTypeKey()) && "1".equals(warehouseBaseInfo.getCreateType())) {
|
|
|
- //按出库重量结算
|
|
|
ContractManagementInfo contractManagementInfo = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
|
|
|
.eq("contract_no", warehouseBaseInfo.getWarehouseName())
|
|
|
- .eq("settlement_weight_method", "1")
|
|
|
.eq("deliver_type", "1")
|
|
|
.eq("delete_flag", "0"));
|
|
|
if (contractManagementInfo != null) {
|
|
@@ -1311,6 +1309,92 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
|
|
|
tranCarInfoService.updateById(tranCarInfo);
|
|
|
}
|
|
|
}
|
|
|
+ //临时库移库出库类型 且为自动创建的临时库时进采购报表
|
|
|
+ if ("3".equals(warehouseInOutInfo.getInOutTypeKey()) && "1".equals(warehouseBaseInfo.getCreateType())) {
|
|
|
+ //按出库重量结算
|
|
|
+ ContractManagementInfo contractManagementInfo = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
|
|
|
+ .eq("contract_no", warehouseBaseInfo.getWarehouseName())
|
|
|
+ .eq("settlement_weight_method", "1")
|
|
|
+ .eq("deliver_type", "1")
|
|
|
+ .eq("delete_flag", "0"));
|
|
|
+ if (contractManagementInfo != null) {
|
|
|
+ //现货采购入库报表
|
|
|
+ StockPurchaseReceiptReport stockPurchaseReceiptReport = new StockPurchaseReceiptReport();
|
|
|
+ stockPurchaseReceiptReport.setId(IdGenerator.generateUUID());
|
|
|
+ stockPurchaseReceiptReport.setCompId(warehouseBaseInfo.getCompId());
|
|
|
+ stockPurchaseReceiptReport.setWarehouseRecordId(warehouseInOutInfo.getId());
|
|
|
+ stockPurchaseReceiptReport.setContractNo(contractManagementInfo.getContractNo());
|
|
|
+ stockPurchaseReceiptReport.setWarehouseName(warehouseInOutInfo.getWarehouseName());
|
|
|
+ stockPurchaseReceiptReport.setCarNo(warehouseInOutInfo.getCarNo());
|
|
|
+ stockPurchaseReceiptReport.setGrossWeight(warehouseInOutInfo.getGrossWeight());
|
|
|
+ stockPurchaseReceiptReport.setTare(warehouseInOutInfo.getTare());
|
|
|
+ stockPurchaseReceiptReport.setNetWeight(warehouseInOutInfo.getNetWeight());
|
|
|
+ stockPurchaseReceiptReport.setWarehousingDate(warehouseInOutInfo.getInOutDate());
|
|
|
+ stockPurchaseReceiptReport.setSettlementWeight(warehouseInOutInfo.getNetWeight());
|
|
|
+ stockPurchaseReceiptReport.setSettlementPrice(contractManagementInfo.getUnitContractPrice());
|
|
|
+ if(contractManagementInfo.getUnitContractPrice()!=null) {
|
|
|
+ stockPurchaseReceiptReport.setAmountIngPayable(warehouseInOutInfo.getNetWeight() *
|
|
|
+ (contractManagementInfo.getUnitContractPrice()));
|
|
|
+ }
|
|
|
+ stockPurchaseReceiptReport.setAmountEdPayable(0.0d);
|
|
|
+ stockPurchaseReceiptReport.setAmountNotPayable(stockPurchaseReceiptReport.getAmountIngPayable());
|
|
|
+ stockPurchaseReceiptReport.setStatusFlag(StatusEnum.FORM_REVIEWED.getFlag());
|
|
|
+ stockPurchaseReceiptReport.setStatus(StatusEnum.FORM_REVIEWED.getName());
|
|
|
+ stockPurchaseReceiptReportService.insert(stockPurchaseReceiptReport);
|
|
|
+ boolean isStartWorkflow = org.apache.commons.lang3.StringUtils.isBlank(stockPurchaseReceiptReport.getWorkflowId());
|
|
|
+ // 不是退回的单子
|
|
|
+ if (isStartWorkflow) {
|
|
|
+ Workflow workflow = workflowService
|
|
|
+ .findLatestWorkflowByBusinessCodeByApp(stockPurchaseReceiptReport.getCompId(), "STOCK-PROCUREMENT-RECEIPT-REPORT");
|
|
|
+ // 没配置审核流程,直接结束并处理信息
|
|
|
+ if (workflow == null) {
|
|
|
+ throw new YException(YExceptionEnum.PURCHASE_ORDER_ERROR);
|
|
|
+ }
|
|
|
+ // 开启审核流
|
|
|
+ else {
|
|
|
+ // 设置状态 已提交审核
|
|
|
+ stockPurchaseReceiptReport.setWorkflowId(workflow.getId());
|
|
|
+ stockPurchaseReceiptReportService.updateById(stockPurchaseReceiptReport);
|
|
|
+ workflowService.startInstance(workflow.getId(), stockPurchaseReceiptReport.getId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 退回的单子 再启用
|
|
|
+ else {
|
|
|
+ stockPurchaseReceiptReportService.updateById(stockPurchaseReceiptReport);
|
|
|
+ workflowService.activateInstance(stockPurchaseReceiptReport.getWorkflowId(), stockPurchaseReceiptReport.getId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ContractManagementInfo contractManagementInfo1 = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
|
|
|
+ .eq("contract_no", contractManagementInfo.getContractNo()).eq("delete_flag","0"));
|
|
|
+ if (contractManagementInfo1 == null) {
|
|
|
+ throw new YException(YExceptionEnum.CONTRACT_NO_NOT_EXSITS_ERROR);
|
|
|
+ }
|
|
|
+ Wrapper wrapper = new EntityWrapper<TranCarInfo>()
|
|
|
+ .eq("contract_no", warehouseInOutInfo.getContractNo())
|
|
|
+ .eq("car_no", warehouseInOutInfo.getCarNo())
|
|
|
+ .eq(TranCarInfo.QueryFiles.DELETE_FLAG, NumberConstant.CONSTANT0);
|
|
|
+ if (warehouseInOutInfo.getTranCarNo() != null && !warehouseInOutInfo.getTranCarNo().isEmpty()) {
|
|
|
+ wrapper.eq("tran_car_no", warehouseInOutInfo.getTranCarNo());
|
|
|
+ }
|
|
|
+ TranCarInfo tranCarInfo = tranCarInfoService.selectOne(wrapper);
|
|
|
+ if (tranCarInfo != null) {
|
|
|
+ //将发货数据同步到派车表
|
|
|
+ tranCarInfo.setLoadNetWeight(warehouseInOutInfo.getNetWeight());
|
|
|
+ if (warehouseInOutInfo.getAddressUrl()!=null) {
|
|
|
+ tranCarInfo.setLoadPoundImg(warehouseInOutInfo.getAddressUrl());
|
|
|
+ }
|
|
|
+ tranCarInfo.setLoadingDate(warehouseInOutInfo.getInOutDate());
|
|
|
+ tranCarInfo.setContractNo(warehouseInOutInfo.getContractNo());
|
|
|
+ tranCarInfo.setStatus(StatusEnum.LOADED.getName());
|
|
|
+ tranCarInfo.setStatusFlag(StatusEnum.LOADED.getFlag());
|
|
|
+ if ("1".equals(tranCarInfo.getSubmit())) {
|
|
|
+ throw new YException(YExceptionEnum.CARNO_SUBMITTED_ERROR);
|
|
|
+ } else {
|
|
|
+ tranCarInfo.setSubmit("1");
|
|
|
+ }
|
|
|
+ tranCarInfoService.updateById(tranCarInfo);
|
|
|
+ }
|
|
|
+ }
|
|
|
if (warehouseBaseInfo != null) {
|
|
|
//出库时打入成本
|
|
|
CostManagementInfo costManagementInfo = costManagementInfoService.selectOne(new EntityWrapper<CostManagementInfo>().eq("warehouse_id", warehouseInOutInfo.getBaseId())
|