|
@@ -33,6 +33,7 @@ import com.baomidou.mybatisplus.service.impl.ServiceImpl;
|
|
import com.yh.saas.plugin.yiliangyiyun.util.CalculationUtil;
|
|
import com.yh.saas.plugin.yiliangyiyun.util.CalculationUtil;
|
|
import com.yh.saas.plugin.yiliangyiyun.util.GeTuiUtils;
|
|
import com.yh.saas.plugin.yiliangyiyun.util.GeTuiUtils;
|
|
import com.yh.saas.plugin.yiliangyiyun.util.WebSocket;
|
|
import com.yh.saas.plugin.yiliangyiyun.util.WebSocket;
|
|
|
|
+import org.springframework.beans.BeanUtils;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
@@ -104,6 +105,12 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
|
|
private ITranSettlementReportService tranSettlementReportService;
|
|
private ITranSettlementReportService tranSettlementReportService;
|
|
@Autowired
|
|
@Autowired
|
|
private WebSocket webSocket;
|
|
private WebSocket webSocket;
|
|
|
|
+ @Autowired
|
|
|
|
+ private IWeighingManagementService weighingManagementService;
|
|
|
|
+ @Autowired
|
|
|
|
+ private IQualityInspectionManagementService qualityInspectionManagementService;
|
|
|
|
+ @Autowired
|
|
|
|
+ private IPaymentManagementService paymentManagementService;
|
|
|
|
|
|
/**
|
|
/**
|
|
* 待完成页面列表
|
|
* 待完成页面列表
|
|
@@ -225,8 +232,8 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
|
|
// 详情
|
|
// 详情
|
|
warehouseInOutDetail.setInfoId(warehouseInOutInfo.getId());
|
|
warehouseInOutDetail.setInfoId(warehouseInOutInfo.getId());
|
|
warehouseInOutDetail.setId(IdGenerator.generateUUID());
|
|
warehouseInOutDetail.setId(IdGenerator.generateUUID());
|
|
- List<WarehouseInOutDetail> ll = warehouseInOutDetailService.selectList(new EntityWrapper<WarehouseInOutDetail>().eq("info_id",warehouseInOutInfo.getId()));
|
|
|
|
- if(ll.size() == 0){
|
|
|
|
|
|
+ List<WarehouseInOutDetail> ll = warehouseInOutDetailService.selectList(new EntityWrapper<WarehouseInOutDetail>().eq("info_id", warehouseInOutInfo.getId()));
|
|
|
|
+ if (ll.size() == 0) {
|
|
warehouseInOutDetailService.insert(warehouseInOutDetail);
|
|
warehouseInOutDetailService.insert(warehouseInOutDetail);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -238,8 +245,8 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
|
|
// 详情
|
|
// 详情
|
|
warehouseInOutDetail.setInfoId(warehouseInOutInfo.getId());
|
|
warehouseInOutDetail.setInfoId(warehouseInOutInfo.getId());
|
|
warehouseInOutDetail.setId(IdGenerator.generateUUID());
|
|
warehouseInOutDetail.setId(IdGenerator.generateUUID());
|
|
- List<WarehouseInOutDetail> ll = warehouseInOutDetailService.selectList(new EntityWrapper<WarehouseInOutDetail>().eq("info_id",warehouseInOutInfo.getId()));
|
|
|
|
- if(ll.size() == 0){
|
|
|
|
|
|
+ List<WarehouseInOutDetail> ll = warehouseInOutDetailService.selectList(new EntityWrapper<WarehouseInOutDetail>().eq("info_id", warehouseInOutInfo.getId()));
|
|
|
|
+ if (ll.size() == 0) {
|
|
warehouseInOutDetailService.insert(warehouseInOutDetail);
|
|
warehouseInOutDetailService.insert(warehouseInOutDetail);
|
|
}
|
|
}
|
|
} else {
|
|
} else {
|
|
@@ -247,7 +254,7 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
|
|
}
|
|
}
|
|
}
|
|
}
|
|
//入库
|
|
//入库
|
|
- if("2".equals(warehouseInOutInfo.getInOutFlag())) {
|
|
|
|
|
|
+ if ("2".equals(warehouseInOutInfo.getInOutFlag())) {
|
|
Wrapper wrapper = new EntityWrapper<TranCarInfo>()
|
|
Wrapper wrapper = new EntityWrapper<TranCarInfo>()
|
|
.eq("contract_no", warehouseInOutInfo.getContractNo())
|
|
.eq("contract_no", warehouseInOutInfo.getContractNo())
|
|
.eq("car_no", warehouseInOutInfo.getCarNo())
|
|
.eq("car_no", warehouseInOutInfo.getCarNo())
|
|
@@ -290,40 +297,38 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
|
|
warehouseInOutInfo.setStatus(StatusEnum.SUBMITTED.getName());
|
|
warehouseInOutInfo.setStatus(StatusEnum.SUBMITTED.getName());
|
|
this.insert(warehouseInOutInfo);
|
|
this.insert(warehouseInOutInfo);
|
|
//更新出入库任务表已完成量
|
|
//更新出入库任务表已完成量
|
|
- InOutWarehouseTask inOutWarehouseTask=inOutWarehouseTaskService.selectOne(new EntityWrapper<InOutWarehouseTask>()
|
|
|
|
- .eq("in_out_task_no",warehouseInOutInfo.getInOutTaskNo()));
|
|
|
|
- if (inOutWarehouseTask!=null){
|
|
|
|
|
|
+ InOutWarehouseTask inOutWarehouseTask = inOutWarehouseTaskService.selectOne(new EntityWrapper<InOutWarehouseTask>()
|
|
|
|
+ .eq("in_out_task_no", warehouseInOutInfo.getInOutTaskNo()));
|
|
|
|
+ if (inOutWarehouseTask != null) {
|
|
//可超出重量
|
|
//可超出重量
|
|
- Float overNeight=0.0f;
|
|
|
|
- ContractManagementInfo contractManagementInfo=contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
|
|
|
|
- .eq("comp_id",inOutWarehouseTask.getCompId())
|
|
|
|
- .eq("contract_no",inOutWarehouseTask.getContractNo()));
|
|
|
|
|
|
+ Float overNeight = 0.0f;
|
|
|
|
+ ContractManagementInfo contractManagementInfo = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
|
|
|
|
+ .eq("comp_id", inOutWarehouseTask.getCompId())
|
|
|
|
+ .eq("contract_no", inOutWarehouseTask.getContractNo()));
|
|
//入库
|
|
//入库
|
|
- if (contractManagementInfo!=null&&"2".equals(inOutWarehouseTask.getInOutFlag())){
|
|
|
|
- overNeight=inOutWarehouseTask.getWeight()*(contractManagementInfo.getOverShort()/100);
|
|
|
|
- }
|
|
|
|
- else {
|
|
|
|
- contractManagementInfo=contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
|
|
|
|
- .eq("comp_id",inOutWarehouseTask.getCompId())
|
|
|
|
- .eq("contract_no",inOutWarehouseTask.getWarehouseName()));
|
|
|
|
|
|
+ if (contractManagementInfo != null && "2".equals(inOutWarehouseTask.getInOutFlag())) {
|
|
|
|
+ overNeight = inOutWarehouseTask.getWeight() * (contractManagementInfo.getOverShort() / 100);
|
|
|
|
+ } else {
|
|
|
|
+ contractManagementInfo = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
|
|
|
|
+ .eq("comp_id", inOutWarehouseTask.getCompId())
|
|
|
|
+ .eq("contract_no", inOutWarehouseTask.getWarehouseName()));
|
|
//移库入库
|
|
//移库入库
|
|
- if (contractManagementInfo==null&&"2".equals(inOutWarehouseTask.getInOutFlag())){
|
|
|
|
- overNeight=inOutWarehouseTask.getWeight()*0.08f;
|
|
|
|
|
|
+ if (contractManagementInfo == null && "2".equals(inOutWarehouseTask.getInOutFlag())) {
|
|
|
|
+ overNeight = inOutWarehouseTask.getWeight() * 0.08f;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- inOutWarehouseTask.setCompletedQuantity(inOutWarehouseTask.getCompletedQuantity()+Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
|
|
|
|
- if (inOutWarehouseTask.getCompletedQuantity()>inOutWarehouseTask.getWeight()+overNeight){
|
|
|
|
|
|
+ inOutWarehouseTask.setCompletedQuantity(inOutWarehouseTask.getCompletedQuantity() + Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
|
|
|
|
+ if (inOutWarehouseTask.getCompletedQuantity() > inOutWarehouseTask.getWeight() + overNeight) {
|
|
throw new YException(YExceptionEnum.TASK_WEIGHT_EXCEEDED_ERROR);
|
|
throw new YException(YExceptionEnum.TASK_WEIGHT_EXCEEDED_ERROR);
|
|
- }
|
|
|
|
- else {
|
|
|
|
|
|
+ } else {
|
|
inOutWarehouseTaskService.updateById(inOutWarehouseTask);
|
|
inOutWarehouseTaskService.updateById(inOutWarehouseTask);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
// 详情
|
|
// 详情
|
|
warehouseInOutDetail.setInfoId(warehouseInOutInfo.getId());
|
|
warehouseInOutDetail.setInfoId(warehouseInOutInfo.getId());
|
|
warehouseInOutDetail.setId(IdGenerator.generateUUID());
|
|
warehouseInOutDetail.setId(IdGenerator.generateUUID());
|
|
- List<WarehouseInOutDetail> ll = warehouseInOutDetailService.selectList(new EntityWrapper<WarehouseInOutDetail>().eq("info_id",warehouseInOutInfo.getId()));
|
|
|
|
- if(ll.size() == 0){
|
|
|
|
|
|
+ List<WarehouseInOutDetail> ll = warehouseInOutDetailService.selectList(new EntityWrapper<WarehouseInOutDetail>().eq("info_id", warehouseInOutInfo.getId()));
|
|
|
|
+ if (ll.size() == 0) {
|
|
warehouseInOutDetailService.insert(warehouseInOutDetail);
|
|
warehouseInOutDetailService.insert(warehouseInOutDetail);
|
|
}
|
|
}
|
|
|
|
|
|
@@ -331,32 +336,30 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
|
|
// 编辑修改记录
|
|
// 编辑修改记录
|
|
else {
|
|
else {
|
|
//更新出入库任务表已完成量
|
|
//更新出入库任务表已完成量
|
|
- InOutWarehouseTask inOutWarehouseTask=inOutWarehouseTaskService.selectOne(new EntityWrapper<InOutWarehouseTask>()
|
|
|
|
- .eq("in_out_task_no",warehouseInOutInfo.getInOutTaskNo()));
|
|
|
|
- if (inOutWarehouseTask!=null){
|
|
|
|
|
|
+ InOutWarehouseTask inOutWarehouseTask = inOutWarehouseTaskService.selectOne(new EntityWrapper<InOutWarehouseTask>()
|
|
|
|
+ .eq("in_out_task_no", warehouseInOutInfo.getInOutTaskNo()));
|
|
|
|
+ if (inOutWarehouseTask != null) {
|
|
//可超出重量
|
|
//可超出重量
|
|
- Float overNeight=0.0f;
|
|
|
|
- ContractManagementInfo contractManagementInfo=contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
|
|
|
|
- .eq("comp_id",inOutWarehouseTask.getCompId())
|
|
|
|
- .eq("contract_no",inOutWarehouseTask.getContractNo()));
|
|
|
|
|
|
+ Float overNeight = 0.0f;
|
|
|
|
+ ContractManagementInfo contractManagementInfo = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
|
|
|
|
+ .eq("comp_id", inOutWarehouseTask.getCompId())
|
|
|
|
+ .eq("contract_no", inOutWarehouseTask.getContractNo()));
|
|
//入库
|
|
//入库
|
|
- if (contractManagementInfo!=null&&"2".equals(inOutWarehouseTask.getInOutFlag())){
|
|
|
|
- overNeight=inOutWarehouseTask.getWeight()*(contractManagementInfo.getOverShort()/100);
|
|
|
|
- }
|
|
|
|
- else {
|
|
|
|
- contractManagementInfo=contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
|
|
|
|
- .eq("comp_id",inOutWarehouseTask.getCompId())
|
|
|
|
- .eq("contract_no",inOutWarehouseTask.getWarehouseName()));
|
|
|
|
|
|
+ if (contractManagementInfo != null && "2".equals(inOutWarehouseTask.getInOutFlag())) {
|
|
|
|
+ overNeight = inOutWarehouseTask.getWeight() * (contractManagementInfo.getOverShort() / 100);
|
|
|
|
+ } else {
|
|
|
|
+ contractManagementInfo = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
|
|
|
|
+ .eq("comp_id", inOutWarehouseTask.getCompId())
|
|
|
|
+ .eq("contract_no", inOutWarehouseTask.getWarehouseName()));
|
|
//移库入库
|
|
//移库入库
|
|
- if (contractManagementInfo==null&&"2".equals(inOutWarehouseTask.getInOutFlag())){
|
|
|
|
- overNeight=inOutWarehouseTask.getWeight()*0.08f;
|
|
|
|
|
|
+ if (contractManagementInfo == null && "2".equals(inOutWarehouseTask.getInOutFlag())) {
|
|
|
|
+ overNeight = inOutWarehouseTask.getWeight() * 0.08f;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- inOutWarehouseTask.setCompletedQuantity(inOutWarehouseTask.getCompletedQuantity()+Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
|
|
|
|
- if (inOutWarehouseTask.getCompletedQuantity()>inOutWarehouseTask.getWeight()+overNeight){
|
|
|
|
|
|
+ inOutWarehouseTask.setCompletedQuantity(inOutWarehouseTask.getCompletedQuantity() + Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
|
|
|
|
+ if (inOutWarehouseTask.getCompletedQuantity() > inOutWarehouseTask.getWeight() + overNeight) {
|
|
throw new YException(YExceptionEnum.TASK_WEIGHT_EXCEEDED_ERROR);
|
|
throw new YException(YExceptionEnum.TASK_WEIGHT_EXCEEDED_ERROR);
|
|
- }
|
|
|
|
- else {
|
|
|
|
|
|
+ } else {
|
|
inOutWarehouseTaskService.updateById(inOutWarehouseTask);
|
|
inOutWarehouseTaskService.updateById(inOutWarehouseTask);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -399,7 +402,8 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
|
|
.eq("delete_flag", "0"));
|
|
.eq("delete_flag", "0"));
|
|
// 判断是否有货
|
|
// 判断是否有货
|
|
if (warehousePositionStorageInfo != null) {
|
|
if (warehousePositionStorageInfo != null) {
|
|
- original = Float.valueOf(String.valueOf(warehousePositionStorageInfo.getStorage() + warehouseInOutInfo.getNetWeight()));;
|
|
|
|
|
|
+ original = Float.valueOf(String.valueOf(warehousePositionStorageInfo.getStorage() + warehouseInOutInfo.getNetWeight()));
|
|
|
|
+ ;
|
|
// 更新库存量
|
|
// 更新库存量
|
|
warehousePositionStorageInfo.setStorage(warehousePositionStorageInfo.getStorage() + Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
|
|
warehousePositionStorageInfo.setStorage(warehousePositionStorageInfo.getStorage() + Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
|
|
warehousePositionStorageInfoService.updateById(warehousePositionStorageInfo);
|
|
warehousePositionStorageInfoService.updateById(warehousePositionStorageInfo);
|
|
@@ -597,8 +601,8 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
|
|
// 插入详情
|
|
// 插入详情
|
|
warehouseInOutDetail.setInfoId(warehouseInOutInfo.getId());
|
|
warehouseInOutDetail.setInfoId(warehouseInOutInfo.getId());
|
|
warehouseInOutDetail.setId(IdGenerator.generateUUID());
|
|
warehouseInOutDetail.setId(IdGenerator.generateUUID());
|
|
- List<WarehouseInOutDetail> ll = warehouseInOutDetailService.selectList(new EntityWrapper<WarehouseInOutDetail>().eq("info_id",warehouseInOutInfo.getId()));
|
|
|
|
- if(ll.size() == 0){
|
|
|
|
|
|
+ List<WarehouseInOutDetail> ll = warehouseInOutDetailService.selectList(new EntityWrapper<WarehouseInOutDetail>().eq("info_id", warehouseInOutInfo.getId()));
|
|
|
|
+ if (ll.size() == 0) {
|
|
warehouseInOutDetailService.insert(warehouseInOutDetail);
|
|
warehouseInOutDetailService.insert(warehouseInOutDetail);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -768,9 +772,9 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
|
|
stockPurchaseReceiptReport.setSettlementWeight(Double.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
|
|
stockPurchaseReceiptReport.setSettlementWeight(Double.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
|
|
stockPurchaseReceiptReport.setDeductionAmount(warehouseInOutInfo.getDeductionAmount());
|
|
stockPurchaseReceiptReport.setDeductionAmount(warehouseInOutInfo.getDeductionAmount());
|
|
|
|
|
|
- if(contractManagementInfo.getUnitContractPrice()!=null) {
|
|
|
|
|
|
+ if (contractManagementInfo.getUnitContractPrice() != null) {
|
|
BigDecimal cost = new BigDecimal(contractManagementInfo.getUnitContractPrice());
|
|
BigDecimal cost = new BigDecimal(contractManagementInfo.getUnitContractPrice());
|
|
- BigDecimal deductionAmount = new BigDecimal(warehouseInOutInfo.getDeductionAmount()!=null?warehouseInOutInfo.getDeductionAmount():0.0);
|
|
|
|
|
|
+ BigDecimal deductionAmount = new BigDecimal(warehouseInOutInfo.getDeductionAmount() != null ? warehouseInOutInfo.getDeductionAmount() : 0.0);
|
|
stockPurchaseReceiptReport.setSettlementPrice(cost.subtract(deductionAmount).doubleValue());
|
|
stockPurchaseReceiptReport.setSettlementPrice(cost.subtract(deductionAmount).doubleValue());
|
|
BigDecimal netWeight = new BigDecimal(warehouseInOutInfo.getNetWeight());
|
|
BigDecimal netWeight = new BigDecimal(warehouseInOutInfo.getNetWeight());
|
|
stockPurchaseReceiptReport.setAmountIngPayable(cost.subtract(deductionAmount).multiply(netWeight).doubleValue());
|
|
stockPurchaseReceiptReport.setAmountIngPayable(cost.subtract(deductionAmount).multiply(netWeight).doubleValue());
|
|
@@ -778,7 +782,7 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
|
|
//随行就市
|
|
//随行就市
|
|
else {
|
|
else {
|
|
BigDecimal cost = new BigDecimal(Float.toString(warehouseInOutInfo.getCost()));
|
|
BigDecimal cost = new BigDecimal(Float.toString(warehouseInOutInfo.getCost()));
|
|
- BigDecimal deductionAmount = new BigDecimal(warehouseInOutInfo.getDeductionAmount()!=null?warehouseInOutInfo.getDeductionAmount():0.0);
|
|
|
|
|
|
+ BigDecimal deductionAmount = new BigDecimal(warehouseInOutInfo.getDeductionAmount() != null ? warehouseInOutInfo.getDeductionAmount() : 0.0);
|
|
stockPurchaseReceiptReport.setSettlementPrice(cost.subtract(deductionAmount).doubleValue());
|
|
stockPurchaseReceiptReport.setSettlementPrice(cost.subtract(deductionAmount).doubleValue());
|
|
BigDecimal netWeight = new BigDecimal(warehouseInOutInfo.getNetWeight());
|
|
BigDecimal netWeight = new BigDecimal(warehouseInOutInfo.getNetWeight());
|
|
stockPurchaseReceiptReport.setAmountIngPayable(cost.subtract(deductionAmount).multiply(netWeight).doubleValue());
|
|
stockPurchaseReceiptReport.setAmountIngPayable(cost.subtract(deductionAmount).multiply(netWeight).doubleValue());
|
|
@@ -853,9 +857,9 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
|
|
stockPurchaseReceiptReport.setWarehousingDate(warehouseInOutInfo.getInOutDate());
|
|
stockPurchaseReceiptReport.setWarehousingDate(warehouseInOutInfo.getInOutDate());
|
|
stockPurchaseReceiptReport.setDeductionWeight(Double.valueOf(String.valueOf(warehouseInOutInfo.getDeductionWeight())));
|
|
stockPurchaseReceiptReport.setDeductionWeight(Double.valueOf(String.valueOf(warehouseInOutInfo.getDeductionWeight())));
|
|
stockPurchaseReceiptReport.setSettlementWeight(Double.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
|
|
stockPurchaseReceiptReport.setSettlementWeight(Double.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
|
|
- if(contractManagementInfo.getUnitContractPrice()!=null) {
|
|
|
|
|
|
+ if (contractManagementInfo.getUnitContractPrice() != null) {
|
|
BigDecimal cost = new BigDecimal(contractManagementInfo.getUnitContractPrice());
|
|
BigDecimal cost = new BigDecimal(contractManagementInfo.getUnitContractPrice());
|
|
- BigDecimal deductionAmount = new BigDecimal(warehouseInOutInfo.getDeductionAmount()!=null?warehouseInOutInfo.getDeductionAmount():0.0);
|
|
|
|
|
|
+ BigDecimal deductionAmount = new BigDecimal(warehouseInOutInfo.getDeductionAmount() != null ? warehouseInOutInfo.getDeductionAmount() : 0.0);
|
|
stockPurchaseReceiptReport.setSettlementPrice(cost.subtract(deductionAmount).doubleValue());
|
|
stockPurchaseReceiptReport.setSettlementPrice(cost.subtract(deductionAmount).doubleValue());
|
|
BigDecimal netWeight = new BigDecimal(warehouseInOutInfo.getNetWeight());
|
|
BigDecimal netWeight = new BigDecimal(warehouseInOutInfo.getNetWeight());
|
|
stockPurchaseReceiptReport.setAmountIngPayable(cost.subtract(deductionAmount).multiply(netWeight).doubleValue());
|
|
stockPurchaseReceiptReport.setAmountIngPayable(cost.subtract(deductionAmount).multiply(netWeight).doubleValue());
|
|
@@ -863,7 +867,7 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
|
|
//随行就市
|
|
//随行就市
|
|
else {
|
|
else {
|
|
BigDecimal cost = new BigDecimal(warehouseInOutInfo.getCost());
|
|
BigDecimal cost = new BigDecimal(warehouseInOutInfo.getCost());
|
|
- BigDecimal deductionAmount = new BigDecimal(warehouseInOutInfo.getDeductionAmount()!=null?warehouseInOutInfo.getDeductionAmount():0.0);
|
|
|
|
|
|
+ BigDecimal deductionAmount = new BigDecimal(warehouseInOutInfo.getDeductionAmount() != null ? warehouseInOutInfo.getDeductionAmount() : 0.0);
|
|
stockPurchaseReceiptReport.setSettlementPrice(cost.subtract(deductionAmount).doubleValue());
|
|
stockPurchaseReceiptReport.setSettlementPrice(cost.subtract(deductionAmount).doubleValue());
|
|
BigDecimal netWeight = new BigDecimal(warehouseInOutInfo.getNetWeight());
|
|
BigDecimal netWeight = new BigDecimal(warehouseInOutInfo.getNetWeight());
|
|
stockPurchaseReceiptReport.setAmountIngPayable(cost.subtract(deductionAmount).multiply(netWeight).doubleValue());
|
|
stockPurchaseReceiptReport.setAmountIngPayable(cost.subtract(deductionAmount).multiply(netWeight).doubleValue());
|
|
@@ -905,7 +909,7 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
|
|
ContractManagementInfo contractManagementInfo = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
|
|
ContractManagementInfo contractManagementInfo = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
|
|
.eq("contract_no", warehouseInOutInfo.getContractNo())
|
|
.eq("contract_no", warehouseInOutInfo.getContractNo())
|
|
.eq("deliver_type", "2")
|
|
.eq("deliver_type", "2")
|
|
- .eq("contract_type","1")
|
|
|
|
|
|
+ .eq("contract_type", "1")
|
|
.eq("delete_flag", "0"));
|
|
.eq("delete_flag", "0"));
|
|
if (contractManagementInfo != null) {
|
|
if (contractManagementInfo != null) {
|
|
//现货销售出库报表
|
|
//现货销售出库报表
|
|
@@ -927,8 +931,8 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
|
|
stockSaleReceiptReport.setStatusFlag(StatusEnum.TO_BE_RECEIVED.getFlag());
|
|
stockSaleReceiptReport.setStatusFlag(StatusEnum.TO_BE_RECEIVED.getFlag());
|
|
stockSaleReceiptReport.setStatus(StatusEnum.TO_BE_RECEIVED.getName());
|
|
stockSaleReceiptReport.setStatus(StatusEnum.TO_BE_RECEIVED.getName());
|
|
stockSaleReceiptReport.setSettlementWeight(stockSaleReceiptReport.getNetWeight());
|
|
stockSaleReceiptReport.setSettlementWeight(stockSaleReceiptReport.getNetWeight());
|
|
- CostManagementInfo costManagementInfo = costManagementInfoService.selectOne(new EntityWrapper<CostManagementInfo>().eq("warehouse_id",warehouseInOutInfo.getBaseId()));
|
|
|
|
- if(costManagementInfo != null){
|
|
|
|
|
|
+ CostManagementInfo costManagementInfo = costManagementInfoService.selectOne(new EntityWrapper<CostManagementInfo>().eq("warehouse_id", warehouseInOutInfo.getBaseId()));
|
|
|
|
+ if (costManagementInfo != null) {
|
|
stockSaleReceiptReport.setCost(costManagementInfo.getCost());
|
|
stockSaleReceiptReport.setCost(costManagementInfo.getCost());
|
|
|
|
|
|
}
|
|
}
|
|
@@ -937,7 +941,7 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
|
|
//自运的销售合同
|
|
//自运的销售合同
|
|
ContractManagementInfo contractManagementInfo1 = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
|
|
ContractManagementInfo contractManagementInfo1 = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
|
|
.eq("contract_no", warehouseInOutInfo.getContractNo())
|
|
.eq("contract_no", warehouseInOutInfo.getContractNo())
|
|
- .eq("contract_type","1")
|
|
|
|
|
|
+ .eq("contract_type", "1")
|
|
.eq("deliver_type", "1")
|
|
.eq("deliver_type", "1")
|
|
.eq("delete_flag", "0"));
|
|
.eq("delete_flag", "0"));
|
|
if (contractManagementInfo1 != null) {
|
|
if (contractManagementInfo1 != null) {
|
|
@@ -951,7 +955,7 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
|
|
stockSaleReceiptReport.setWarehouseName(warehouseInOutInfo.getWarehouseName());
|
|
stockSaleReceiptReport.setWarehouseName(warehouseInOutInfo.getWarehouseName());
|
|
stockSaleReceiptReport.setCarNo(warehouseInOutInfo.getCarNo());
|
|
stockSaleReceiptReport.setCarNo(warehouseInOutInfo.getCarNo());
|
|
stockSaleReceiptReport.setTranCarNo(warehouseInOutInfo.getTranCarNo());
|
|
stockSaleReceiptReport.setTranCarNo(warehouseInOutInfo.getTranCarNo());
|
|
- stockSaleReceiptReport.setCaseNo(warehouseInOutInfo.getBoxNo()+","+warehouseInOutInfo.getBoxNoOther());
|
|
|
|
|
|
+ stockSaleReceiptReport.setCaseNo(warehouseInOutInfo.getBoxNo() + "," + warehouseInOutInfo.getBoxNoOther());
|
|
stockSaleReceiptReport.setTitleNo(warehouseInOutInfo.getTitleNo());
|
|
stockSaleReceiptReport.setTitleNo(warehouseInOutInfo.getTitleNo());
|
|
stockSaleReceiptReport.setGrossWeight(Double.valueOf(String.valueOf(warehouseInOutInfo.getGrossWeight())));
|
|
stockSaleReceiptReport.setGrossWeight(Double.valueOf(String.valueOf(warehouseInOutInfo.getGrossWeight())));
|
|
stockSaleReceiptReport.setTare(Double.valueOf(String.valueOf(warehouseInOutInfo.getTare())));
|
|
stockSaleReceiptReport.setTare(Double.valueOf(String.valueOf(warehouseInOutInfo.getTare())));
|
|
@@ -963,8 +967,8 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
|
|
stockSaleReceiptReport.setStatusFlag(StatusEnum.TO_BE_RECEIVED.getFlag());
|
|
stockSaleReceiptReport.setStatusFlag(StatusEnum.TO_BE_RECEIVED.getFlag());
|
|
stockSaleReceiptReport.setStatus(StatusEnum.TO_BE_RECEIVED.getName());
|
|
stockSaleReceiptReport.setStatus(StatusEnum.TO_BE_RECEIVED.getName());
|
|
stockSaleReceiptReport.setSettlementWeight(stockSaleReceiptReport.getNetWeight());
|
|
stockSaleReceiptReport.setSettlementWeight(stockSaleReceiptReport.getNetWeight());
|
|
- CostManagementInfo costManagementInfo = costManagementInfoService.selectOne(new EntityWrapper<CostManagementInfo>().eq("warehouse_id",warehouseInOutInfo.getBaseId()));
|
|
|
|
- if(costManagementInfo != null){
|
|
|
|
|
|
+ CostManagementInfo costManagementInfo = costManagementInfoService.selectOne(new EntityWrapper<CostManagementInfo>().eq("warehouse_id", warehouseInOutInfo.getBaseId()));
|
|
|
|
+ if (costManagementInfo != null) {
|
|
stockSaleReceiptReport.setCost(costManagementInfo.getCost());
|
|
stockSaleReceiptReport.setCost(costManagementInfo.getCost());
|
|
|
|
|
|
}
|
|
}
|
|
@@ -980,16 +984,16 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
|
|
if (tranCarInfo != null) {
|
|
if (tranCarInfo != null) {
|
|
//将到货数据同步到派车表
|
|
//将到货数据同步到派车表
|
|
tranCarInfo.setUnloadNetWeight(Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
|
|
tranCarInfo.setUnloadNetWeight(Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
|
|
- if (warehouseInOutInfo.getAddressUrl()!=null) {
|
|
|
|
|
|
+ if (warehouseInOutInfo.getAddressUrl() != null) {
|
|
tranCarInfo.setUnloadPoundImg(warehouseInOutInfo.getAddressUrl());
|
|
tranCarInfo.setUnloadPoundImg(warehouseInOutInfo.getAddressUrl());
|
|
}
|
|
}
|
|
tranCarInfo.setUnloadingDate(warehouseInOutInfo.getInOutDate());
|
|
tranCarInfo.setUnloadingDate(warehouseInOutInfo.getInOutDate());
|
|
// if ("2".equals(tranCarInfo.getSubmit())) {
|
|
// if ("2".equals(tranCarInfo.getSubmit())) {
|
|
// throw new YException(YExceptionEnum.CARNO_SUBMITTED_ERROR);
|
|
// throw new YException(YExceptionEnum.CARNO_SUBMITTED_ERROR);
|
|
// } else {
|
|
// } else {
|
|
- tranCarInfo.setSubmit("2");
|
|
|
|
- tranCarInfo.setStatusFlag(StatusEnum.DELIVERED.getFlag());
|
|
|
|
- tranCarInfo.setStatus(StatusEnum.DELIVERED.getName());
|
|
|
|
|
|
+ tranCarInfo.setSubmit("2");
|
|
|
|
+ tranCarInfo.setStatusFlag(StatusEnum.DELIVERED.getFlag());
|
|
|
|
+ tranCarInfo.setStatus(StatusEnum.DELIVERED.getName());
|
|
// }
|
|
// }
|
|
tranCarInfoService.updateById(tranCarInfo);
|
|
tranCarInfoService.updateById(tranCarInfo);
|
|
}
|
|
}
|
|
@@ -1051,10 +1055,10 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
|
|
Double newCost = 0d;
|
|
Double newCost = 0d;
|
|
if (CollectionUtils.isEmpty(weightedDetailsList)) {
|
|
if (CollectionUtils.isEmpty(weightedDetailsList)) {
|
|
if ("干粮".equals(warehouseInOutInfo.getType())) {
|
|
if ("干粮".equals(warehouseInOutInfo.getType())) {
|
|
- newCost = ((warehouseInOutInfo.getCost()/1.09 + warehouseInOutInfo.getFreight()) * Double.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight()))) / (Double.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())) + original);
|
|
|
|
|
|
+ newCost = ((warehouseInOutInfo.getCost() / 1.09 + warehouseInOutInfo.getFreight()) * Double.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight()))) / (Double.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())) + original);
|
|
|
|
|
|
} else {
|
|
} else {
|
|
- newCost = ((warehouseInOutInfo.getCost()/1.09 + warehouseInOutInfo.getFreight()) * Double.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())) ) / (warehouseInOutInfo.getPureWeight() + original);
|
|
|
|
|
|
+ newCost = ((warehouseInOutInfo.getCost() / 1.09 + warehouseInOutInfo.getFreight()) * Double.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight()))) / (warehouseInOutInfo.getPureWeight() + original);
|
|
|
|
|
|
}
|
|
}
|
|
weightedDetails.setCostBefore(Float.valueOf(String.valueOf(newCost)));
|
|
weightedDetails.setCostBefore(Float.valueOf(String.valueOf(newCost)));
|
|
@@ -1062,10 +1066,10 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
|
|
} else {
|
|
} else {
|
|
weightedDetails.setCostBefore(weightedDetailsList.get(0).getCostBefore());
|
|
weightedDetails.setCostBefore(weightedDetailsList.get(0).getCostBefore());
|
|
if ("干粮".equals(warehouseInOutInfo.getType())) {
|
|
if ("干粮".equals(warehouseInOutInfo.getType())) {
|
|
- newCost = ((warehouseInOutInfo.getCost()/1.09 + warehouseInOutInfo.getFreight()) * Double.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())) + original * weightedDetails.getCostBefore()) / (Double.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())) + original);
|
|
|
|
|
|
+ newCost = ((warehouseInOutInfo.getCost() / 1.09 + warehouseInOutInfo.getFreight()) * Double.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())) + original * weightedDetails.getCostBefore()) / (Double.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())) + original);
|
|
|
|
|
|
} else {
|
|
} else {
|
|
- newCost = ((warehouseInOutInfo.getCost()/1.09 + warehouseInOutInfo.getFreight()) * Double.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())) + original * weightedDetails.getCostBefore()) / (warehouseInOutInfo.getPureWeight() + original);
|
|
|
|
|
|
+ newCost = ((warehouseInOutInfo.getCost() / 1.09 + warehouseInOutInfo.getFreight()) * Double.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())) + original * weightedDetails.getCostBefore()) / (warehouseInOutInfo.getPureWeight() + original);
|
|
|
|
|
|
}
|
|
}
|
|
weightedDetails.setCostAfter(newCost);
|
|
weightedDetails.setCostAfter(newCost);
|
|
@@ -1162,10 +1166,10 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
|
|
ContractManagementInfo contractManagementInfo = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
|
|
ContractManagementInfo contractManagementInfo = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
|
|
.eq("contract_no", warehouseInOutInfo.getContractNo())
|
|
.eq("contract_no", warehouseInOutInfo.getContractNo())
|
|
.eq("deliver_type", "2")
|
|
.eq("deliver_type", "2")
|
|
- .eq("contract_type","1")
|
|
|
|
|
|
+ .eq("contract_type", "1")
|
|
.eq("delete_flag", "0"));
|
|
.eq("delete_flag", "0"));
|
|
if (contractManagementInfo != null) {
|
|
if (contractManagementInfo != null) {
|
|
- if(contractManagementInfo.getUnitContractPrice() == null){
|
|
|
|
|
|
+ if (contractManagementInfo.getUnitContractPrice() == null) {
|
|
contractManagementInfo.setUnitContractPrice(0d);
|
|
contractManagementInfo.setUnitContractPrice(0d);
|
|
}
|
|
}
|
|
//现货销售出库报表
|
|
//现货销售出库报表
|
|
@@ -1174,18 +1178,17 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
|
|
stockSaleReceiptReport.setWarehouseRecordId(warehouseInOutInfo.getId());
|
|
stockSaleReceiptReport.setWarehouseRecordId(warehouseInOutInfo.getId());
|
|
stockSaleReceiptReport.setCompId(warehouseBaseInfo.getCompId());
|
|
stockSaleReceiptReport.setCompId(warehouseBaseInfo.getCompId());
|
|
TranTaskInfo tranTaskInfo = tranTaskInfoService.selectOne(new EntityWrapper<TranTaskInfo>()
|
|
TranTaskInfo tranTaskInfo = tranTaskInfoService.selectOne(new EntityWrapper<TranTaskInfo>()
|
|
- .eq("contract_no",contractManagementInfo.getContractNo())
|
|
|
|
- .eq("comp_id",contractManagementInfo.getCompId()));
|
|
|
|
- if (tranTaskInfo != null){
|
|
|
|
|
|
+ .eq("contract_no", contractManagementInfo.getContractNo())
|
|
|
|
+ .eq("comp_id", contractManagementInfo.getCompId()));
|
|
|
|
+ if (tranTaskInfo != null) {
|
|
TranProcessInfo tranProcessInfo = tranProcessInfoService.selectOne(new EntityWrapper<TranProcessInfo>()
|
|
TranProcessInfo tranProcessInfo = tranProcessInfoService.selectOne(new EntityWrapper<TranProcessInfo>()
|
|
- .eq("info_id",tranTaskInfo.getId()));
|
|
|
|
- if (tranProcessInfo != null){
|
|
|
|
- if (tranProcessInfo.getThreeTranType()==null){
|
|
|
|
|
|
+ .eq("info_id", tranTaskInfo.getId()));
|
|
|
|
+ if (tranProcessInfo != null) {
|
|
|
|
+ if (tranProcessInfo.getThreeTranType() == null) {
|
|
tranProcessInfo.setThreeTranType(warehouseInOutInfo.getOutType());
|
|
tranProcessInfo.setThreeTranType(warehouseInOutInfo.getOutType());
|
|
|
|
|
|
- }
|
|
|
|
- else if (!tranProcessInfo.getThreeTranType().contains(warehouseInOutInfo.getOutType())){
|
|
|
|
- tranProcessInfo.setThreeTranType(tranProcessInfo.getThreeTranType()+","+warehouseInOutInfo.getOutType());
|
|
|
|
|
|
+ } else if (!tranProcessInfo.getThreeTranType().contains(warehouseInOutInfo.getOutType())) {
|
|
|
|
+ tranProcessInfo.setThreeTranType(tranProcessInfo.getThreeTranType() + "," + warehouseInOutInfo.getOutType());
|
|
}
|
|
}
|
|
tranProcessInfoService.updateById(tranProcessInfo);
|
|
tranProcessInfoService.updateById(tranProcessInfo);
|
|
stockSaleReceiptReport.setProcessId(tranProcessInfo.getId());
|
|
stockSaleReceiptReport.setProcessId(tranProcessInfo.getId());
|
|
@@ -1200,7 +1203,7 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
|
|
tranCarInfo.setLoadNetWeight(Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
|
|
tranCarInfo.setLoadNetWeight(Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
|
|
tranCarInfo.setStatusFlag(StatusEnum.LOADED.getFlag());
|
|
tranCarInfo.setStatusFlag(StatusEnum.LOADED.getFlag());
|
|
tranCarInfo.setStatus(StatusEnum.LOADED.getName());
|
|
tranCarInfo.setStatus(StatusEnum.LOADED.getName());
|
|
- if("汽运".equals(warehouseInOutInfo.getOutType())){
|
|
|
|
|
|
+ if ("汽运".equals(warehouseInOutInfo.getOutType())) {
|
|
tranCarInfo.setCarNo(warehouseInOutInfo.getCarNo());
|
|
tranCarInfo.setCarNo(warehouseInOutInfo.getCarNo());
|
|
tranCarInfo.setCaseNo(warehouseInOutInfo.getBoxNo());
|
|
tranCarInfo.setCaseNo(warehouseInOutInfo.getBoxNo());
|
|
tranCarInfo.setThreeTranType("汽运");
|
|
tranCarInfo.setThreeTranType("汽运");
|
|
@@ -1212,13 +1215,13 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
|
|
stockSaleReceiptReport.setTitleNo(warehouseInOutInfo.getTitleNo());
|
|
stockSaleReceiptReport.setTitleNo(warehouseInOutInfo.getTitleNo());
|
|
stockSaleReceiptReport.setCaseNoOther(warehouseInOutInfo.getBoxNoOther());
|
|
stockSaleReceiptReport.setCaseNoOther(warehouseInOutInfo.getBoxNoOther());
|
|
stockSaleReceiptReport.setTitleNoOther(warehouseInOutInfo.getTitleNoOther());
|
|
stockSaleReceiptReport.setTitleNoOther(warehouseInOutInfo.getTitleNoOther());
|
|
- }else if("火运".equals(warehouseInOutInfo.getOutType())){
|
|
|
|
|
|
+ } else if ("火运".equals(warehouseInOutInfo.getOutType())) {
|
|
tranCarInfo.setCarNo(warehouseInOutInfo.getCarNo());
|
|
tranCarInfo.setCarNo(warehouseInOutInfo.getCarNo());
|
|
tranCarInfo.setBoxNo(warehouseInOutInfo.getWingNumber());
|
|
tranCarInfo.setBoxNo(warehouseInOutInfo.getWingNumber());
|
|
tranCarInfo.setThreeTranType("火运");
|
|
tranCarInfo.setThreeTranType("火运");
|
|
stockSaleReceiptReport.setCarNo(warehouseInOutInfo.getCarNo());
|
|
stockSaleReceiptReport.setCarNo(warehouseInOutInfo.getCarNo());
|
|
stockSaleReceiptReport.setBoxNo(warehouseInOutInfo.getWingNumber());
|
|
stockSaleReceiptReport.setBoxNo(warehouseInOutInfo.getWingNumber());
|
|
- }else if("散船".equals(warehouseInOutInfo.getOutType())){
|
|
|
|
|
|
+ } else if ("散船".equals(warehouseInOutInfo.getOutType())) {
|
|
tranCarInfo.setShipName(warehouseInOutInfo.getShipName());
|
|
tranCarInfo.setShipName(warehouseInOutInfo.getShipName());
|
|
tranCarInfo.setShipNo(warehouseInOutInfo.getShipNumber());
|
|
tranCarInfo.setShipNo(warehouseInOutInfo.getShipNumber());
|
|
tranCarInfo.setThreeTranType("散船");
|
|
tranCarInfo.setThreeTranType("散船");
|
|
@@ -1226,7 +1229,7 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
|
|
stockSaleReceiptReport.setCarNo(warehouseInOutInfo.getCarNo());
|
|
stockSaleReceiptReport.setCarNo(warehouseInOutInfo.getCarNo());
|
|
stockSaleReceiptReport.setShipName(warehouseInOutInfo.getShipName());
|
|
stockSaleReceiptReport.setShipName(warehouseInOutInfo.getShipName());
|
|
stockSaleReceiptReport.setShipNo(warehouseInOutInfo.getShipNumber());
|
|
stockSaleReceiptReport.setShipNo(warehouseInOutInfo.getShipNumber());
|
|
- }else if("集装箱船".equals(warehouseInOutInfo.getOutType())){
|
|
|
|
|
|
+ } else if ("集装箱船".equals(warehouseInOutInfo.getOutType())) {
|
|
tranCarInfo.setCarNo(warehouseInOutInfo.getCarNo());
|
|
tranCarInfo.setCarNo(warehouseInOutInfo.getCarNo());
|
|
tranCarInfo.setCaseNo(warehouseInOutInfo.getBoxNo());
|
|
tranCarInfo.setCaseNo(warehouseInOutInfo.getBoxNo());
|
|
tranCarInfo.setTitleNo(warehouseInOutInfo.getTitleNo());
|
|
tranCarInfo.setTitleNo(warehouseInOutInfo.getTitleNo());
|
|
@@ -1247,11 +1250,11 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
|
|
stockSaleReceiptReport.setNetWeight(warehouseInOutInfo.getNetWeight());
|
|
stockSaleReceiptReport.setNetWeight(warehouseInOutInfo.getNetWeight());
|
|
stockSaleReceiptReport.setDeliveryDate(warehouseInOutInfo.getInOutDate());
|
|
stockSaleReceiptReport.setDeliveryDate(warehouseInOutInfo.getInOutDate());
|
|
//按出库重量结算时
|
|
//按出库重量结算时
|
|
- if("1".equals(contractManagementInfo.getSettlementWeightMethod())) {
|
|
|
|
|
|
+ if ("1".equals(contractManagementInfo.getSettlementWeightMethod())) {
|
|
stockSaleReceiptReport.setSettlementWeight(warehouseInOutInfo.getNetWeight());
|
|
stockSaleReceiptReport.setSettlementWeight(warehouseInOutInfo.getNetWeight());
|
|
}
|
|
}
|
|
//定价销售
|
|
//定价销售
|
|
- if(contractManagementInfo.getUnitContractPrice()!=null) {
|
|
|
|
|
|
+ if (contractManagementInfo.getUnitContractPrice() != null) {
|
|
stockSaleReceiptReport.setSettlementPrice(contractManagementInfo.getUnitContractPrice());
|
|
stockSaleReceiptReport.setSettlementPrice(contractManagementInfo.getUnitContractPrice());
|
|
stockSaleReceiptReport.setAmountIngReceivable(warehouseInOutInfo.getNetWeight() *
|
|
stockSaleReceiptReport.setAmountIngReceivable(warehouseInOutInfo.getNetWeight() *
|
|
(contractManagementInfo.getUnitContractPrice()));
|
|
(contractManagementInfo.getUnitContractPrice()));
|
|
@@ -1261,8 +1264,8 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
|
|
stockSaleReceiptReport.setStatusFlag(StatusEnum.TO_BE_RECEIVED.getFlag());
|
|
stockSaleReceiptReport.setStatusFlag(StatusEnum.TO_BE_RECEIVED.getFlag());
|
|
stockSaleReceiptReport.setStatus(StatusEnum.TO_BE_RECEIVED.getName());
|
|
stockSaleReceiptReport.setStatus(StatusEnum.TO_BE_RECEIVED.getName());
|
|
stockSaleReceiptReport.setSettlementWeight(stockSaleReceiptReport.getNetWeight());
|
|
stockSaleReceiptReport.setSettlementWeight(stockSaleReceiptReport.getNetWeight());
|
|
- CostManagementInfo costManagementInfo = costManagementInfoService.selectOne(new EntityWrapper<CostManagementInfo>().eq("warehouse_id",warehouseInOutInfo.getBaseId()));
|
|
|
|
- if(costManagementInfo != null){
|
|
|
|
|
|
+ CostManagementInfo costManagementInfo = costManagementInfoService.selectOne(new EntityWrapper<CostManagementInfo>().eq("warehouse_id", warehouseInOutInfo.getBaseId()));
|
|
|
|
+ if (costManagementInfo != null) {
|
|
stockSaleReceiptReport.setCost(costManagementInfo.getCost());
|
|
stockSaleReceiptReport.setCost(costManagementInfo.getCost());
|
|
|
|
|
|
}
|
|
}
|
|
@@ -1272,7 +1275,7 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
|
|
ContractManagementInfo contractManagementInfo1 = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
|
|
ContractManagementInfo contractManagementInfo1 = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
|
|
.eq("contract_no", warehouseInOutInfo.getContractNo())
|
|
.eq("contract_no", warehouseInOutInfo.getContractNo())
|
|
.eq("deliver_type", "1")
|
|
.eq("deliver_type", "1")
|
|
- .eq("contract_type","1")
|
|
|
|
|
|
+ .eq("contract_type", "1")
|
|
.eq("delete_flag", "0"));
|
|
.eq("delete_flag", "0"));
|
|
if (contractManagementInfo1 != null) {
|
|
if (contractManagementInfo1 != null) {
|
|
//现货销售出库报表
|
|
//现货销售出库报表
|
|
@@ -1281,29 +1284,29 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
|
|
stockSaleReceiptReport.setWarehouseRecordId(warehouseInOutInfo.getId());
|
|
stockSaleReceiptReport.setWarehouseRecordId(warehouseInOutInfo.getId());
|
|
stockSaleReceiptReport.setCompId(warehouseBaseInfo.getCompId());
|
|
stockSaleReceiptReport.setCompId(warehouseBaseInfo.getCompId());
|
|
TranTaskInfo tranTaskInfo = tranTaskInfoService.selectOne(new EntityWrapper<TranTaskInfo>()
|
|
TranTaskInfo tranTaskInfo = tranTaskInfoService.selectOne(new EntityWrapper<TranTaskInfo>()
|
|
- .eq("contract_no",contractManagementInfo1.getContractNo())
|
|
|
|
- .eq("comp_id",contractManagementInfo1.getCompId()));
|
|
|
|
- if (tranTaskInfo != null){
|
|
|
|
|
|
+ .eq("contract_no", contractManagementInfo1.getContractNo())
|
|
|
|
+ .eq("comp_id", contractManagementInfo1.getCompId()));
|
|
|
|
+ if (tranTaskInfo != null) {
|
|
TranProcessInfo tranProcessInfo = tranProcessInfoService.selectOne(new EntityWrapper<TranProcessInfo>()
|
|
TranProcessInfo tranProcessInfo = tranProcessInfoService.selectOne(new EntityWrapper<TranProcessInfo>()
|
|
- .eq("info_id",tranTaskInfo.getId()));
|
|
|
|
- if (tranProcessInfo != null){
|
|
|
|
|
|
+ .eq("info_id", tranTaskInfo.getId()));
|
|
|
|
+ if (tranProcessInfo != null) {
|
|
stockSaleReceiptReport.setProcessId(tranProcessInfo.getId());
|
|
stockSaleReceiptReport.setProcessId(tranProcessInfo.getId());
|
|
stockSaleReceiptReport.setProcessNo(tranProcessInfo.getProcessNo());
|
|
stockSaleReceiptReport.setProcessNo(tranProcessInfo.getProcessNo());
|
|
- if("汽运".equals(warehouseInOutInfo.getOutType())){
|
|
|
|
|
|
+ if ("汽运".equals(warehouseInOutInfo.getOutType())) {
|
|
stockSaleReceiptReport.setCarNo(warehouseInOutInfo.getCarNo());
|
|
stockSaleReceiptReport.setCarNo(warehouseInOutInfo.getCarNo());
|
|
stockSaleReceiptReport.setTranCarNo(warehouseInOutInfo.getTranCarNo());
|
|
stockSaleReceiptReport.setTranCarNo(warehouseInOutInfo.getTranCarNo());
|
|
stockSaleReceiptReport.setCaseNo(warehouseInOutInfo.getBoxNo());
|
|
stockSaleReceiptReport.setCaseNo(warehouseInOutInfo.getBoxNo());
|
|
stockSaleReceiptReport.setTitleNo(warehouseInOutInfo.getTitleNo());
|
|
stockSaleReceiptReport.setTitleNo(warehouseInOutInfo.getTitleNo());
|
|
stockSaleReceiptReport.setCaseNoOther(warehouseInOutInfo.getBoxNoOther());
|
|
stockSaleReceiptReport.setCaseNoOther(warehouseInOutInfo.getBoxNoOther());
|
|
stockSaleReceiptReport.setTitleNoOther(warehouseInOutInfo.getTitleNoOther());
|
|
stockSaleReceiptReport.setTitleNoOther(warehouseInOutInfo.getTitleNoOther());
|
|
- }else if("火运".equals(warehouseInOutInfo.getOutType())){
|
|
|
|
|
|
+ } else if ("火运".equals(warehouseInOutInfo.getOutType())) {
|
|
stockSaleReceiptReport.setCarNo(warehouseInOutInfo.getCarNo());
|
|
stockSaleReceiptReport.setCarNo(warehouseInOutInfo.getCarNo());
|
|
stockSaleReceiptReport.setBoxNo(warehouseInOutInfo.getWingNumber());
|
|
stockSaleReceiptReport.setBoxNo(warehouseInOutInfo.getWingNumber());
|
|
- }else if("散船".equals(warehouseInOutInfo.getOutType())){
|
|
|
|
|
|
+ } else if ("散船".equals(warehouseInOutInfo.getOutType())) {
|
|
stockSaleReceiptReport.setCarNo(warehouseInOutInfo.getCarNo());
|
|
stockSaleReceiptReport.setCarNo(warehouseInOutInfo.getCarNo());
|
|
stockSaleReceiptReport.setShipName(warehouseInOutInfo.getShipName());
|
|
stockSaleReceiptReport.setShipName(warehouseInOutInfo.getShipName());
|
|
stockSaleReceiptReport.setShipNo(warehouseInOutInfo.getShipNumber());
|
|
stockSaleReceiptReport.setShipNo(warehouseInOutInfo.getShipNumber());
|
|
- }else if("集装箱船".equals(warehouseInOutInfo.getOutType())){
|
|
|
|
|
|
+ } else if ("集装箱船".equals(warehouseInOutInfo.getOutType())) {
|
|
stockSaleReceiptReport.setCaseNo(warehouseInOutInfo.getBoxNo());
|
|
stockSaleReceiptReport.setCaseNo(warehouseInOutInfo.getBoxNo());
|
|
stockSaleReceiptReport.setCaseNoOther(warehouseInOutInfo.getBoxNoOther());
|
|
stockSaleReceiptReport.setCaseNoOther(warehouseInOutInfo.getBoxNoOther());
|
|
stockSaleReceiptReport.setCarNo(warehouseInOutInfo.getCarNo());
|
|
stockSaleReceiptReport.setCarNo(warehouseInOutInfo.getCarNo());
|
|
@@ -1311,25 +1314,23 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
|
|
stockSaleReceiptReport.setTitleNo(warehouseInOutInfo.getTitleNo());
|
|
stockSaleReceiptReport.setTitleNo(warehouseInOutInfo.getTitleNo());
|
|
}
|
|
}
|
|
//自运出库时手动加的车
|
|
//自运出库时手动加的车
|
|
- if("1".equals(warehouseInOutInfo.getSelfLoading())) {
|
|
|
|
|
|
+ if ("1".equals(warehouseInOutInfo.getSelfLoading())) {
|
|
List<TranCarInfo> tranCarInfoList = tranCarInfoService.selectList(new EntityWrapper<TranCarInfo>()
|
|
List<TranCarInfo> tranCarInfoList = tranCarInfoService.selectList(new EntityWrapper<TranCarInfo>()
|
|
.eq("contract_no", contractManagementInfo1.getContractNo()).eq("tran_type", "1"));
|
|
.eq("contract_no", contractManagementInfo1.getContractNo()).eq("tran_type", "1"));
|
|
- TranCarInfo tranCarInfo=new TranCarInfo();
|
|
|
|
|
|
+ TranCarInfo tranCarInfo = new TranCarInfo();
|
|
tranCarInfo.setProcessId(tranProcessInfo.getId());
|
|
tranCarInfo.setProcessId(tranProcessInfo.getId());
|
|
- tranCarInfo.setTranPrice(String.valueOf(tranProcessInfo.getTranPrice()!=null?tranProcessInfo.getTranPrice():0f));
|
|
|
|
|
|
+ tranCarInfo.setTranPrice(String.valueOf(tranProcessInfo.getTranPrice() != null ? tranProcessInfo.getTranPrice() : 0f));
|
|
tranCarInfo.setInfoId(tranTaskInfo.getId());
|
|
tranCarInfo.setInfoId(tranTaskInfo.getId());
|
|
tranCarInfo.setCompId(warehouseBaseInfo.getCompId());
|
|
tranCarInfo.setCompId(warehouseBaseInfo.getCompId());
|
|
tranCarInfo.setTranType("1");
|
|
tranCarInfo.setTranType("1");
|
|
tranCarInfo.setCarNo(warehouseInOutInfo.getCarNo());
|
|
tranCarInfo.setCarNo(warehouseInOutInfo.getCarNo());
|
|
- String tranCarNo="";
|
|
|
|
- if ((tranCarInfoList.size()+1)<10){
|
|
|
|
- tranCarNo="C00"+(tranCarInfoList.size()+1);
|
|
|
|
- }
|
|
|
|
- else if(tranCarInfoList.size()+1<100){
|
|
|
|
- tranCarNo="C0"+(tranCarInfoList.size()+1);
|
|
|
|
- }
|
|
|
|
- else {
|
|
|
|
- tranCarNo="C"+(tranCarInfoList.size()+1);
|
|
|
|
|
|
+ String tranCarNo = "";
|
|
|
|
+ if ((tranCarInfoList.size() + 1) < 10) {
|
|
|
|
+ tranCarNo = "C00" + (tranCarInfoList.size() + 1);
|
|
|
|
+ } else if (tranCarInfoList.size() + 1 < 100) {
|
|
|
|
+ tranCarNo = "C0" + (tranCarInfoList.size() + 1);
|
|
|
|
+ } else {
|
|
|
|
+ tranCarNo = "C" + (tranCarInfoList.size() + 1);
|
|
}
|
|
}
|
|
tranCarInfo.setTranCarNo(tranCarNo);
|
|
tranCarInfo.setTranCarNo(tranCarNo);
|
|
tranCarInfo.setId(IdGenerator.generateUUID());
|
|
tranCarInfo.setId(IdGenerator.generateUUID());
|
|
@@ -1343,8 +1344,7 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
|
|
tranCarInfoService.insert(tranCarInfo);
|
|
tranCarInfoService.insert(tranCarInfo);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- }
|
|
|
|
- else{
|
|
|
|
|
|
+ } else {
|
|
throw new YException(YExceptionEnum.TRANTASK_NOT_CREATED_ERROR);
|
|
throw new YException(YExceptionEnum.TRANTASK_NOT_CREATED_ERROR);
|
|
}
|
|
}
|
|
stockSaleReceiptReport.setContractNo(warehouseInOutInfo.getContractNo());
|
|
stockSaleReceiptReport.setContractNo(warehouseInOutInfo.getContractNo());
|
|
@@ -1355,12 +1355,12 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
|
|
stockSaleReceiptReport.setDeliveryDate(warehouseInOutInfo.getInOutDate());
|
|
stockSaleReceiptReport.setDeliveryDate(warehouseInOutInfo.getInOutDate());
|
|
stockSaleReceiptReport.setSettlementWeight(warehouseInOutInfo.getNetWeight());
|
|
stockSaleReceiptReport.setSettlementWeight(warehouseInOutInfo.getNetWeight());
|
|
//按出库重量结算时
|
|
//按出库重量结算时
|
|
- if("1".equals(contractManagementInfo1.getSettlementWeightMethod())){
|
|
|
|
|
|
+ if ("1".equals(contractManagementInfo1.getSettlementWeightMethod())) {
|
|
stockSaleReceiptReport.setSettlementWeight(warehouseInOutInfo.getNetWeight());
|
|
stockSaleReceiptReport.setSettlementWeight(warehouseInOutInfo.getNetWeight());
|
|
//定价销售
|
|
//定价销售
|
|
- if(contractManagementInfo1.getUnitContractPrice()!=null) {
|
|
|
|
|
|
+ if (contractManagementInfo1.getUnitContractPrice() != null) {
|
|
stockSaleReceiptReport.setSettlementPrice(contractManagementInfo1.getUnitContractPrice());
|
|
stockSaleReceiptReport.setSettlementPrice(contractManagementInfo1.getUnitContractPrice());
|
|
- stockSaleReceiptReport.setAmountIngReceivable(warehouseInOutInfo.getNetWeight()*
|
|
|
|
|
|
+ stockSaleReceiptReport.setAmountIngReceivable(warehouseInOutInfo.getNetWeight() *
|
|
(contractManagementInfo1.getUnitContractPrice()));
|
|
(contractManagementInfo1.getUnitContractPrice()));
|
|
stockSaleReceiptReport.setAmountEdReceivable(0.00);
|
|
stockSaleReceiptReport.setAmountEdReceivable(0.00);
|
|
stockSaleReceiptReport.setAmountNotReceivable(stockSaleReceiptReport.getAmountIngReceivable());
|
|
stockSaleReceiptReport.setAmountNotReceivable(stockSaleReceiptReport.getAmountIngReceivable());
|
|
@@ -1369,8 +1369,8 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
|
|
stockSaleReceiptReport.setStatusFlag(StatusEnum.TO_BE_RECEIVED.getFlag());
|
|
stockSaleReceiptReport.setStatusFlag(StatusEnum.TO_BE_RECEIVED.getFlag());
|
|
stockSaleReceiptReport.setStatus(StatusEnum.TO_BE_RECEIVED.getName());
|
|
stockSaleReceiptReport.setStatus(StatusEnum.TO_BE_RECEIVED.getName());
|
|
stockSaleReceiptReport.setSettlementWeight(stockSaleReceiptReport.getNetWeight());
|
|
stockSaleReceiptReport.setSettlementWeight(stockSaleReceiptReport.getNetWeight());
|
|
- CostManagementInfo costManagementInfo = costManagementInfoService.selectOne(new EntityWrapper<CostManagementInfo>().eq("warehouse_id",warehouseInOutInfo.getBaseId()));
|
|
|
|
- if(costManagementInfo != null){
|
|
|
|
|
|
+ CostManagementInfo costManagementInfo = costManagementInfoService.selectOne(new EntityWrapper<CostManagementInfo>().eq("warehouse_id", warehouseInOutInfo.getBaseId()));
|
|
|
|
+ if (costManagementInfo != null) {
|
|
stockSaleReceiptReport.setCost(costManagementInfo.getCost());
|
|
stockSaleReceiptReport.setCost(costManagementInfo.getCost());
|
|
|
|
|
|
}
|
|
}
|
|
@@ -1383,44 +1383,41 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
|
|
.eq("move_task_no", warehouseInOutInfo.getContractNo())
|
|
.eq("move_task_no", warehouseInOutInfo.getContractNo())
|
|
.eq("in_out_flag", "1")
|
|
.eq("in_out_flag", "1")
|
|
.eq("delete_flag", "0"));
|
|
.eq("delete_flag", "0"));
|
|
- if (inOutWarehouseTask!=null){
|
|
|
|
|
|
+ if (inOutWarehouseTask != null) {
|
|
//自运出库时手动加的车
|
|
//自运出库时手动加的车
|
|
- if("1".equals(warehouseInOutInfo.getSelfLoading())) {
|
|
|
|
|
|
+ if ("1".equals(warehouseInOutInfo.getSelfLoading())) {
|
|
List<TranCarInfo> tranCarInfoList = tranCarInfoService.selectList(new EntityWrapper<TranCarInfo>()
|
|
List<TranCarInfo> tranCarInfoList = tranCarInfoService.selectList(new EntityWrapper<TranCarInfo>()
|
|
.eq("contract_no", warehouseInOutInfo.getContractNo()).eq("tran_type", "1")
|
|
.eq("contract_no", warehouseInOutInfo.getContractNo()).eq("tran_type", "1")
|
|
- .orderBy("create_date",false));
|
|
|
|
- TranCarInfo tranCarInfo=new TranCarInfo();
|
|
|
|
- TranTaskInfo tranTaskInfo=tranTaskInfoService.selectOne(new EntityWrapper<TranTaskInfo>()
|
|
|
|
- .eq("comp_id",warehouseBaseInfo.getCompId())
|
|
|
|
- .eq("contract_no",warehouseInOutInfo.getContractNo()));
|
|
|
|
- if (tranTaskInfo!=null){
|
|
|
|
|
|
+ .orderBy("create_date", false));
|
|
|
|
+ TranCarInfo tranCarInfo = new TranCarInfo();
|
|
|
|
+ TranTaskInfo tranTaskInfo = tranTaskInfoService.selectOne(new EntityWrapper<TranTaskInfo>()
|
|
|
|
+ .eq("comp_id", warehouseBaseInfo.getCompId())
|
|
|
|
+ .eq("contract_no", warehouseInOutInfo.getContractNo()));
|
|
|
|
+ if (tranTaskInfo != null) {
|
|
TranProcessInfo tranProcessInfo = tranProcessInfoService.selectOne(new EntityWrapper<TranProcessInfo>()
|
|
TranProcessInfo tranProcessInfo = tranProcessInfoService.selectOne(new EntityWrapper<TranProcessInfo>()
|
|
- .eq("info_id",tranTaskInfo.getId()));
|
|
|
|
|
|
+ .eq("info_id", tranTaskInfo.getId()));
|
|
tranCarInfo.setProcessId(tranProcessInfo.getId());
|
|
tranCarInfo.setProcessId(tranProcessInfo.getId());
|
|
tranCarInfo.setInfoId(tranTaskInfo.getId());
|
|
tranCarInfo.setInfoId(tranTaskInfo.getId());
|
|
- tranCarInfo.setTranPrice(String.valueOf(tranProcessInfo.getTranPrice()!=null?tranProcessInfo.getTranPrice():0f));
|
|
|
|
- }
|
|
|
|
- else {
|
|
|
|
|
|
+ tranCarInfo.setTranPrice(String.valueOf(tranProcessInfo.getTranPrice() != null ? tranProcessInfo.getTranPrice() : 0f));
|
|
|
|
+ } else {
|
|
throw new YException(YExceptionEnum.TRANTASK_NOT_CREATED_ERROR);
|
|
throw new YException(YExceptionEnum.TRANTASK_NOT_CREATED_ERROR);
|
|
}
|
|
}
|
|
//出库时打入成本
|
|
//出库时打入成本
|
|
CostManagementInfo costManagementInfo = costManagementInfoService.selectOne(new EntityWrapper<CostManagementInfo>().eq("warehouse_id", warehouseInOutInfo.getBaseId())
|
|
CostManagementInfo costManagementInfo = costManagementInfoService.selectOne(new EntityWrapper<CostManagementInfo>().eq("warehouse_id", warehouseInOutInfo.getBaseId())
|
|
.eq("goods_name", warehouseInOutInfo.getGoodsName()));
|
|
.eq("goods_name", warehouseInOutInfo.getGoodsName()));
|
|
- if(costManagementInfo != null) {
|
|
|
|
|
|
+ if (costManagementInfo != null) {
|
|
tranCarInfo.setCost(costManagementInfo.getCost());
|
|
tranCarInfo.setCost(costManagementInfo.getCost());
|
|
}
|
|
}
|
|
tranCarInfo.setCompId(warehouseBaseInfo.getCompId());
|
|
tranCarInfo.setCompId(warehouseBaseInfo.getCompId());
|
|
tranCarInfo.setTranType("1");
|
|
tranCarInfo.setTranType("1");
|
|
tranCarInfo.setCarNo(warehouseInOutInfo.getCarNo());
|
|
tranCarInfo.setCarNo(warehouseInOutInfo.getCarNo());
|
|
- String tranCarNo="";
|
|
|
|
- if ((tranCarInfoList.size()+1)<10){
|
|
|
|
- tranCarNo="C00"+(tranCarInfoList.size()+1);
|
|
|
|
- }
|
|
|
|
- else if(tranCarInfoList.size()+1<100){
|
|
|
|
- tranCarNo="C0"+(tranCarInfoList.size()+1);
|
|
|
|
- }
|
|
|
|
- else {
|
|
|
|
- tranCarNo="C"+(tranCarInfoList.size()+1);
|
|
|
|
|
|
+ String tranCarNo = "";
|
|
|
|
+ if ((tranCarInfoList.size() + 1) < 10) {
|
|
|
|
+ tranCarNo = "C00" + (tranCarInfoList.size() + 1);
|
|
|
|
+ } else if (tranCarInfoList.size() + 1 < 100) {
|
|
|
|
+ tranCarNo = "C0" + (tranCarInfoList.size() + 1);
|
|
|
|
+ } else {
|
|
|
|
+ tranCarNo = "C" + (tranCarInfoList.size() + 1);
|
|
}
|
|
}
|
|
tranCarInfo.setTranCarNo(tranCarNo);
|
|
tranCarInfo.setTranCarNo(tranCarNo);
|
|
tranCarInfo.setId(IdGenerator.generateUUID());
|
|
tranCarInfo.setId(IdGenerator.generateUUID());
|
|
@@ -1435,21 +1432,19 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
|
|
}
|
|
}
|
|
}
|
|
}
|
|
//运费大于0生成运费结算报表数据
|
|
//运费大于0生成运费结算报表数据
|
|
- if (warehouseInOutInfo.getFreight()!=null&&warehouseInOutInfo.getFreight()>0){
|
|
|
|
|
|
+ if (warehouseInOutInfo.getFreight() != null && warehouseInOutInfo.getFreight() > 0) {
|
|
//生成汽运报表
|
|
//生成汽运报表
|
|
TranSettlementReport tranSettlementReport = new TranSettlementReport();
|
|
TranSettlementReport tranSettlementReport = new TranSettlementReport();
|
|
tranSettlementReport.setCompId(warehouseBaseInfo.getCompId());
|
|
tranSettlementReport.setCompId(warehouseBaseInfo.getCompId());
|
|
tranSettlementReport.setCarId(warehouseInOutInfo.getCarId());
|
|
tranSettlementReport.setCarId(warehouseInOutInfo.getCarId());
|
|
tranSettlementReport.setId(IdGenerator.generateUUID());
|
|
tranSettlementReport.setId(IdGenerator.generateUUID());
|
|
- if ("汽运".equals(warehouseInOutInfo.getOutType())){
|
|
|
|
|
|
+ if ("汽运".equals(warehouseInOutInfo.getOutType())) {
|
|
tranSettlementReport.setTranType("汽运");
|
|
tranSettlementReport.setTranType("汽运");
|
|
tranSettlementReport.setTranTypeKey("1");
|
|
tranSettlementReport.setTranTypeKey("1");
|
|
- }
|
|
|
|
- else if ("火运".equals(warehouseInOutInfo.getOutType())){
|
|
|
|
|
|
+ } else if ("火运".equals(warehouseInOutInfo.getOutType())) {
|
|
tranSettlementReport.setTranType("火运");
|
|
tranSettlementReport.setTranType("火运");
|
|
tranSettlementReport.setTranTypeKey("2");
|
|
tranSettlementReport.setTranTypeKey("2");
|
|
- }
|
|
|
|
- else {
|
|
|
|
|
|
+ } else {
|
|
tranSettlementReport.setTranType("船运");
|
|
tranSettlementReport.setTranType("船运");
|
|
tranSettlementReport.setTranTypeKey("3");
|
|
tranSettlementReport.setTranTypeKey("3");
|
|
}
|
|
}
|
|
@@ -1493,14 +1488,14 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
|
|
if (tranCarInfo != null) {
|
|
if (tranCarInfo != null) {
|
|
//将发货数据同步到派车表
|
|
//将发货数据同步到派车表
|
|
tranCarInfo.setLoadNetWeight(Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
|
|
tranCarInfo.setLoadNetWeight(Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
|
|
- if (warehouseInOutInfo.getAddressUrl()!=null) {
|
|
|
|
|
|
+ if (warehouseInOutInfo.getAddressUrl() != null) {
|
|
tranCarInfo.setLoadPoundImg(warehouseInOutInfo.getAddressUrl());
|
|
tranCarInfo.setLoadPoundImg(warehouseInOutInfo.getAddressUrl());
|
|
}
|
|
}
|
|
- if ("移库出库".equals(warehouseInOutInfo.getInOutType())){
|
|
|
|
- //移库出库时打入成本
|
|
|
|
- CostManagementInfo costManagementInfo = costManagementInfoService.selectOne(new EntityWrapper<CostManagementInfo>().eq("warehouse_id", warehouseInOutInfo.getBaseId())
|
|
|
|
- .eq("goods_name", warehouseInOutInfo.getGoodsName()));
|
|
|
|
- if(costManagementInfo != null) {
|
|
|
|
|
|
+ if ("移库出库".equals(warehouseInOutInfo.getInOutType())) {
|
|
|
|
+ //移库出库时打入成本
|
|
|
|
+ CostManagementInfo costManagementInfo = costManagementInfoService.selectOne(new EntityWrapper<CostManagementInfo>().eq("warehouse_id", warehouseInOutInfo.getBaseId())
|
|
|
|
+ .eq("goods_name", warehouseInOutInfo.getGoodsName()));
|
|
|
|
+ if (costManagementInfo != null) {
|
|
tranCarInfo.setCost(costManagementInfo.getCost());
|
|
tranCarInfo.setCost(costManagementInfo.getCost());
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -1588,7 +1583,7 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
|
|
stockPurchaseReceiptReport.setWarehousingDate(warehouseInOutInfo.getInOutDate());
|
|
stockPurchaseReceiptReport.setWarehousingDate(warehouseInOutInfo.getInOutDate());
|
|
stockPurchaseReceiptReport.setSettlementWeight(Double.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
|
|
stockPurchaseReceiptReport.setSettlementWeight(Double.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
|
|
stockPurchaseReceiptReport.setSettlementPrice(contractManagementInfo.getUnitContractPrice());
|
|
stockPurchaseReceiptReport.setSettlementPrice(contractManagementInfo.getUnitContractPrice());
|
|
- if(contractManagementInfo.getUnitContractPrice()!=null) {
|
|
|
|
|
|
+ if (contractManagementInfo.getUnitContractPrice() != null) {
|
|
stockPurchaseReceiptReport.setAmountIngPayable(warehouseInOutInfo.getNetWeight() *
|
|
stockPurchaseReceiptReport.setAmountIngPayable(warehouseInOutInfo.getNetWeight() *
|
|
(contractManagementInfo.getUnitContractPrice()));
|
|
(contractManagementInfo.getUnitContractPrice()));
|
|
}
|
|
}
|
|
@@ -1619,9 +1614,9 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
|
|
stockPurchaseReceiptReportService.updateById(stockPurchaseReceiptReport);
|
|
stockPurchaseReceiptReportService.updateById(stockPurchaseReceiptReport);
|
|
workflowService.activateInstance(stockPurchaseReceiptReport.getWorkflowId(), stockPurchaseReceiptReport.getId());
|
|
workflowService.activateInstance(stockPurchaseReceiptReport.getWorkflowId(), stockPurchaseReceiptReport.getId());
|
|
}
|
|
}
|
|
- }
|
|
|
|
|
|
+ }
|
|
ContractManagementInfo contractManagementInfo1 = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
|
|
ContractManagementInfo contractManagementInfo1 = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
|
|
- .eq("contract_no", contractManagementInfo.getContractNo()).eq("delete_flag","0"));
|
|
|
|
|
|
+ .eq("contract_no", contractManagementInfo.getContractNo()).eq("delete_flag", "0"));
|
|
if (contractManagementInfo1 == null) {
|
|
if (contractManagementInfo1 == null) {
|
|
throw new YException(YExceptionEnum.CONTRACT_NO_NOT_EXSITS_ERROR);
|
|
throw new YException(YExceptionEnum.CONTRACT_NO_NOT_EXSITS_ERROR);
|
|
}
|
|
}
|
|
@@ -1677,7 +1672,7 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
|
|
if (tranCarInfo != null) {
|
|
if (tranCarInfo != null) {
|
|
//将发货数据同步到派车表
|
|
//将发货数据同步到派车表
|
|
tranCarInfo.setLoadNetWeight(Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
|
|
tranCarInfo.setLoadNetWeight(Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
|
|
- if (warehouseInOutInfo.getAddressUrl()!=null) {
|
|
|
|
|
|
+ if (warehouseInOutInfo.getAddressUrl() != null) {
|
|
tranCarInfo.setLoadPoundImg(warehouseInOutInfo.getAddressUrl());
|
|
tranCarInfo.setLoadPoundImg(warehouseInOutInfo.getAddressUrl());
|
|
}
|
|
}
|
|
tranCarInfo.setLoadingDate(warehouseInOutInfo.getInOutDate());
|
|
tranCarInfo.setLoadingDate(warehouseInOutInfo.getInOutDate());
|
|
@@ -1716,7 +1711,7 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
|
|
stockPurchaseReceiptReport.setWarehousingDate(warehouseInOutInfo.getInOutDate());
|
|
stockPurchaseReceiptReport.setWarehousingDate(warehouseInOutInfo.getInOutDate());
|
|
stockPurchaseReceiptReport.setSettlementWeight(Double.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
|
|
stockPurchaseReceiptReport.setSettlementWeight(Double.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
|
|
stockPurchaseReceiptReport.setSettlementPrice(contractManagementInfo.getUnitContractPrice());
|
|
stockPurchaseReceiptReport.setSettlementPrice(contractManagementInfo.getUnitContractPrice());
|
|
- if(contractManagementInfo.getUnitContractPrice()!=null) {
|
|
|
|
|
|
+ if (contractManagementInfo.getUnitContractPrice() != null) {
|
|
stockPurchaseReceiptReport.setAmountIngPayable(warehouseInOutInfo.getNetWeight() *
|
|
stockPurchaseReceiptReport.setAmountIngPayable(warehouseInOutInfo.getNetWeight() *
|
|
(contractManagementInfo.getUnitContractPrice()));
|
|
(contractManagementInfo.getUnitContractPrice()));
|
|
}
|
|
}
|
|
@@ -1749,7 +1744,7 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
|
|
}
|
|
}
|
|
}
|
|
}
|
|
ContractManagementInfo contractManagementInfo1 = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
|
|
ContractManagementInfo contractManagementInfo1 = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
|
|
- .eq("contract_no", contractManagementInfo.getContractNo()).eq("delete_flag","0"));
|
|
|
|
|
|
+ .eq("contract_no", contractManagementInfo.getContractNo()).eq("delete_flag", "0"));
|
|
if (contractManagementInfo1 == null) {
|
|
if (contractManagementInfo1 == null) {
|
|
throw new YException(YExceptionEnum.CONTRACT_NO_NOT_EXSITS_ERROR);
|
|
throw new YException(YExceptionEnum.CONTRACT_NO_NOT_EXSITS_ERROR);
|
|
}
|
|
}
|
|
@@ -1762,15 +1757,14 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
|
|
if (tranCarInfo != null) {
|
|
if (tranCarInfo != null) {
|
|
//将发货数据同步到派车表
|
|
//将发货数据同步到派车表
|
|
tranCarInfo.setLoadNetWeight(Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
|
|
tranCarInfo.setLoadNetWeight(Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
|
|
- if (warehouseInOutInfo.getAddressUrl()!=null) {
|
|
|
|
|
|
+ if (warehouseInOutInfo.getAddressUrl() != null) {
|
|
tranCarInfo.setLoadPoundImg(warehouseInOutInfo.getAddressUrl());
|
|
tranCarInfo.setLoadPoundImg(warehouseInOutInfo.getAddressUrl());
|
|
}
|
|
}
|
|
tranCarInfo.setLoadingDate(warehouseInOutInfo.getInOutDate());
|
|
tranCarInfo.setLoadingDate(warehouseInOutInfo.getInOutDate());
|
|
tranCarInfo.setContractNo(warehouseInOutInfo.getContractNo());
|
|
tranCarInfo.setContractNo(warehouseInOutInfo.getContractNo());
|
|
- if(contractManagementInfo!=null){
|
|
|
|
|
|
+ if (contractManagementInfo != null) {
|
|
tranCarInfo.setCost(contractManagementInfo.getUnitContractPrice());
|
|
tranCarInfo.setCost(contractManagementInfo.getUnitContractPrice());
|
|
- }
|
|
|
|
- else {
|
|
|
|
|
|
+ } else {
|
|
//出库时打入成本
|
|
//出库时打入成本
|
|
CostManagementInfo costManagementInfo = costManagementInfoService.selectOne(new EntityWrapper<CostManagementInfo>().eq("warehouse_id", warehouseInOutInfo.getBaseId())
|
|
CostManagementInfo costManagementInfo = costManagementInfoService.selectOne(new EntityWrapper<CostManagementInfo>().eq("warehouse_id", warehouseInOutInfo.getBaseId())
|
|
.eq("goods_name", warehouseInOutInfo.getGoodsName()));
|
|
.eq("goods_name", warehouseInOutInfo.getGoodsName()));
|
|
@@ -1793,35 +1787,33 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
|
|
inOutWarehouseTaskWrapper.andNew().eq("move_task_no", warehouseInOutInfo.getContractNo()).or()
|
|
inOutWarehouseTaskWrapper.andNew().eq("move_task_no", warehouseInOutInfo.getContractNo()).or()
|
|
.eq("contract_no", warehouseInOutInfo.getContractNo());
|
|
.eq("contract_no", warehouseInOutInfo.getContractNo());
|
|
InOutWarehouseTask inOutWarehouseTask = inOutWarehouseTaskService.selectOne(inOutWarehouseTaskWrapper);
|
|
InOutWarehouseTask inOutWarehouseTask = inOutWarehouseTaskService.selectOne(inOutWarehouseTaskWrapper);
|
|
- if (inOutWarehouseTask!=null){
|
|
|
|
|
|
+ if (inOutWarehouseTask != null) {
|
|
//自运出库时手动加的车
|
|
//自运出库时手动加的车
|
|
- if("1".equals(warehouseInOutInfo.getSelfLoading())||warehouseInOutInfo.getTranCarNo() == null||warehouseInOutInfo.getCarId() == null) {
|
|
|
|
|
|
+ if ("1".equals(warehouseInOutInfo.getSelfLoading()) || warehouseInOutInfo.getTranCarNo() == null || warehouseInOutInfo.getCarId() == null) {
|
|
List<TranCarInfo> tranCarInfoList = tranCarInfoService.selectList(new EntityWrapper<TranCarInfo>()
|
|
List<TranCarInfo> tranCarInfoList = tranCarInfoService.selectList(new EntityWrapper<TranCarInfo>()
|
|
.eq("contract_no", warehouseInOutInfo.getContractNo()).eq("tran_type", "1")
|
|
.eq("contract_no", warehouseInOutInfo.getContractNo()).eq("tran_type", "1")
|
|
- .orderBy("create_date",false));
|
|
|
|
- TranCarInfo tranCarInfo=new TranCarInfo();
|
|
|
|
- TranTaskInfo tranTaskInfo=tranTaskInfoService.selectOne(new EntityWrapper<TranTaskInfo>()
|
|
|
|
- .eq("comp_id",warehouseBaseInfo.getCompId())
|
|
|
|
- .eq("contract_no",warehouseInOutInfo.getContractNo()));
|
|
|
|
- if (tranTaskInfo!=null){
|
|
|
|
|
|
+ .orderBy("create_date", false));
|
|
|
|
+ TranCarInfo tranCarInfo = new TranCarInfo();
|
|
|
|
+ TranTaskInfo tranTaskInfo = tranTaskInfoService.selectOne(new EntityWrapper<TranTaskInfo>()
|
|
|
|
+ .eq("comp_id", warehouseBaseInfo.getCompId())
|
|
|
|
+ .eq("contract_no", warehouseInOutInfo.getContractNo()));
|
|
|
|
+ if (tranTaskInfo != null) {
|
|
TranProcessInfo tranProcessInfo = tranProcessInfoService.selectOne(new EntityWrapper<TranProcessInfo>()
|
|
TranProcessInfo tranProcessInfo = tranProcessInfoService.selectOne(new EntityWrapper<TranProcessInfo>()
|
|
- .eq("info_id",tranTaskInfo.getId()));
|
|
|
|
|
|
+ .eq("info_id", tranTaskInfo.getId()));
|
|
tranCarInfo.setProcessId(tranProcessInfo.getId());
|
|
tranCarInfo.setProcessId(tranProcessInfo.getId());
|
|
- tranCarInfo.setTranPrice(String.valueOf(tranProcessInfo.getTranPrice()!=null?tranProcessInfo.getTranPrice():0f));
|
|
|
|
|
|
+ tranCarInfo.setTranPrice(String.valueOf(tranProcessInfo.getTranPrice() != null ? tranProcessInfo.getTranPrice() : 0f));
|
|
tranCarInfo.setInfoId(tranTaskInfo.getId());
|
|
tranCarInfo.setInfoId(tranTaskInfo.getId());
|
|
- }
|
|
|
|
- else {
|
|
|
|
|
|
+ } else {
|
|
throw new YException(YExceptionEnum.TRANTASK_NOT_CREATED_ERROR);
|
|
throw new YException(YExceptionEnum.TRANTASK_NOT_CREATED_ERROR);
|
|
}
|
|
}
|
|
tranCarInfo.setCompId(warehouseBaseInfo.getCompId());
|
|
tranCarInfo.setCompId(warehouseBaseInfo.getCompId());
|
|
tranCarInfo.setTranType("1");
|
|
tranCarInfo.setTranType("1");
|
|
tranCarInfo.setSubmit("1");
|
|
tranCarInfo.setSubmit("1");
|
|
ContractManagementInfo contractManagementInfo1 = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
|
|
ContractManagementInfo contractManagementInfo1 = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
|
|
- .eq("contract_no", warehouseInOutInfo.getContractNo()).eq("delete_flag","0"));
|
|
|
|
|
|
+ .eq("contract_no", warehouseInOutInfo.getContractNo()).eq("delete_flag", "0"));
|
|
if (contractManagementInfo1 != null) {
|
|
if (contractManagementInfo1 != null) {
|
|
tranCarInfo.setCost(contractManagementInfo1.getUnitContractPrice());
|
|
tranCarInfo.setCost(contractManagementInfo1.getUnitContractPrice());
|
|
- }
|
|
|
|
- else {
|
|
|
|
|
|
+ } else {
|
|
//出库时打入成本
|
|
//出库时打入成本
|
|
CostManagementInfo costManagementInfo = costManagementInfoService.selectOne(new EntityWrapper<CostManagementInfo>().eq("warehouse_id", warehouseInOutInfo.getBaseId())
|
|
CostManagementInfo costManagementInfo = costManagementInfoService.selectOne(new EntityWrapper<CostManagementInfo>().eq("warehouse_id", warehouseInOutInfo.getBaseId())
|
|
.eq("goods_name", warehouseInOutInfo.getGoodsName()));
|
|
.eq("goods_name", warehouseInOutInfo.getGoodsName()));
|
|
@@ -1832,15 +1824,13 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
|
|
tranCarInfo.setLoadNetWeight(Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
|
|
tranCarInfo.setLoadNetWeight(Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
|
|
tranCarInfo.setLoadingDate(new Date());
|
|
tranCarInfo.setLoadingDate(new Date());
|
|
tranCarInfo.setCarNo(warehouseInOutInfo.getCarNo());
|
|
tranCarInfo.setCarNo(warehouseInOutInfo.getCarNo());
|
|
- String tranCarNo="";
|
|
|
|
- if ((tranCarInfoList.size()+1)<10){
|
|
|
|
- tranCarNo="C00"+(tranCarInfoList.size()+1);
|
|
|
|
- }
|
|
|
|
- else if(tranCarInfoList.size()+1<100){
|
|
|
|
- tranCarNo="C0"+(tranCarInfoList.size()+1);
|
|
|
|
- }
|
|
|
|
- else {
|
|
|
|
- tranCarNo="C"+(tranCarInfoList.size()+1);
|
|
|
|
|
|
+ String tranCarNo = "";
|
|
|
|
+ if ((tranCarInfoList.size() + 1) < 10) {
|
|
|
|
+ tranCarNo = "C00" + (tranCarInfoList.size() + 1);
|
|
|
|
+ } else if (tranCarInfoList.size() + 1 < 100) {
|
|
|
|
+ tranCarNo = "C0" + (tranCarInfoList.size() + 1);
|
|
|
|
+ } else {
|
|
|
|
+ tranCarNo = "C" + (tranCarInfoList.size() + 1);
|
|
}
|
|
}
|
|
tranCarInfo.setTranCarNo(tranCarNo);
|
|
tranCarInfo.setTranCarNo(tranCarNo);
|
|
tranCarInfo.setId(IdGenerator.generateUUID());
|
|
tranCarInfo.setId(IdGenerator.generateUUID());
|
|
@@ -1882,35 +1872,33 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public String returnWarehouse(WarehouseInOutInfo warehouseInOutInfo) {
|
|
public String returnWarehouse(WarehouseInOutInfo warehouseInOutInfo) {
|
|
- WarehouseInOutInfo warehouseInOutInfo1=this.selectById(warehouseInOutInfo.getId());
|
|
|
|
|
|
+ WarehouseInOutInfo warehouseInOutInfo1 = this.selectById(warehouseInOutInfo.getId());
|
|
warehouseInOutInfo.setStatusFlag(StatusEnum.TEMPORARILY_STORED.getFlag());
|
|
warehouseInOutInfo.setStatusFlag(StatusEnum.TEMPORARILY_STORED.getFlag());
|
|
warehouseInOutInfo.setStatus(StatusEnum.TEMPORARILY_STORED.getName());
|
|
warehouseInOutInfo.setStatus(StatusEnum.TEMPORARILY_STORED.getName());
|
|
this.updateById(warehouseInOutInfo);
|
|
this.updateById(warehouseInOutInfo);
|
|
- if ("销售出库".equals(warehouseInOutInfo1.getInOutType())){
|
|
|
|
- StockSaleReceiptReport stockSaleReceiptReport=stockSaleReceiptReportService.selectOne(new EntityWrapper<StockSaleReceiptReport>()
|
|
|
|
- .eq("warehouse_record_id",warehouseInOutInfo.getId()));
|
|
|
|
- if (stockSaleReceiptReport!=null){
|
|
|
|
|
|
+ if ("销售出库".equals(warehouseInOutInfo1.getInOutType())) {
|
|
|
|
+ StockSaleReceiptReport stockSaleReceiptReport = stockSaleReceiptReportService.selectOne(new EntityWrapper<StockSaleReceiptReport>()
|
|
|
|
+ .eq("warehouse_record_id", warehouseInOutInfo.getId()));
|
|
|
|
+ if (stockSaleReceiptReport != null) {
|
|
stockSaleReceiptReportService.deleteById(stockSaleReceiptReport.getId());
|
|
stockSaleReceiptReportService.deleteById(stockSaleReceiptReport.getId());
|
|
}
|
|
}
|
|
- }
|
|
|
|
- else if ("采购入库".equals(warehouseInOutInfo1.getInOutType())){
|
|
|
|
- StockPurchaseReceiptReport stockPurchaseReceiptReport=stockPurchaseReceiptReportService.selectOne(new EntityWrapper<StockPurchaseReceiptReport>()
|
|
|
|
- .eq("warehouse_record_id",warehouseInOutInfo.getId()));
|
|
|
|
- if (stockPurchaseReceiptReport!=null){
|
|
|
|
|
|
+ } else if ("采购入库".equals(warehouseInOutInfo1.getInOutType())) {
|
|
|
|
+ StockPurchaseReceiptReport stockPurchaseReceiptReport = stockPurchaseReceiptReportService.selectOne(new EntityWrapper<StockPurchaseReceiptReport>()
|
|
|
|
+ .eq("warehouse_record_id", warehouseInOutInfo.getId()));
|
|
|
|
+ if (stockPurchaseReceiptReport != null) {
|
|
stockPurchaseReceiptReportService.deleteById(stockPurchaseReceiptReport.getId());
|
|
stockPurchaseReceiptReportService.deleteById(stockPurchaseReceiptReport.getId());
|
|
}
|
|
}
|
|
- }
|
|
|
|
- else if ("移库入库".equals(warehouseInOutInfo1.getInOutType())){
|
|
|
|
- StockPurchaseReceiptReport stockPurchaseReceiptReport=stockPurchaseReceiptReportService.selectOne(new EntityWrapper<StockPurchaseReceiptReport>()
|
|
|
|
- .eq("warehouse_record_id",warehouseInOutInfo.getId()));
|
|
|
|
- if (stockPurchaseReceiptReport!=null){
|
|
|
|
|
|
+ } else if ("移库入库".equals(warehouseInOutInfo1.getInOutType())) {
|
|
|
|
+ StockPurchaseReceiptReport stockPurchaseReceiptReport = stockPurchaseReceiptReportService.selectOne(new EntityWrapper<StockPurchaseReceiptReport>()
|
|
|
|
+ .eq("warehouse_record_id", warehouseInOutInfo.getId()));
|
|
|
|
+ if (stockPurchaseReceiptReport != null) {
|
|
stockPurchaseReceiptReportService.deleteById(stockPurchaseReceiptReport.getId());
|
|
stockPurchaseReceiptReportService.deleteById(stockPurchaseReceiptReport.getId());
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- InOutWarehouseTask inOutWarehouseTask=inOutWarehouseTaskService.selectOne(new EntityWrapper<InOutWarehouseTask>()
|
|
|
|
- .eq("in_out_task_no",warehouseInOutInfo1.getInOutTaskNo()));
|
|
|
|
- if (inOutWarehouseTask!=null){
|
|
|
|
- inOutWarehouseTask.setCompletedQuantity(inOutWarehouseTask.getCompletedQuantity()-Float.valueOf(String.valueOf(warehouseInOutInfo1.getNetWeight())));
|
|
|
|
|
|
+ InOutWarehouseTask inOutWarehouseTask = inOutWarehouseTaskService.selectOne(new EntityWrapper<InOutWarehouseTask>()
|
|
|
|
+ .eq("in_out_task_no", warehouseInOutInfo1.getInOutTaskNo()));
|
|
|
|
+ if (inOutWarehouseTask != null) {
|
|
|
|
+ inOutWarehouseTask.setCompletedQuantity(inOutWarehouseTask.getCompletedQuantity() - Float.valueOf(String.valueOf(warehouseInOutInfo1.getNetWeight())));
|
|
}
|
|
}
|
|
return "OK";
|
|
return "OK";
|
|
|
|
|
|
@@ -2054,8 +2042,8 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
|
|
warehouseInOutDetail.setId(IdGenerator.generateUUID());
|
|
warehouseInOutDetail.setId(IdGenerator.generateUUID());
|
|
warehouseInOutDetail.setInfoId(warehouseInOutInfo.getId());
|
|
warehouseInOutDetail.setInfoId(warehouseInOutInfo.getId());
|
|
// 操作详情数据库
|
|
// 操作详情数据库
|
|
- List<WarehouseInOutDetail> ll = warehouseInOutDetailService.selectList(new EntityWrapper<WarehouseInOutDetail>().eq("info_id",warehouseInOutInfo.getId()));
|
|
|
|
- if(ll.size() == 0){
|
|
|
|
|
|
+ List<WarehouseInOutDetail> ll = warehouseInOutDetailService.selectList(new EntityWrapper<WarehouseInOutDetail>().eq("info_id", warehouseInOutInfo.getId()));
|
|
|
|
+ if (ll.size() == 0) {
|
|
warehouseInOutDetailService.insert(warehouseInOutDetail);
|
|
warehouseInOutDetailService.insert(warehouseInOutDetail);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -2115,6 +2103,7 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
|
|
|
|
|
|
/**
|
|
/**
|
|
* 查当天出/入库数量
|
|
* 查当天出/入库数量
|
|
|
|
+ *
|
|
* @param positionId,type
|
|
* @param positionId,type
|
|
* @param inOutFlag
|
|
* @param inOutFlag
|
|
* @return
|
|
* @return
|
|
@@ -2137,14 +2126,15 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
|
|
|
|
|
|
/**
|
|
/**
|
|
* 调整
|
|
* 调整
|
|
|
|
+ *
|
|
* @param warehouseInOutInfo
|
|
* @param warehouseInOutInfo
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
@Override
|
|
@Override
|
|
public String adjustment(WarehouseInOutInfo warehouseInOutInfo) {
|
|
public String adjustment(WarehouseInOutInfo warehouseInOutInfo) {
|
|
List<WarehouseInOutInfo> warehouseInOutInfoList = warehouseInOutInfo.getWarehouseInOutInfoList();
|
|
List<WarehouseInOutInfo> warehouseInOutInfoList = warehouseInOutInfo.getWarehouseInOutInfoList();
|
|
- if (!CollectionUtils.isEmpty(warehouseInOutInfoList)){
|
|
|
|
- for (WarehouseInOutInfo warehouseInOutInfo1:warehouseInOutInfoList){
|
|
|
|
|
|
+ if (!CollectionUtils.isEmpty(warehouseInOutInfoList)) {
|
|
|
|
+ for (WarehouseInOutInfo warehouseInOutInfo1 : warehouseInOutInfoList) {
|
|
warehouseInOutInfo1.setAdjustment(warehouseInOutInfo.getAdjustment());
|
|
warehouseInOutInfo1.setAdjustment(warehouseInOutInfo.getAdjustment());
|
|
this.updateById(warehouseInOutInfo1);
|
|
this.updateById(warehouseInOutInfo1);
|
|
}
|
|
}
|
|
@@ -2225,7 +2215,7 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
|
|
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- public Integer selectCountCompany(String compId,String type) {
|
|
|
|
|
|
+ public Integer selectCountCompany(String compId, String type) {
|
|
Map<String, Object> pageView = new HashMap<>();
|
|
Map<String, Object> pageView = new HashMap<>();
|
|
pageView.put("compId", compId);
|
|
pageView.put("compId", compId);
|
|
// 仓库ID
|
|
// 仓库ID
|
|
@@ -2235,17 +2225,1825 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
|
|
|
|
|
|
/**
|
|
/**
|
|
* 修改入库量
|
|
* 修改入库量
|
|
|
|
+ *
|
|
* @param warehouseInOutInfo
|
|
* @param warehouseInOutInfo
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
@Override
|
|
@Override
|
|
- public String updateStockQuantity(WarehouseInOutInfo warehouseInOutInfo){
|
|
|
|
|
|
+ public String updateStockQuantity(WarehouseInOutInfo warehouseInOutInfo) {
|
|
WarehouseInOutInfo warehouseInOutInfos = this.selectOne(new EntityWrapper<WarehouseInOutInfo>()
|
|
WarehouseInOutInfo warehouseInOutInfos = this.selectOne(new EntityWrapper<WarehouseInOutInfo>()
|
|
- .eq("base_id",warehouseInOutInfo.getBaseId()).eq("in_out_type","采购入库"));
|
|
|
|
|
|
+ .eq("base_id", warehouseInOutInfo.getBaseId()).eq("in_out_type", "采购入库"));
|
|
warehouseInOutInfos.setNetWeight(warehouseInOutInfo.getNetWeight());
|
|
warehouseInOutInfos.setNetWeight(warehouseInOutInfo.getNetWeight());
|
|
this.updateById(warehouseInOutInfos);
|
|
this.updateById(warehouseInOutInfos);
|
|
return "ok";
|
|
return "ok";
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 新出入库
|
|
|
|
+ *
|
|
|
|
+ * @param warehouseInOutInfo
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ @Override
|
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
|
+ public String newInOutWarehouse(WarehouseInOutInfo warehouseInOutInfo) {
|
|
|
|
+ CommonStaff commonStaff = staffService.getInfo(AuthSecurityUtils.getCurrentUserId());
|
|
|
|
+ warehouseInOutInfo.setBackOffice(commonStaff.getStaffName());
|
|
|
|
+ WarehouseInOutDetail warehouseInOutDetail = warehouseInOutInfo.getWarehouseInOutDetail();
|
|
|
|
+ // 查询仓库
|
|
|
|
+ WarehouseBaseInfo warehouseBaseInfo = warehouseBaseInfoService.selectById(warehouseInOutInfo.getBaseId());
|
|
|
|
+ //判断暂存提交(前端传参1暂存3提交)
|
|
|
|
+ if ("1".equals(warehouseInOutInfo.getStatusFlag())) {
|
|
|
|
+ //插入记录
|
|
|
|
+ if (StringUtils.isEmpty(warehouseInOutInfo.getId())) {
|
|
|
|
+ warehouseInOutInfo.setId(IdGenerator.generateUUID());
|
|
|
|
+ warehouseInOutInfo.setStatusFlag(StatusEnum.TEMPORARILY_STORED.getFlag());
|
|
|
|
+ warehouseInOutInfo.setStatus(StatusEnum.TEMPORARILY_STORED.getName());
|
|
|
|
+ this.insert(warehouseInOutInfo);
|
|
|
|
+ // 详情
|
|
|
|
+ warehouseInOutDetail.setInfoId(warehouseInOutInfo.getId());
|
|
|
|
+ warehouseInOutDetail.setId(IdGenerator.generateUUID());
|
|
|
|
+ List<WarehouseInOutDetail> ll = warehouseInOutDetailService.selectList(new EntityWrapper<WarehouseInOutDetail>().eq("info_id", warehouseInOutInfo.getId()));
|
|
|
|
+ if (ll.size() == 0) {
|
|
|
|
+ warehouseInOutDetailService.insert(warehouseInOutDetail);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ // 编辑修改记录
|
|
|
|
+ else {
|
|
|
|
+ this.updateById(warehouseInOutInfo);
|
|
|
|
+ //app暂存判断详情表是否存在
|
|
|
|
+ if (StringUtils.isEmpty(warehouseInOutDetail.getId())) {
|
|
|
|
+ // 详情
|
|
|
|
+ warehouseInOutDetail.setInfoId(warehouseInOutInfo.getId());
|
|
|
|
+ warehouseInOutDetail.setId(IdGenerator.generateUUID());
|
|
|
|
+ List<WarehouseInOutDetail> ll = warehouseInOutDetailService.selectList(new EntityWrapper<WarehouseInOutDetail>().eq("info_id", warehouseInOutInfo.getId()));
|
|
|
|
+ if (ll.size() == 0) {
|
|
|
|
+ warehouseInOutDetailService.insert(warehouseInOutDetail);
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ warehouseInOutDetailService.updateById(warehouseInOutDetail);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ //入库
|
|
|
|
+ if ("2".equals(warehouseInOutInfo.getInOutFlag())) {
|
|
|
|
+ Wrapper wrapper = new EntityWrapper<TranCarInfo>()
|
|
|
|
+ .eq("contract_no", warehouseInOutInfo.getContractNo())
|
|
|
|
+ .eq("car_no", warehouseInOutInfo.getCarNo())
|
|
|
|
+ .eq(TranCarInfo.QueryFiles.DELETE_FLAG, NumberConstant.CONSTANT0)
|
|
|
|
+ .eq("tran_car_no", warehouseInOutInfo.getTranCarNo());
|
|
|
|
+ TranCarInfo tranCarInfo = tranCarInfoService.selectOne(wrapper);
|
|
|
|
+ if (tranCarInfo != null) {
|
|
|
|
+ //将车改成已被选
|
|
|
|
+ tranCarInfo.setSubmit("2");
|
|
|
|
+ tranCarInfo.setStatusFlag(StatusEnum.DELIVERED.getFlag());
|
|
|
|
+ tranCarInfo.setStatus(StatusEnum.DELIVERED.getName());
|
|
|
|
+ tranCarInfoService.updateById(tranCarInfo);
|
|
|
|
+ }
|
|
|
|
+ //毛重检斤
|
|
|
|
+ //状态改为已称毛重
|
|
|
|
+ if (warehouseInOutInfo.getWeighingManagement() != null) {
|
|
|
|
+ WeighingManagement weighingManagement = warehouseInOutInfo.getWeighingManagement();
|
|
|
|
+ weighingManagement.setStatus(StatusEnum.WEIGHED_GROSS_WEIGHT.getName());
|
|
|
|
+ weighingManagement.setStatusFlag(StatusEnum.WEIGHED_GROSS_WEIGHT.getFlag());
|
|
|
|
+ weighingManagement.setGrossDate(new Date());
|
|
|
|
+ weighingManagement.setSecretaryWeigher(commonStaff.getStaffName());
|
|
|
|
+ //质检信息
|
|
|
|
+ QualityInspectionManagement qualityInspectionManagement = qualityInspectionManagementService.selectOne(new EntityWrapper<QualityInspectionManagement>()
|
|
|
|
+ .eq("relation_id", weighingManagement.getRelationId())
|
|
|
|
+ .eq("comp_id", commonStaff.getCompId()));
|
|
|
|
+ if (qualityInspectionManagement != null) {
|
|
|
|
+ //状态改为已称毛重
|
|
|
|
+// qualityInspectionManagement.setStatus(StatusEnum.WEIGHED_GROSS_WEIGHT.getName());
|
|
|
|
+// qualityInspectionManagement.setStatusFlag(StatusEnum.WEIGHED_GROSS_WEIGHT.getFlag());
|
|
|
|
+ qualityInspectionManagementService.updateById(qualityInspectionManagement);
|
|
|
|
+ }
|
|
|
|
+ if (weighingManagement.getGrossWeight() == null || weighingManagement.getGrossWeight() == 0) {
|
|
|
|
+ throw new YException(YExceptionEnum.GROSSWEIGHT_NULL);
|
|
|
|
+ }
|
|
|
|
+ weighingManagementService.updateById(weighingManagement);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ //出库
|
|
|
|
+ else {
|
|
|
|
+ Wrapper wrapper = new EntityWrapper<TranCarInfo>()
|
|
|
|
+ .eq("contract_no", warehouseInOutInfo.getContractNo())
|
|
|
|
+ .eq("car_no", warehouseInOutInfo.getCarNo())
|
|
|
|
+ .eq(TranCarInfo.QueryFiles.DELETE_FLAG, NumberConstant.CONSTANT0)
|
|
|
|
+ .eq("tran_car_no", warehouseInOutInfo.getTranCarNo());
|
|
|
|
+ TranCarInfo tranCarInfo = tranCarInfoService.selectOne(wrapper);
|
|
|
|
+ if (tranCarInfo != null) {
|
|
|
|
+ if ("1".equals(tranCarInfo.getSubmit())) {
|
|
|
|
+ throw new YException(YExceptionEnum.CARNO_SUBMITTED_ERROR);
|
|
|
|
+ } else {
|
|
|
|
+ tranCarInfo.setSubmit("1");
|
|
|
|
+ }
|
|
|
|
+ tranCarInfo.setStatusFlag(StatusEnum.LOADED.getFlag());
|
|
|
|
+ tranCarInfo.setStatus(StatusEnum.LOADED.getName());
|
|
|
|
+ tranCarInfoService.updateById(tranCarInfo);
|
|
|
|
+ }
|
|
|
|
+ if (warehouseInOutInfo.getWeighingManagement() != null) {
|
|
|
|
+ if (warehouseInOutInfo.getWeighingManagement().getId() == null) {
|
|
|
|
+ //皮重检斤
|
|
|
|
+ WeighingManagement weighingManagement = warehouseInOutInfo.getWeighingManagement();
|
|
|
|
+ String relationId = IdGenerator.generateUUID();
|
|
|
|
+ weighingManagement.setId(IdGenerator.generateUUID());
|
|
|
|
+ if (weighingManagement.getCompId() == null || weighingManagement.getCompId().isEmpty()) {
|
|
|
|
+ weighingManagement.setCompId(AuthSecurityUtils.getStaffById(AuthSecurityUtils.getCurrentUserId()).getCompId());
|
|
|
|
+ }
|
|
|
|
+ //获取当前年月日
|
|
|
|
+ SimpleDateFormat f = new SimpleDateFormat("yyyyMMdd");//设置日期格式
|
|
|
|
+ String date = f.format(new Date(System.currentTimeMillis()));
|
|
|
|
+ //查询质检信息数量包括已删除的集合
|
|
|
|
+ List<WeighingManagement> weighingManagementList1 = weighingManagementService.selectWeighingManagementList(weighingManagement);//调用Service中的方法
|
|
|
|
+ //生成业务编号
|
|
|
|
+ if (weighingManagementList1.size() > 0) {
|
|
|
|
+ //取第一条数据的编号
|
|
|
|
+ String n = weighingManagementList1.get(0).getNumber();
|
|
|
|
+ //截取编号后4位
|
|
|
|
+ int intNumber = Integer.parseInt(n.substring(15));
|
|
|
|
+ intNumber++;
|
|
|
|
+ String businessNumber = String.valueOf(intNumber);
|
|
|
|
+ for (int i = 0; i < 4; i++) {
|
|
|
|
+ businessNumber = businessNumber.length() < 4 ? "0" + businessNumber : businessNumber;
|
|
|
|
+ }
|
|
|
|
+ //编号自增
|
|
|
|
+ businessNumber = weighingManagement.getNumberLetter() + date + weighingManagement.getWarehouseNo() + businessNumber;
|
|
|
|
+ weighingManagement.setNumber(businessNumber);
|
|
|
|
+ } else {
|
|
|
|
+ //如果当天数据为空,生成第一条数据
|
|
|
|
+ String businessNumber = weighingManagement.getNumberLetter() + date + weighingManagement.getWarehouseNo() + "0001";
|
|
|
|
+ weighingManagement.setNumber(businessNumber);
|
|
|
|
+ }
|
|
|
|
+ //判断质检编号是否唯一
|
|
|
|
+ List<WeighingManagement> weighingManagementList = weighingManagementService.selectList(new EntityWrapper<WeighingManagement>()
|
|
|
|
+ .eq("comp_id", weighingManagement.getCompId())
|
|
|
|
+ .eq("number", weighingManagement.getNumber()));
|
|
|
|
+ if (weighingManagementList.size() > 0) {
|
|
|
|
+ throw new YException(YExceptionEnum.QUALITY_NO_ERROR);
|
|
|
|
+ }
|
|
|
|
+ weighingManagement.setWarehouseInOutId(warehouseInOutInfo.getId());
|
|
|
|
+ weighingManagement.setRelationId(relationId);
|
|
|
|
+ weighingManagement.setTareDate(new Date());
|
|
|
|
+ weighingManagement.setManagementType("3");
|
|
|
|
+ //出库类型
|
|
|
|
+ weighingManagement.setServiceManagementType("2");
|
|
|
|
+ //状态改为已称皮重
|
|
|
|
+ weighingManagement.setStatus(StatusEnum.TARED.getName());
|
|
|
|
+ weighingManagement.setStatusFlag(StatusEnum.TARED.getFlag());
|
|
|
|
+ //生成质检信息
|
|
|
|
+ QualityInspectionManagement qualityInspectionManagement = new QualityInspectionManagement();
|
|
|
|
+ qualityInspectionManagement.setId(IdGenerator.generateUUID());
|
|
|
|
+ qualityInspectionManagement.setRelationId(weighingManagement.getRelationId());
|
|
|
|
+ qualityInspectionManagement.setContractNo(weighingManagement.getContractNo());
|
|
|
|
+ qualityInspectionManagement.setQualityNo(weighingManagement.getNumber());
|
|
|
|
+ qualityInspectionManagement.setWarehouseInOutId(weighingManagement.getWarehouseInOutId());
|
|
|
|
+ qualityInspectionManagement.setCarNumber(weighingManagement.getCarNumber());
|
|
|
|
+ qualityInspectionManagement.setCompId(weighingManagement.getCompId());
|
|
|
|
+ qualityInspectionManagement.setGoodsName(weighingManagement.getGoodsName());
|
|
|
|
+ qualityInspectionManagement.setBinNumber(weighingManagement.getBinNumber());
|
|
|
|
+ qualityInspectionManagement.setStatus(StatusEnum.TARED.getName());
|
|
|
|
+ qualityInspectionManagement.setStatusFlag(StatusEnum.TARED.getFlag());
|
|
|
|
+ qualityInspectionManagement.setManagementType("3");
|
|
|
|
+ qualityInspectionManagement.setServiceManagementType("2");
|
|
|
|
+ qualityInspectionManagement.setQualityDate(new Date());
|
|
|
|
+ qualityInspectionManagement.setWarehouseName(weighingManagement.getWarehouseName());
|
|
|
|
+ qualityInspectionManagement.setStorageTagNo(weighingManagement.getStorageNumber());
|
|
|
|
+ qualityInspectionManagementService.insert(qualityInspectionManagement);
|
|
|
|
+ weighingManagementService.insert(weighingManagement);
|
|
|
|
+ } else {
|
|
|
|
+ //编辑皮重检斤
|
|
|
|
+ WeighingManagement weighingManagement = warehouseInOutInfo.getWeighingManagement();
|
|
|
|
+ //状态改为已称皮重
|
|
|
|
+ weighingManagement.setStatus(StatusEnum.TARED.getName());
|
|
|
|
+ weighingManagement.setStatusFlag(StatusEnum.TARED.getFlag());
|
|
|
|
+ //更新检斤信息
|
|
|
|
+ weighingManagementService.updateById(weighingManagement);
|
|
|
|
+ //更新质检信息
|
|
|
|
+ qualityInspectionManagementService.updateById(weighingManagement.getQualityInspectionManagement());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ } else {
|
|
|
|
+ //插入记录
|
|
|
|
+ if (StringUtils.isEmpty(warehouseInOutInfo.getId())) {
|
|
|
|
+ warehouseInOutInfo.setId(IdGenerator.generateUUID());
|
|
|
|
+ warehouseInOutInfo.setStatusFlag(StatusEnum.SUBMITTED.getFlag());
|
|
|
|
+ warehouseInOutInfo.setStatus(StatusEnum.SUBMITTED.getName());
|
|
|
|
+ this.insert(warehouseInOutInfo);
|
|
|
|
+ //更新出入库任务表已完成量
|
|
|
|
+ InOutWarehouseTask inOutWarehouseTask = inOutWarehouseTaskService.selectOne(new EntityWrapper<InOutWarehouseTask>()
|
|
|
|
+ .eq("in_out_task_no", warehouseInOutInfo.getInOutTaskNo()));
|
|
|
|
+ if (inOutWarehouseTask != null) {
|
|
|
|
+ //可超出重量
|
|
|
|
+ Float overNeight = 0.0f;
|
|
|
|
+ ContractManagementInfo contractManagementInfo = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
|
|
|
|
+ .eq("comp_id", inOutWarehouseTask.getCompId())
|
|
|
|
+ .eq("contract_no", inOutWarehouseTask.getContractNo()));
|
|
|
|
+ //入库
|
|
|
|
+ if (contractManagementInfo != null && "2".equals(inOutWarehouseTask.getInOutFlag())) {
|
|
|
|
+ overNeight = inOutWarehouseTask.getWeight() * (contractManagementInfo.getOverShort() / 100);
|
|
|
|
+ } else {
|
|
|
|
+ contractManagementInfo = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
|
|
|
|
+ .eq("comp_id", inOutWarehouseTask.getCompId())
|
|
|
|
+ .eq("contract_no", inOutWarehouseTask.getWarehouseName()));
|
|
|
|
+ //移库入库
|
|
|
|
+ if (contractManagementInfo == null && "2".equals(inOutWarehouseTask.getInOutFlag())) {
|
|
|
|
+ overNeight = inOutWarehouseTask.getWeight() * 0.08f;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ inOutWarehouseTask.setCompletedQuantity(inOutWarehouseTask.getCompletedQuantity() + Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
|
|
|
|
+ if (inOutWarehouseTask.getCompletedQuantity() > inOutWarehouseTask.getWeight() + overNeight) {
|
|
|
|
+ throw new YException(YExceptionEnum.TASK_WEIGHT_EXCEEDED_ERROR);
|
|
|
|
+ } else {
|
|
|
|
+ inOutWarehouseTaskService.updateById(inOutWarehouseTask);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ // 详情
|
|
|
|
+ warehouseInOutDetail.setInfoId(warehouseInOutInfo.getId());
|
|
|
|
+ warehouseInOutDetail.setId(IdGenerator.generateUUID());
|
|
|
|
+ List<WarehouseInOutDetail> ll = warehouseInOutDetailService.selectList(new EntityWrapper<WarehouseInOutDetail>().eq("info_id", warehouseInOutInfo.getId()));
|
|
|
|
+ if (ll.size() == 0) {
|
|
|
|
+ warehouseInOutDetailService.insert(warehouseInOutDetail);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ // 编辑修改记录
|
|
|
|
+ else {
|
|
|
|
+ //更新出入库任务表已完成量
|
|
|
|
+ InOutWarehouseTask inOutWarehouseTask = inOutWarehouseTaskService.selectOne(new EntityWrapper<InOutWarehouseTask>()
|
|
|
|
+ .eq("in_out_task_no", warehouseInOutInfo.getInOutTaskNo()));
|
|
|
|
+ if (inOutWarehouseTask != null) {
|
|
|
|
+ //可超出重量
|
|
|
|
+ Float overNeight = 0.0f;
|
|
|
|
+ ContractManagementInfo contractManagementInfo = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
|
|
|
|
+ .eq("comp_id", inOutWarehouseTask.getCompId())
|
|
|
|
+ .eq("contract_no", inOutWarehouseTask.getContractNo()));
|
|
|
|
+ //入库
|
|
|
|
+ if (contractManagementInfo != null && "2".equals(inOutWarehouseTask.getInOutFlag())) {
|
|
|
|
+ overNeight = inOutWarehouseTask.getWeight() * (contractManagementInfo.getOverShort() / 100);
|
|
|
|
+ } else {
|
|
|
|
+ contractManagementInfo = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
|
|
|
|
+ .eq("comp_id", inOutWarehouseTask.getCompId())
|
|
|
|
+ .eq("contract_no", inOutWarehouseTask.getWarehouseName()));
|
|
|
|
+ //移库入库
|
|
|
|
+ if (contractManagementInfo == null && "2".equals(inOutWarehouseTask.getInOutFlag())) {
|
|
|
|
+ overNeight = inOutWarehouseTask.getWeight() * 0.08f;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ inOutWarehouseTask.setCompletedQuantity(inOutWarehouseTask.getCompletedQuantity() + Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
|
|
|
|
+ if (inOutWarehouseTask.getCompletedQuantity() > inOutWarehouseTask.getWeight() + overNeight) {
|
|
|
|
+ throw new YException(YExceptionEnum.TASK_WEIGHT_EXCEEDED_ERROR);
|
|
|
|
+ } else {
|
|
|
|
+ inOutWarehouseTaskService.updateById(inOutWarehouseTask);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ warehouseInOutInfo.setInOutDate(new Date());
|
|
|
|
+ warehouseInOutInfo.setStatusFlag(StatusEnum.SUBMITTED.getFlag());
|
|
|
|
+ warehouseInOutInfo.setStatus(StatusEnum.SUBMITTED.getName());
|
|
|
|
+ this.updateById(warehouseInOutInfo);
|
|
|
|
+ warehouseInOutDetailService.updateById(warehouseInOutDetail);
|
|
|
|
+ }
|
|
|
|
+ // 采购订单
|
|
|
|
+ PurchaseOrder purchaseOrder = purchaseOrderService.selectOne(new EntityWrapper<PurchaseOrder>().eq("contract_no", warehouseInOutInfo.getContractNo())
|
|
|
|
+ .eq("delete_flag", "0"));
|
|
|
|
+ // 销售订单
|
|
|
|
+ SaleOrder saleOrder = saleOrderService.selectOne(new EntityWrapper<SaleOrder>().eq("contract_no", warehouseInOutInfo.getContractNo())
|
|
|
|
+ .eq("delete_flag", "0"));
|
|
|
|
+ //APP线上订单
|
|
|
|
+ if (purchaseOrder != null || saleOrder != null) {
|
|
|
|
+ // 先删除任务
|
|
|
|
+ noticeService.removeNotice(BaseNotice.NoticeStatus.TASK, "INOUTTASK-TASK-APPROVE",
|
|
|
|
+ warehouseInOutInfo.getId(), null);
|
|
|
|
+ //APP线上订单入库
|
|
|
|
+ if ("2".equals(warehouseInOutInfo.getInOutFlag())) {
|
|
|
|
+ TranCarInfo tranCarInfo = tranCarInfoService.selectOne(new EntityWrapper<TranCarInfo>()
|
|
|
|
+ .eq("contract_no", warehouseInOutInfo.getContractNo())
|
|
|
|
+ .eq("car_no", warehouseInOutInfo.getCarNo())
|
|
|
|
+ .eq(TranCarInfo.QueryFiles.DELETE_FLAG, NumberConstant.CONSTANT0));
|
|
|
|
+ // 合同表
|
|
|
|
+ ContractManagementInfo contractManagementInfo = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>().eq("contract_no", warehouseInOutInfo.getContractNo())
|
|
|
|
+ .eq("delete_flag", "0"));
|
|
|
|
+ //更新库存量
|
|
|
|
+ if (warehouseBaseInfo != null) {
|
|
|
|
+ float original = 0f;
|
|
|
|
+ // 查询库位
|
|
|
|
+ WarehousePositionInfo warehousePositionInfo = warehousePositionInfoService.selectById(warehouseInOutInfo.getPositionId());
|
|
|
|
+ if (warehousePositionInfo != null) {
|
|
|
|
+ // 查询货物库存量
|
|
|
|
+ WarehousePositionStorageInfo warehousePositionStorageInfo = warehousePositionStorageInfoService.selectOne(new EntityWrapper<WarehousePositionStorageInfo>()
|
|
|
|
+ .eq("position_id", warehouseInOutInfo.getPositionId())
|
|
|
|
+ .eq("goods_name", warehouseInOutInfo.getGoodsName())
|
|
|
|
+ .eq("delete_flag", "0"));
|
|
|
|
+ // 判断是否有货
|
|
|
|
+ if (warehousePositionStorageInfo != null) {
|
|
|
|
+ original = Float.valueOf(String.valueOf(warehousePositionStorageInfo.getStorage() + warehouseInOutInfo.getNetWeight()));
|
|
|
|
+ ;
|
|
|
|
+ // 更新库存量
|
|
|
|
+ warehousePositionStorageInfo.setStorage(warehousePositionStorageInfo.getStorage() + Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
|
|
|
|
+ warehousePositionStorageInfoService.updateById(warehousePositionStorageInfo);
|
|
|
|
+ }
|
|
|
|
+ // 没有货
|
|
|
|
+ else {
|
|
|
|
+ original = 0f;
|
|
|
|
+ WarehousePositionStorageInfo warehousePositionStorageInfo1 = new WarehousePositionStorageInfo();
|
|
|
|
+ warehousePositionStorageInfo1.setId(IdGenerator.generateUUID());
|
|
|
|
+ warehousePositionStorageInfo1.setPositionId(warehouseInOutInfo.getPositionId());
|
|
|
|
+ warehousePositionStorageInfo1.setBinNumber(warehouseInOutInfo.getBinNumber());
|
|
|
|
+ warehousePositionStorageInfo1.setGoodsName(warehouseInOutInfo.getGoodsName());
|
|
|
|
+ warehousePositionStorageInfo1.setGoodsNameKey(warehouseInOutInfo.getGoodsNameKey());
|
|
|
|
+ warehousePositionStorageInfo1.setStorage(warehouseInOutInfo.getNetWeight());
|
|
|
|
+ warehousePositionStorageInfoService.insert(warehousePositionStorageInfo1);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+// // 生成加权成本数据
|
|
|
|
+// WeightedDetails weightedDetails = new WeightedDetails();
|
|
|
|
+// weightedDetails.setCompId(AuthSecurityUtils.getCurrentUserInfo().getCompId());
|
|
|
|
+// weightedDetails.setId(IdGenerator.generateUUID());
|
|
|
|
+// weightedDetails.setWarehouseId(warehouseInOutInfo.getBaseId());
|
|
|
|
+// weightedDetails.setWarehouseName(warehouseInOutInfo.getWarehouseName());
|
|
|
|
+// weightedDetails.setGoodsNameKey(warehouseInOutInfo.getGoodsNameKey());
|
|
|
|
+// weightedDetails.setGoodsName(warehouseInOutInfo.getGoodsName());
|
|
|
|
+// weightedDetails.setGrainType(warehouseInOutInfo.getType());
|
|
|
|
+// weightedDetails.setInTypeKey(warehouseInOutInfo.getTaskTypeKey());
|
|
|
|
+// weightedDetails.setInType(warehouseInOutInfo.getTaskType());
|
|
|
|
+// weightedDetails.setNetWeight(warehouseInOutInfo.getNetWeight());
|
|
|
|
+// weightedDetails.setPureWeight(warehouseInOutInfo.getPureWeight());
|
|
|
|
+// weightedDetails.setUnitPrice(warehouseInOutInfo.getUnitPrice());
|
|
|
|
+// weightedDetails.setDeductionAmount(warehouseInOutInfo.getDeductionAmount());
|
|
|
|
+// weightedDetails.setFreight(warehouseInOutInfo.getFreight());
|
|
|
|
+// weightedDetails.setOriginalStock(original);
|
|
|
|
+// // 查询入库全加权成本
|
|
|
|
+// List<WeightedDetails> weightedDetailsList = weightedDetailsService.selectList(new EntityWrapper<WeightedDetails>().eq("warehouse_id", warehouseInOutInfo.getWarehouseName())
|
|
|
|
+// .eq("goods_name_key", warehouseInOutInfo.getGoodsNameKey()).orderBy("update_date", false));
|
|
|
|
+// if (CollectionUtils.isEmpty(weightedDetailsList)) {
|
|
|
|
+// weightedDetails.setCostBefore(0f);
|
|
|
|
+// } else {
|
|
|
|
+// weightedDetails.setCostBefore(weightedDetailsList.get(0).getCostBefore());
|
|
|
|
+// }
|
|
|
|
+// // 计算新加权成本
|
|
|
|
+// Float newCost = 0f;
|
|
|
|
+// if ("干粮".equals(warehouseInOutInfo.getType())) {
|
|
|
|
+// newCost = ((warehouseInOutInfo.getCost() + warehouseInOutInfo.getFreight()) * warehouseInOutInfo.getNetWeight() + original * weightedDetails.getCostBefore()) / (warehouseInOutInfo.getNetWeight() + original);
|
|
|
|
+//
|
|
|
|
+// } else {
|
|
|
|
+// newCost = ((warehouseInOutInfo.getCost() + warehouseInOutInfo.getFreight()) * warehouseInOutInfo.getNetWeight() + original * weightedDetails.getCostBefore()) / (warehouseInOutInfo.getPureWeight() + original);
|
|
|
|
+//
|
|
|
|
+// }
|
|
|
|
+// weightedDetails.setCostAfter(newCost);
|
|
|
|
+// weightedDetailsService.insert(weightedDetails);
|
|
|
|
+// // 修改成本信息表
|
|
|
|
+// CostManagementInfo costManagementInfo = costManagementInfoService.selectOne(new EntityWrapper<CostManagementInfo>().eq("warehouse_id", weightedDetails.getWarehouseId())
|
|
|
|
+// .eq("goods_name_key", weightedDetails.getGoodsNameKey()));
|
|
|
|
+// List<WeightedDetails> weightedDetailsLists = weightedDetailsService.selectList(new EntityWrapper<WeightedDetails>().eq("warehouse_id", warehouseInOutInfo.getWarehouseName())
|
|
|
|
+// .eq("goods_name_key", warehouseInOutInfo.getGoodsNameKey()).orderBy("update_date", false));
|
|
|
|
+// Float net = 0f;
|
|
|
|
+// for(int i=0;i<weightedDetailsLists.size();i++){
|
|
|
|
+// net = net +weightedDetailsLists.get(i).getNetWeight();
|
|
|
|
+// }
|
|
|
|
+// if(costManagementInfo ==null){
|
|
|
|
+// CostManagementInfo costManagementInfo1= new CostManagementInfo();
|
|
|
|
+// costManagementInfo1.setCompId(AuthSecurityUtils.getCurrentUserInfo().getCompId());
|
|
|
|
+// costManagementInfo1.setId(IdGenerator.generateUUID());
|
|
|
|
+// costManagementInfo1.setWarehouseId(weightedDetails.getWarehouseId());
|
|
|
|
+// costManagementInfo1.setWarehouseName(weightedDetails.getWarehouseName());
|
|
|
|
+// costManagementInfo1.setGoodsNameKey(weightedDetails.getGoodsNameKey());
|
|
|
|
+// costManagementInfo1.setGoodsName(weightedDetails.getGoodsName());
|
|
|
|
+// costManagementInfo1.setWarehouseType(warehouseBaseInfo.getWarehouseType());
|
|
|
|
+//
|
|
|
|
+// costManagementInfo1.setStorage(net);
|
|
|
|
+// costManagementInfo1.setCost(weightedDetails.getCostAfter());
|
|
|
|
+// costManagementInfoService.insert(costManagementInfo1);
|
|
|
|
+// }
|
|
|
|
+// else{
|
|
|
|
+// costManagementInfo.setCost(weightedDetails.getCostAfter());
|
|
|
|
+// costManagementInfo.setStorage(net);
|
|
|
|
+// costManagementInfoService.updateById(costManagementInfo);
|
|
|
|
+// }
|
|
|
|
+ }
|
|
|
|
+ // 期货采购入库统计
|
|
|
|
+ if (contractManagementInfo != null && "2".equals(contractManagementInfo.getGoodsType())) {
|
|
|
|
+ PurchaseReceiptReport purchaseReceiptReport = new PurchaseReceiptReport();
|
|
|
|
+ purchaseReceiptReport.setId(IdGenerator.generateUUID());
|
|
|
|
+ purchaseReceiptReport.setCompId(warehouseBaseInfo.getCompId());
|
|
|
|
+ purchaseReceiptReport.setContractNo(warehouseInOutInfo.getContractNo());
|
|
|
|
+ purchaseReceiptReport.setGoodsName(warehouseInOutInfo.getGoodsName());
|
|
|
|
+ purchaseReceiptReport.setGoodsNameKey(warehouseInOutInfo.getGoodsNameKey());
|
|
|
|
+ purchaseReceiptReport.setPositionNumber(warehouseInOutInfo.getBinNumber());
|
|
|
|
+ purchaseReceiptReport.setCarNo(warehouseInOutInfo.getCarNo());
|
|
|
|
+ purchaseReceiptReport.setTranCarNo(warehouseInOutInfo.getTranCarNo());
|
|
|
|
+ purchaseReceiptReport.setWarehousingDate(warehouseInOutInfo.getInOutDate());
|
|
|
|
+ purchaseReceiptReport.setProtein(warehouseInOutDetail.getProtein());
|
|
|
|
+ purchaseReceiptReport.setWaterContent(warehouseInOutDetail.getWaterContent());
|
|
|
|
+ purchaseReceiptReport.setDeductionAmount(warehouseInOutInfo.getDeductionAmount());
|
|
|
|
+ purchaseReceiptReport.setNetWeight(Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
|
|
|
|
+ purchaseReceiptReport.setDeductionItems(warehouseInOutInfo.getDeductionItems());
|
|
|
|
+ purchaseReceiptReport.setWarehouseName(warehouseInOutInfo.getWarehouseName());
|
|
|
|
+ purchaseReceiptReport.setStatusFlag(StatusEnum.FORM_REVIEWED.getFlag());
|
|
|
|
+ purchaseReceiptReport.setStatus(StatusEnum.FORM_REVIEWED.getName());
|
|
|
|
+ if (purchaseOrder != null) {
|
|
|
|
+ purchaseReceiptReport.setUnitPrice(purchaseOrder.getUnitPrice());
|
|
|
|
+ purchaseReceiptReport.setUnloadingCharge(purchaseOrder.getUnloadingCharge());
|
|
|
|
+ purchaseReceiptReport.setInvoiceFee(purchaseOrder.getInvoiceFee());
|
|
|
|
+ //期货
|
|
|
|
+ if (purchaseOrder.getBasis() != null) {
|
|
|
|
+ purchaseReceiptReport.setBasisPrice(purchaseOrder.getBasis());
|
|
|
|
+ BigDecimal unitPrice = new BigDecimal(Float.toString(purchaseReceiptReport.getUnitPrice()));
|
|
|
|
+ BigDecimal basis = new BigDecimal(Float.toString(purchaseReceiptReport.getBasisPrice()));
|
|
|
|
+ BigDecimal unloadingCharge = new BigDecimal(Float.toString(purchaseReceiptReport.getUnloadingCharge()));
|
|
|
|
+ BigDecimal invoiceFee = new BigDecimal(Float.toString(purchaseReceiptReport.getInvoiceFee()));
|
|
|
|
+ BigDecimal deductionAmount = new BigDecimal(purchaseReceiptReport.getDeductionAmount());
|
|
|
|
+ purchaseReceiptReport.setSettlementPrice(unitPrice.add(basis).add(unloadingCharge).add(invoiceFee).add(deductionAmount).floatValue());
|
|
|
|
+ }
|
|
|
|
+ purchaseReceiptReport.setCustomerName(purchaseOrder.getSeller());
|
|
|
|
+ purchaseReceiptReport.setInvoiceType(purchaseOrder.getType());
|
|
|
|
+ purchaseReceiptReport.setInvoiceTypeKey(purchaseOrder.getType());
|
|
|
|
+ purchaseReceiptReport.setAmountIngPayable(CalculationUtil.mulToFloat(purchaseReceiptReport.getSettlementPrice(), purchaseReceiptReport.getNetWeight()));
|
|
|
|
+ purchaseReceiptReport.setAmountEdPayable(0f);
|
|
|
|
+ purchaseReceiptReport.setAmountNotPayable(purchaseReceiptReport.getAmountIngPayable());
|
|
|
|
+ if (tranCarInfo != null) {
|
|
|
|
+ //将到货数据同步到派车表
|
|
|
|
+ tranCarInfo.setUnloadNetWeight(Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
|
|
|
|
+ tranCarInfo.setUnloadPoundImg(warehouseInOutInfo.getAddressUrl());
|
|
|
|
+ tranCarInfo.setDeductionAmount(warehouseInOutInfo.getDeductionAmount());
|
|
|
|
+ tranCarInfo.setDeductionItems(warehouseInOutInfo.getDeductionItems());
|
|
|
|
+ tranCarInfo.setStatus(StatusEnum.DELIVERED.getName());
|
|
|
|
+ tranCarInfo.setStatusFlag(StatusEnum.DELIVERED.getFlag());
|
|
|
|
+ if (purchaseOrder != null) {
|
|
|
|
+ tranCarInfo.setSettlementPrice(purchaseReceiptReport.getSettlementPrice());
|
|
|
|
+ }
|
|
|
|
+ tranCarInfoService.updateById(tranCarInfo);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ // 客户确认
|
|
|
|
+ TranCarInfo tranCarInfo1 = tranCarInfoService.selectOne(new EntityWrapper<TranCarInfo>()
|
|
|
|
+ .eq("contract_no", warehouseInOutInfo.getContractNo())
|
|
|
|
+ .eq("car_no", warehouseInOutInfo.getCarNo())
|
|
|
|
+ .eq("delete_flag", "0"));
|
|
|
|
+ if (tranCarInfo1 != null && "3".equals(tranCarInfo1.getConfirmFlag())) {
|
|
|
|
+ purchaseReceiptReport.setCustomerConfirmationStatusFlag("1");
|
|
|
|
+ purchaseReceiptReport.setCustomerConfirmationStatus("是");
|
|
|
|
+ tesk(warehouseInOutInfo, "2");
|
|
|
|
+ geTuiUtils.pushByCid("卸货提醒", "您的合同车辆:" + warehouseInOutInfo.getCarNo() + "申请卸货,请及时确认", purchaseOrder.getCommonId());
|
|
|
|
+
|
|
|
|
+ UnimallMessage messageDO = new UnimallMessage();
|
|
|
|
+ messageDO.setAdminId(purchaseOrder.getCommonId());
|
|
|
|
+ messageDO.setCustomer(purchaseOrder.getCustomer());
|
|
|
|
+ messageDO.setOperation("卸货提醒");
|
|
|
|
+ messageDO.setResult("您的合同车辆:" + warehouseInOutInfo.getCarNo() + "申请卸货,请及时确认");
|
|
|
|
+ messageDO.setGmtUpdate(new java.util.Date());
|
|
|
|
+ messageDO.setGmtCreate(new Date());
|
|
|
|
+ messageDO.setTaskId(IdGenerator.generateUUID());
|
|
|
|
+ messageDO.setCompanyId(AuthSecurityUtils.getCurrentUserInfo().getCompId());
|
|
|
|
+ messageDO.setPath("XXXXX");
|
|
|
|
+ webSocket.sendOneMessage(messageDO);
|
|
|
|
+ } else {
|
|
|
|
+ purchaseReceiptReport.setCustomerConfirmationStatusFlag("3");
|
|
|
|
+ purchaseReceiptReport.setCustomerConfirmationStatus("否");
|
|
|
|
+ }
|
|
|
|
+ purchaseReceiptReportService.insert(purchaseReceiptReport);
|
|
|
|
+ boolean isStartWorkflow = org.apache.commons.lang3.StringUtils.isBlank(purchaseReceiptReport.getWorkflowId());
|
|
|
|
+ // 不是退回的单子
|
|
|
|
+ if (isStartWorkflow) {
|
|
|
|
+ Workflow workflow = workflowService
|
|
|
|
+ .findLatestWorkflowByBusinessCodeByApp(purchaseReceiptReport.getCompId(), "PROCUREMENT-RECEIPT-REPORT");
|
|
|
|
+ // 没配置审核流程,直接结束并处理信息
|
|
|
|
+ if (workflow == null) {
|
|
|
|
+ throw new YException(YExceptionEnum.PURCHASE_ORDER_ERROR);
|
|
|
|
+ }
|
|
|
|
+ // 开启审核流
|
|
|
|
+ else {
|
|
|
|
+ // 设置状态 已提交审核
|
|
|
|
+ purchaseReceiptReport.setWorkflowId(workflow.getId());
|
|
|
|
+ purchaseReceiptReportService.updateById(purchaseReceiptReport);
|
|
|
|
+ workflowService.startInstance(workflow.getId(), purchaseReceiptReport.getId());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ // 退回的单子 再启用
|
|
|
|
+ else {
|
|
|
|
+ purchaseReceiptReportService.updateById(purchaseReceiptReport);
|
|
|
|
+ workflowService.activateInstance(purchaseReceiptReport.getWorkflowId(), purchaseReceiptReport.getId());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ //App线上订单出库
|
|
|
|
+ else if ("1".equals(warehouseInOutInfo.getTaskType())) {
|
|
|
|
+ //状态改为已发车
|
|
|
|
+ warehouseInOutInfo.setTranFlag("1");
|
|
|
|
+
|
|
|
|
+ //判断是否第一次提交
|
|
|
|
+ if (StringUtils.isEmpty(warehouseInOutDetail.getId())) {
|
|
|
|
+ // 插入详情
|
|
|
|
+ warehouseInOutDetail.setInfoId(warehouseInOutInfo.getId());
|
|
|
|
+ warehouseInOutDetail.setId(IdGenerator.generateUUID());
|
|
|
|
+ List<WarehouseInOutDetail> ll = warehouseInOutDetailService.selectList(new EntityWrapper<WarehouseInOutDetail>().eq("info_id", warehouseInOutInfo.getId()));
|
|
|
|
+ if (ll.size() == 0) {
|
|
|
|
+ warehouseInOutDetailService.insert(warehouseInOutDetail);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ //更新库存量
|
|
|
|
+ //判断是否有货
|
|
|
|
+ if (warehouseBaseInfo != null) {
|
|
|
|
+ // 查询库位
|
|
|
|
+ WarehousePositionInfo warehousePositionInfo = warehousePositionInfoService.selectById(warehouseInOutInfo.getPositionId());
|
|
|
|
+ if (warehousePositionInfo != null) {
|
|
|
|
+ // 查询货物库存量
|
|
|
|
+ WarehousePositionStorageInfo warehousePositionStorageInfo = warehousePositionStorageInfoService.selectOne(new EntityWrapper<WarehousePositionStorageInfo>()
|
|
|
|
+ .eq("position_id", warehouseInOutInfo.getPositionId())
|
|
|
|
+ .eq("goods_name", warehouseInOutInfo.getGoodsName())
|
|
|
|
+ .eq("delete_flag", "0"));
|
|
|
|
+ // 判断是否有货
|
|
|
|
+ if (warehousePositionStorageInfo != null) {
|
|
|
|
+ if (warehouseInOutInfo.getNetWeight() <= warehousePositionStorageInfo.getStorage()) {
|
|
|
|
+ // 更新库存量
|
|
|
|
+ warehousePositionStorageInfo.setStorage(warehousePositionStorageInfo.getStorage() - Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
|
|
|
|
+ warehousePositionStorageInfoService.updateById(warehousePositionStorageInfo);
|
|
|
|
+ }
|
|
|
|
+ //出库量大于库存量
|
|
|
|
+ else {
|
|
|
|
+ throw new YException(YExceptionEnum.INVENTORY_NO_ERROR);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ // 没有储存量
|
|
|
|
+ else {
|
|
|
|
+ throw new YException(YExceptionEnum.POSITIONSTORAGE_NO_ERROR);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ //库位不存在
|
|
|
|
+ else {
|
|
|
|
+ throw new YException(YExceptionEnum.POSITION_NO_ERROR);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ //仓库不存在
|
|
|
|
+ else {
|
|
|
|
+ throw new YException(YExceptionEnum.WAREHOUSE_NO_ERROR);
|
|
|
|
+ }
|
|
|
|
+ //查询期货现货合同
|
|
|
|
+ ContractManagementInfo contractManagementInfo = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
|
|
|
|
+ .eq("contract_no", warehouseInOutInfo.getContractNo()));
|
|
|
|
+ if (contractManagementInfo != null && "2".equals(contractManagementInfo.getGoodsType())) {
|
|
|
|
+ //客户生成收货信息
|
|
|
|
+ TranCarInfo tranCarInfo = new TranCarInfo();
|
|
|
|
+ tranCarInfo.setId(IdGenerator.generateUUID());
|
|
|
|
+ tranCarInfo.setCarNo(warehouseInOutInfo.getCarNo());
|
|
|
|
+ tranCarInfo.setContractNo(warehouseInOutInfo.getContractNo());
|
|
|
|
+ tranCarInfo.setTranCarNo(warehouseInOutInfo.getTranCarNo());
|
|
|
|
+ tranCarInfo.setLoadNetWeight(Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
|
|
|
|
+ tranCarInfo.setLoadPoundImg(warehouseInOutInfo.getAddressUrl());
|
|
|
|
+ tranCarInfo.setConfirmFlag(StatusEnum.NOT_CONFIRM.getFlag());
|
|
|
|
+ // 期货销售出库统计
|
|
|
|
+ SalesDeliveryReport salesDeliveryReport = new SalesDeliveryReport();
|
|
|
|
+ salesDeliveryReport.setId(IdGenerator.generateUUID());
|
|
|
|
+ salesDeliveryReport.setCompId(warehouseBaseInfo.getCompId());
|
|
|
|
+ salesDeliveryReport.setContractNo(warehouseInOutInfo.getContractNo());
|
|
|
|
+ salesDeliveryReport.setGoodsName(warehouseInOutInfo.getGoodsName());
|
|
|
|
+ salesDeliveryReport.setGoodsNameKey(warehouseInOutInfo.getGoodsNameKey());
|
|
|
|
+ salesDeliveryReport.setPositionNumber(warehouseInOutInfo.getBinNumber());
|
|
|
|
+ salesDeliveryReport.setCarNo(warehouseInOutInfo.getCarNo());
|
|
|
|
+ salesDeliveryReport.setTranCarNo(warehouseInOutInfo.getTranCarNo());
|
|
|
|
+ salesDeliveryReport.setRetrievalDate(warehouseInOutInfo.getInOutDate());
|
|
|
|
+ salesDeliveryReport.setProtein(warehouseInOutDetail.getProtein());
|
|
|
|
+ salesDeliveryReport.setWaterContent(warehouseInOutDetail.getWaterContent());
|
|
|
|
+ salesDeliveryReport.setNetWeight(Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
|
|
|
|
+ salesDeliveryReport.setWarehouseName(warehouseInOutInfo.getWarehouseName());
|
|
|
|
+ salesDeliveryReport.setStatusFlag(StatusEnum.FORM_REVIEWED.getFlag());
|
|
|
|
+ salesDeliveryReport.setStatus(StatusEnum.FORM_REVIEWED.getName());
|
|
|
|
+ if (saleOrder != null) {
|
|
|
|
+ salesDeliveryReport.setUnitPrice(saleOrder.getUnitPrice());
|
|
|
|
+ salesDeliveryReport.setInvoiceFee(saleOrder.getInvoiceFee());
|
|
|
|
+ //期货
|
|
|
|
+ if (saleOrder.getBasis() != null) {
|
|
|
|
+ salesDeliveryReport.setBasisPrice(saleOrder.getBasis());
|
|
|
|
+ BigDecimal unitPrice = new BigDecimal(Float.toString(salesDeliveryReport.getUnitPrice()));
|
|
|
|
+ BigDecimal basis = new BigDecimal(Float.toString(salesDeliveryReport.getBasisPrice()));
|
|
|
|
+ BigDecimal invoiceFee = new BigDecimal(Float.toString(salesDeliveryReport.getInvoiceFee()));
|
|
|
|
+ salesDeliveryReport.setSettlementPrice(unitPrice.add(basis).add(invoiceFee).floatValue());
|
|
|
|
+ tranCarInfo.setSettlementPrice(saleOrder.getUnitPrice() + saleOrder.getBasis() + saleOrder.getInvoiceFee());
|
|
|
|
+ }
|
|
|
|
+ salesDeliveryReport.setCustomerName(saleOrder.getBuyer());
|
|
|
|
+ salesDeliveryReport.setCollectionIngPayable(CalculationUtil.mulToFloat(salesDeliveryReport.getSettlementPrice(), salesDeliveryReport.getNetWeight()));
|
|
|
|
+ salesDeliveryReport.setCollectionEdPayable(0f);
|
|
|
|
+ salesDeliveryReport.setCollectionNotPayable(salesDeliveryReport.getCollectionIngPayable());
|
|
|
|
+ tranCarInfoService.insert(tranCarInfo);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 客户确认
|
|
|
|
+ TranCarInfo tranCarInfo1 = tranCarInfoService.selectOne(new EntityWrapper<TranCarInfo>()
|
|
|
|
+ .eq("contract_no", warehouseInOutInfo.getContractNo())
|
|
|
|
+ .eq("car_no", warehouseInOutInfo.getCarNo())
|
|
|
|
+ .eq("delete_flag", "0"));
|
|
|
|
+ if (tranCarInfo1 != null && "3".equals(tranCarInfo1.getConfirmFlag())) {
|
|
|
|
+ salesDeliveryReport.setCustomerConfirmationStatusFlag("1");
|
|
|
|
+ salesDeliveryReport.setCustomerConfirmationStatus("是");
|
|
|
|
+ geTuiUtils.pushByCid("发货通知", "您的合同车辆:" + warehouseInOutInfo.getCarNo() + "已发出", saleOrder.getCommonId());
|
|
|
|
+ tesk(warehouseInOutInfo, "1");
|
|
|
|
+ UnimallMessage messageDO = new UnimallMessage();
|
|
|
|
+ messageDO.setAdminId(saleOrder.getCommonId());
|
|
|
|
+ messageDO.setCustomer(saleOrder.getCustomer());
|
|
|
|
+ messageDO.setOperation("发货通知");
|
|
|
|
+ messageDO.setResult("您的合同车辆:" + warehouseInOutInfo.getCarNo() + "已发出");
|
|
|
|
+ messageDO.setGmtUpdate(new java.util.Date());
|
|
|
|
+ messageDO.setGmtCreate(new Date());
|
|
|
|
+ messageDO.setTaskId(IdGenerator.generateUUID());
|
|
|
|
+ messageDO.setCompanyId(AuthSecurityUtils.getCurrentUserInfo().getCompId());
|
|
|
|
+ messageDO.setPath("XXXXX");
|
|
|
|
+ webSocket.sendOneMessage(messageDO);
|
|
|
|
+ } else {
|
|
|
|
+ salesDeliveryReport.setCustomerConfirmationStatusFlag("3");
|
|
|
|
+ salesDeliveryReport.setCustomerConfirmationStatus("否");
|
|
|
|
+ }
|
|
|
|
+ salesDeliveryReportService.insert(salesDeliveryReport);
|
|
|
|
+
|
|
|
|
+ boolean isStartWorkflow = org.apache.commons.lang3.StringUtils.isBlank(salesDeliveryReport.getWorkflowId());
|
|
|
|
+ // 不是退回的单子
|
|
|
|
+ if (isStartWorkflow) {
|
|
|
|
+ Workflow workflow = workflowService
|
|
|
|
+ .findLatestWorkflowByBusinessCodeByApp(salesDeliveryReport.getCompId(), "SALE-RECEIPT-REPORT");
|
|
|
|
+ // 没配置审核流程,直接结束并处理信息
|
|
|
|
+ if (workflow == null) {
|
|
|
|
+ throw new YException(YExceptionEnum.PURCHASE_ORDER_ERROR);
|
|
|
|
+ }
|
|
|
|
+ // 开启审核流
|
|
|
|
+ else {
|
|
|
|
+
|
|
|
|
+ // 设置状态 已提交审核
|
|
|
|
+ salesDeliveryReport.setWorkflowId(workflow.getId());
|
|
|
|
+ salesDeliveryReportService.updateById(salesDeliveryReport);
|
|
|
|
+ workflowService.startInstance(workflow.getId(), salesDeliveryReport.getId());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ // 退回的单子 再启用
|
|
|
|
+ else {
|
|
|
|
+
|
|
|
|
+ salesDeliveryReportService.updateById(salesDeliveryReport);
|
|
|
|
+ workflowService.activateInstance(salesDeliveryReport.getWorkflowId(), salesDeliveryReport.getId());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ //常用库入库
|
|
|
|
+ if ("2".equals(warehouseInOutInfo.getInOutFlag()) && "1".equals(warehouseBaseInfo.getWarehouseType())) {
|
|
|
|
+ //常用库采购入库类型
|
|
|
|
+ if ("1".equals(warehouseInOutInfo.getInOutTypeKey())) {
|
|
|
|
+ //他运的采购合同
|
|
|
|
+ ContractManagementInfo contractManagementInfo = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
|
|
|
|
+ .eq("contract_no", warehouseInOutInfo.getContractNo())
|
|
|
|
+ .eq("deliver_type", "2")
|
|
|
|
+ .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(warehouseInOutInfo.getContractNo());
|
|
|
|
+ stockPurchaseReceiptReport.setWarehouseName(warehouseInOutInfo.getWarehouseName());
|
|
|
|
+ stockPurchaseReceiptReport.setCarNo(warehouseInOutInfo.getCarNo());
|
|
|
|
+ stockPurchaseReceiptReport.setGrossWeight(Double.valueOf(String.valueOf(warehouseInOutInfo.getGrossWeight())));
|
|
|
|
+ stockPurchaseReceiptReport.setTare(Double.valueOf(String.valueOf(warehouseInOutInfo.getTare())));
|
|
|
|
+ stockPurchaseReceiptReport.setNetWeight(Double.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
|
|
|
|
+ stockPurchaseReceiptReport.setWarehousingDate(warehouseInOutInfo.getInOutDate());
|
|
|
|
+ stockPurchaseReceiptReport.setDeductionWeight(Double.valueOf(String.valueOf(warehouseInOutInfo.getDeductionWeight())));
|
|
|
|
+ stockPurchaseReceiptReport.setSettlementWeight(Double.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
|
|
|
|
+ stockPurchaseReceiptReport.setDeductionAmount(warehouseInOutInfo.getDeductionAmount());
|
|
|
|
+
|
|
|
|
+ if (contractManagementInfo.getUnitContractPrice() != null) {
|
|
|
|
+ BigDecimal cost = new BigDecimal(contractManagementInfo.getUnitContractPrice());
|
|
|
|
+ BigDecimal deductionAmount = new BigDecimal(warehouseInOutInfo.getDeductionAmount() != null ? warehouseInOutInfo.getDeductionAmount() : 0.0);
|
|
|
|
+ stockPurchaseReceiptReport.setSettlementPrice(cost.subtract(deductionAmount).doubleValue());
|
|
|
|
+ BigDecimal netWeight = new BigDecimal(warehouseInOutInfo.getNetWeight());
|
|
|
|
+ stockPurchaseReceiptReport.setAmountIngPayable(cost.subtract(deductionAmount).multiply(netWeight).doubleValue());
|
|
|
|
+ }
|
|
|
|
+ //随行就市
|
|
|
|
+ else {
|
|
|
|
+ BigDecimal cost = new BigDecimal(Float.toString(warehouseInOutInfo.getCost()));
|
|
|
|
+ BigDecimal deductionAmount = new BigDecimal(warehouseInOutInfo.getDeductionAmount() != null ? warehouseInOutInfo.getDeductionAmount() : 0.0);
|
|
|
|
+ stockPurchaseReceiptReport.setSettlementPrice(cost.subtract(deductionAmount).doubleValue());
|
|
|
|
+ BigDecimal netWeight = new BigDecimal(warehouseInOutInfo.getNetWeight());
|
|
|
|
+ stockPurchaseReceiptReport.setAmountIngPayable(cost.subtract(deductionAmount).multiply(netWeight).doubleValue());
|
|
|
|
+ }
|
|
|
|
+ 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());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ //常用库移库入库类型
|
|
|
|
+ else if ("3".equals(warehouseInOutInfo.getInOutTypeKey())) {
|
|
|
|
+ InOutWarehouseTask inOutWarehouseTask = inOutWarehouseTaskService.selectOne(new EntityWrapper<InOutWarehouseTask>()
|
|
|
|
+ .eq("move_task_no", warehouseInOutInfo.getContractNo())
|
|
|
|
+ .eq("in_out_flag", "1")
|
|
|
|
+ .eq("delete_flag", "0"));
|
|
|
|
+ if (inOutWarehouseTask == null) {
|
|
|
|
+ throw new YException(YExceptionEnum.TASK_NO_NOT_EXSITS_ERROR);
|
|
|
|
+ } else {
|
|
|
|
+ //若移库的发货库为自动创建的临时库时
|
|
|
|
+ WarehouseBaseInfo warehouseBaseInfo1 = warehouseBaseInfoService.selectOne(new EntityWrapper<WarehouseBaseInfo>()
|
|
|
|
+ .eq("warehouse_name", inOutWarehouseTask.getWarehouseName())
|
|
|
|
+ .eq("create_type", "1")
|
|
|
|
+ .eq("warehouse_type", "2")
|
|
|
|
+ .eq("delete_flag", "0"));
|
|
|
|
+ if (warehouseBaseInfo1 != null) {
|
|
|
|
+ //按入库重量结算
|
|
|
|
+ ContractManagementInfo contractManagementInfo = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
|
|
|
|
+ .eq("contract_no", warehouseBaseInfo1.getWarehouseName())
|
|
|
|
+ .eq("settlement_weight_method", "2")
|
|
|
|
+ .eq("deliver_type", "1")
|
|
|
|
+ .eq("delete_flag", "0"));
|
|
|
|
+// if (contractManagementInfo == null) {
|
|
|
|
+// throw new YException(YExceptionEnum.CONTRACT_NO_NOT_EXSITS_ERROR);
|
|
|
|
+// }
|
|
|
|
+ if (contractManagementInfo != null) {
|
|
|
|
+ //现货采购入库报表
|
|
|
|
+ StockPurchaseReceiptReport stockPurchaseReceiptReport = new StockPurchaseReceiptReport();
|
|
|
|
+ stockPurchaseReceiptReport.setId(IdGenerator.generateUUID());
|
|
|
|
+ stockPurchaseReceiptReport.setCompId(warehouseBaseInfo.getCompId());
|
|
|
|
+ stockPurchaseReceiptReport.setWarehouseRecordId(warehouseInOutInfo.getId());
|
|
|
|
+ stockPurchaseReceiptReport.setContractNo(warehouseBaseInfo1.getWarehouseName());
|
|
|
|
+ stockPurchaseReceiptReport.setWarehouseName(warehouseInOutInfo.getWarehouseName());
|
|
|
|
+ stockPurchaseReceiptReport.setCarNo(warehouseInOutInfo.getCarNo());
|
|
|
|
+ stockPurchaseReceiptReport.setGrossWeight(Double.valueOf(String.valueOf(warehouseInOutInfo.getGrossWeight())));
|
|
|
|
+ stockPurchaseReceiptReport.setTare(Double.valueOf(String.valueOf(warehouseInOutInfo.getTare())));
|
|
|
|
+ stockPurchaseReceiptReport.setNetWeight(Double.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
|
|
|
|
+ stockPurchaseReceiptReport.setWarehousingDate(warehouseInOutInfo.getInOutDate());
|
|
|
|
+ stockPurchaseReceiptReport.setDeductionWeight(Double.valueOf(String.valueOf(warehouseInOutInfo.getDeductionWeight())));
|
|
|
|
+ stockPurchaseReceiptReport.setSettlementWeight(Double.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
|
|
|
|
+ if (contractManagementInfo.getUnitContractPrice() != null) {
|
|
|
|
+ BigDecimal cost = new BigDecimal(contractManagementInfo.getUnitContractPrice());
|
|
|
|
+ BigDecimal deductionAmount = new BigDecimal(warehouseInOutInfo.getDeductionAmount() != null ? warehouseInOutInfo.getDeductionAmount() : 0.0);
|
|
|
|
+ stockPurchaseReceiptReport.setSettlementPrice(cost.subtract(deductionAmount).doubleValue());
|
|
|
|
+ BigDecimal netWeight = new BigDecimal(warehouseInOutInfo.getNetWeight());
|
|
|
|
+ stockPurchaseReceiptReport.setAmountIngPayable(cost.subtract(deductionAmount).multiply(netWeight).doubleValue());
|
|
|
|
+ }
|
|
|
|
+ //随行就市
|
|
|
|
+ else {
|
|
|
|
+ BigDecimal cost = new BigDecimal(warehouseInOutInfo.getCost());
|
|
|
|
+ BigDecimal deductionAmount = new BigDecimal(warehouseInOutInfo.getDeductionAmount() != null ? warehouseInOutInfo.getDeductionAmount() : 0.0);
|
|
|
|
+ stockPurchaseReceiptReport.setSettlementPrice(cost.subtract(deductionAmount).doubleValue());
|
|
|
|
+ BigDecimal netWeight = new BigDecimal(warehouseInOutInfo.getNetWeight());
|
|
|
|
+ stockPurchaseReceiptReport.setAmountIngPayable(cost.subtract(deductionAmount).multiply(netWeight).doubleValue());
|
|
|
|
+ }
|
|
|
|
+ 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());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ //常用库退库入库类型
|
|
|
|
+ else if ("退库".equals(warehouseInOutInfo.getInOutType())) {
|
|
|
|
+ //他运的销售合同
|
|
|
|
+ ContractManagementInfo contractManagementInfo = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
|
|
|
|
+ .eq("contract_no", warehouseInOutInfo.getContractNo())
|
|
|
|
+ .eq("deliver_type", "2")
|
|
|
|
+ .eq("contract_type", "1")
|
|
|
|
+ .eq("delete_flag", "0"));
|
|
|
|
+ if (contractManagementInfo != null) {
|
|
|
|
+ //现货销售出库报表
|
|
|
|
+ StockSaleReceiptReport stockSaleReceiptReport = new StockSaleReceiptReport();
|
|
|
|
+ stockSaleReceiptReport.setId(IdGenerator.generateUUID());
|
|
|
|
+ stockSaleReceiptReport.setCompId(warehouseBaseInfo.getCompId());
|
|
|
|
+ stockSaleReceiptReport.setWarehouseRecordId(warehouseInOutInfo.getId());
|
|
|
|
+ stockSaleReceiptReport.setContractNo(warehouseInOutInfo.getContractNo());
|
|
|
|
+ stockSaleReceiptReport.setWarehouseName(warehouseInOutInfo.getWarehouseName());
|
|
|
|
+ stockSaleReceiptReport.setCarNo(warehouseInOutInfo.getCarNo());
|
|
|
|
+ stockSaleReceiptReport.setGrossWeight(Double.valueOf(String.valueOf(warehouseInOutInfo.getGrossWeight())));
|
|
|
|
+ stockSaleReceiptReport.setTare(Double.valueOf(String.valueOf(warehouseInOutInfo.getTare())));
|
|
|
|
+ stockSaleReceiptReport.setNetWeight(-warehouseInOutInfo.getNetWeight());
|
|
|
|
+ stockSaleReceiptReport.setSettlementPrice(contractManagementInfo.getUnitContractPrice());
|
|
|
|
+ stockSaleReceiptReport.setReturnDate(warehouseInOutInfo.getInOutDate());
|
|
|
|
+ stockSaleReceiptReport.setAmountIngReceivable(-warehouseInOutInfo.getNetWeight() * contractManagementInfo.getUnitContractPrice());
|
|
|
|
+ stockSaleReceiptReport.setSettlementWeight(-warehouseInOutInfo.getNetWeight());
|
|
|
|
+ stockSaleReceiptReport.setReturnFlag("1");
|
|
|
|
+ stockSaleReceiptReport.setStatusFlag(StatusEnum.TO_BE_RECEIVED.getFlag());
|
|
|
|
+ stockSaleReceiptReport.setStatus(StatusEnum.TO_BE_RECEIVED.getName());
|
|
|
|
+ stockSaleReceiptReport.setSettlementWeight(stockSaleReceiptReport.getNetWeight());
|
|
|
|
+ CostManagementInfo costManagementInfo = costManagementInfoService.selectOne(new EntityWrapper<CostManagementInfo>().eq("warehouse_id", warehouseInOutInfo.getBaseId()));
|
|
|
|
+ if (costManagementInfo != null) {
|
|
|
|
+ stockSaleReceiptReport.setCost(costManagementInfo.getCost());
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ stockSaleReceiptReportService.insert(stockSaleReceiptReport);
|
|
|
|
+ }
|
|
|
|
+ //自运的销售合同
|
|
|
|
+ ContractManagementInfo contractManagementInfo1 = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
|
|
|
|
+ .eq("contract_no", warehouseInOutInfo.getContractNo())
|
|
|
|
+ .eq("contract_type", "1")
|
|
|
|
+ .eq("deliver_type", "1")
|
|
|
|
+ .eq("delete_flag", "0"));
|
|
|
|
+ if (contractManagementInfo1 != null) {
|
|
|
|
+ //现货销售出库报表
|
|
|
|
+ StockSaleReceiptReport stockSaleReceiptReport = new StockSaleReceiptReport();
|
|
|
|
+ stockSaleReceiptReport.setId(IdGenerator.generateUUID());
|
|
|
|
+ stockSaleReceiptReport.setWarehouseRecordId(warehouseInOutInfo.getId());
|
|
|
|
+ stockSaleReceiptReport.setCompId(warehouseBaseInfo.getCompId());
|
|
|
|
+ stockSaleReceiptReport.setProcessNo("退库");
|
|
|
|
+ stockSaleReceiptReport.setContractNo(warehouseInOutInfo.getContractNo());
|
|
|
|
+ stockSaleReceiptReport.setWarehouseName(warehouseInOutInfo.getWarehouseName());
|
|
|
|
+ stockSaleReceiptReport.setCarNo(warehouseInOutInfo.getCarNo());
|
|
|
|
+ stockSaleReceiptReport.setTranCarNo(warehouseInOutInfo.getTranCarNo());
|
|
|
|
+ stockSaleReceiptReport.setCaseNo(warehouseInOutInfo.getBoxNo() + "," + warehouseInOutInfo.getBoxNoOther());
|
|
|
|
+ stockSaleReceiptReport.setTitleNo(warehouseInOutInfo.getTitleNo());
|
|
|
|
+ stockSaleReceiptReport.setGrossWeight(Double.valueOf(String.valueOf(warehouseInOutInfo.getGrossWeight())));
|
|
|
|
+ stockSaleReceiptReport.setTare(Double.valueOf(String.valueOf(warehouseInOutInfo.getTare())));
|
|
|
|
+ stockSaleReceiptReport.setNetWeight(-warehouseInOutInfo.getNetWeight());
|
|
|
|
+ stockSaleReceiptReport.setReturnDate(warehouseInOutInfo.getInOutDate());
|
|
|
|
+ stockSaleReceiptReport.setAmountIngReceivable(-warehouseInOutInfo.getNetWeight() * contractManagementInfo1.getUnitContractPrice());
|
|
|
|
+ stockSaleReceiptReport.setSettlementWeight(-warehouseInOutInfo.getNetWeight());
|
|
|
|
+ stockSaleReceiptReport.setReturnFlag("1");
|
|
|
|
+ stockSaleReceiptReport.setStatusFlag(StatusEnum.TO_BE_RECEIVED.getFlag());
|
|
|
|
+ stockSaleReceiptReport.setStatus(StatusEnum.TO_BE_RECEIVED.getName());
|
|
|
|
+ stockSaleReceiptReport.setSettlementWeight(stockSaleReceiptReport.getNetWeight());
|
|
|
|
+ CostManagementInfo costManagementInfo = costManagementInfoService.selectOne(new EntityWrapper<CostManagementInfo>().eq("warehouse_id", warehouseInOutInfo.getBaseId()));
|
|
|
|
+ if (costManagementInfo != null) {
|
|
|
|
+ stockSaleReceiptReport.setCost(costManagementInfo.getCost());
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ stockSaleReceiptReportService.insert(stockSaleReceiptReport);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if (warehouseInOutInfo.getWeighingManagement() != null) {
|
|
|
|
+ //皮重检斤
|
|
|
|
+ WeighingManagement weighingManagement = warehouseInOutInfo.getWeighingManagement();
|
|
|
|
+ WeighingManagement weighingManagement1 = weighingManagementService.selectById(weighingManagement.getId());
|
|
|
|
+ //状态改为已称皮重
|
|
|
|
+ weighingManagement.setStatus(StatusEnum.TARED.getName());
|
|
|
|
+ weighingManagement.setStatusFlag(StatusEnum.TARED.getFlag());
|
|
|
|
+ weighingManagement.setTareDate(new Date());
|
|
|
|
+ weighingManagement.setSkinInspector(commonStaff.getStaffName());
|
|
|
|
+ //质检信息
|
|
|
|
+ QualityInspectionManagement qualityInspectionManagement1 = qualityInspectionManagementService.selectOne(new EntityWrapper<QualityInspectionManagement>()
|
|
|
|
+ .eq("relation_id", weighingManagement1.getRelationId())
|
|
|
|
+ .eq("comp_id", weighingManagement1.getCompId()));
|
|
|
|
+ if (qualityInspectionManagement1 != null) {
|
|
|
|
+ //状态改为已称皮重
|
|
|
|
+// qualityInspectionManagement1.setStatus(StatusEnum.TARED.getName());
|
|
|
|
+// qualityInspectionManagement1.setStatusFlag(StatusEnum.TARED.getFlag());
|
|
|
|
+ qualityInspectionManagementService.updateById(qualityInspectionManagement1);
|
|
|
|
+ }
|
|
|
|
+ //收购业务
|
|
|
|
+ if ("1".equals(weighingManagement1.getManagementType()) && "3".equals(weighingManagement1.getServiceManagementType())) {
|
|
|
|
+ //查关联的付款信息
|
|
|
|
+ PaymentManagement paymentManagement = paymentManagementService.selectOne(new EntityWrapper<PaymentManagement>()
|
|
|
|
+ .eq("relation_id", weighingManagement1.getRelationId())
|
|
|
|
+ .eq("comp_id", weighingManagement1.getCompId()));
|
|
|
|
+ if (paymentManagement != null) {
|
|
|
|
+ paymentManagement.setNetWeight(weighingManagement.getNetWeight());
|
|
|
|
+ paymentManagement.setGrossWeight(weighingManagement1.getGrossWeight());
|
|
|
|
+ paymentManagement.setTare(weighingManagement.getTare());
|
|
|
|
+ paymentManagementService.updateById(paymentManagement);
|
|
|
|
+ } else {
|
|
|
|
+ //生成付款信息
|
|
|
|
+ PaymentManagement paymentManagement1 = new PaymentManagement();
|
|
|
|
+ paymentManagement1.setId(IdGenerator.generateUUID());
|
|
|
|
+ paymentManagement1.setRelationId(weighingManagement1.getRelationId());
|
|
|
|
+ paymentManagement1.setCompId(weighingManagement1.getCompId());
|
|
|
|
+ paymentManagement1.setCustomerNumberCard(weighingManagement1.getCustomerNumberCard());
|
|
|
|
+ paymentManagement1.setPaymentNo(weighingManagement1.getNumber());
|
|
|
|
+ paymentManagement1.setContractNo(weighingManagement1.getContractNo());
|
|
|
|
+ paymentManagement1.setCustomerName(weighingManagement1.getCustomer());
|
|
|
|
+ paymentManagement1.setCustomerPhone(weighingManagement1.getCustomerPhone());
|
|
|
|
+ paymentManagement1.setCarNo(weighingManagement1.getCarNumber());
|
|
|
|
+ paymentManagement1.setType(weighingManagement1.getType());
|
|
|
|
+ paymentManagement1.setGoodsName(weighingManagement1.getGoodsName());
|
|
|
|
+ paymentManagement1.setStatus(StatusEnum.TO_BE_SETTLED.getName());
|
|
|
|
+ paymentManagement1.setStatusFlag(StatusEnum.TO_BE_SETTLED.getFlag());
|
|
|
|
+ paymentManagement1.setNetWeight(weighingManagement.getNetWeight());
|
|
|
|
+ paymentManagement1.setManagementType("1");
|
|
|
|
+ paymentManagement1.setGrossWeight(weighingManagement1.getGrossWeight());
|
|
|
|
+ paymentManagement1.setTare(weighingManagement.getTare());
|
|
|
|
+ paymentManagement1.setWarehouseName(weighingManagement1.getWarehouseName());
|
|
|
|
+ //质检信息
|
|
|
|
+ QualityInspectionManagement qualityInspectionManagement = qualityInspectionManagementService.selectOne(new EntityWrapper<QualityInspectionManagement>()
|
|
|
|
+ .eq("relation_id", weighingManagement1.getRelationId())
|
|
|
|
+ .eq("comp_id", weighingManagement1.getCompId()));
|
|
|
|
+ if (qualityInspectionManagement != null) {
|
|
|
|
+ if ("潮粮".equals(weighingManagement1.getType())) {
|
|
|
|
+ paymentManagement1.setTidalGrainPrice(qualityInspectionManagement.getTidalGrainPrice());
|
|
|
|
+ } else {
|
|
|
|
+ paymentManagement1.setTidalGrainPrice(qualityInspectionManagement.getDryGrainPrice());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ paymentManagementService.insert(paymentManagement1);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if (weighingManagement.getTare() == null || weighingManagement.getTare() == 0) {
|
|
|
|
+ throw new YException(YExceptionEnum.TARE_NULL);
|
|
|
|
+ }
|
|
|
|
+ weighingManagementService.updateById(weighingManagement);
|
|
|
|
+ }
|
|
|
|
+ Wrapper wrapper = new EntityWrapper<TranCarInfo>()
|
|
|
|
+ .eq("contract_no", warehouseInOutInfo.getContractNo())
|
|
|
|
+ .eq("car_no", warehouseInOutInfo.getCarNo())
|
|
|
|
+ .eq(TranCarInfo.QueryFiles.DELETE_FLAG, NumberConstant.CONSTANT0)
|
|
|
|
+ .eq("tran_car_no", warehouseInOutInfo.getTranCarNo());
|
|
|
|
+ TranCarInfo tranCarInfo = tranCarInfoService.selectOne(wrapper);
|
|
|
|
+ if (tranCarInfo != null) {
|
|
|
|
+ //将到货数据同步到派车表
|
|
|
|
+ tranCarInfo.setUnloadNetWeight(Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
|
|
|
|
+ if (warehouseInOutInfo.getAddressUrl() != null) {
|
|
|
|
+ tranCarInfo.setUnloadPoundImg(warehouseInOutInfo.getAddressUrl());
|
|
|
|
+ }
|
|
|
|
+ tranCarInfo.setUnloadingDate(warehouseInOutInfo.getInOutDate());
|
|
|
|
+// if ("2".equals(tranCarInfo.getSubmit())) {
|
|
|
|
+// throw new YException(YExceptionEnum.CARNO_SUBMITTED_ERROR);
|
|
|
|
+// } else {
|
|
|
|
+ tranCarInfo.setSubmit("2");
|
|
|
|
+ tranCarInfo.setStatusFlag(StatusEnum.DELIVERED.getFlag());
|
|
|
|
+ tranCarInfo.setStatus(StatusEnum.DELIVERED.getName());
|
|
|
|
+// }
|
|
|
|
+ tranCarInfoService.updateById(tranCarInfo);
|
|
|
|
+ }
|
|
|
|
+ //更新库存量
|
|
|
|
+ float original = 0f;
|
|
|
|
+ //判断是否有库
|
|
|
|
+ if (warehouseBaseInfo != null) {
|
|
|
|
+ // 查询库位
|
|
|
|
+ WarehousePositionInfo warehousePositionInfo = warehousePositionInfoService.selectById(warehouseInOutInfo.getPositionId());
|
|
|
|
+ if (warehousePositionInfo != null) {
|
|
|
|
+ // 查询货物库存量
|
|
|
|
+ WarehousePositionStorageInfo warehousePositionStorageInfo = warehousePositionStorageInfoService.selectOne(new EntityWrapper<WarehousePositionStorageInfo>()
|
|
|
|
+ .eq("position_id", warehouseInOutInfo.getPositionId())
|
|
|
|
+ .eq("goods_name", warehouseInOutInfo.getGoodsName())
|
|
|
|
+ .eq("delete_flag", "0"));
|
|
|
|
+ // 判断是否有货
|
|
|
|
+ if (warehousePositionStorageInfo != null) {
|
|
|
|
+ original = Float.valueOf(String.valueOf(warehousePositionStorageInfo.getStorage()));
|
|
|
|
+ // 更新库存量
|
|
|
|
+ warehousePositionStorageInfo.setStorage(warehousePositionStorageInfo.getStorage() + Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
|
|
|
|
+ warehousePositionStorageInfoService.updateById(warehousePositionStorageInfo);
|
|
|
|
+ }
|
|
|
|
+ // 没有货
|
|
|
|
+ else {
|
|
|
|
+ WarehousePositionStorageInfo warehousePositionStorageInfo1 = new WarehousePositionStorageInfo();
|
|
|
|
+ warehousePositionStorageInfo1.setId(IdGenerator.generateUUID());
|
|
|
|
+ warehousePositionStorageInfo1.setPositionId(warehouseInOutInfo.getPositionId());
|
|
|
|
+ warehousePositionStorageInfo1.setBinNumber(warehouseInOutInfo.getBinNumber());
|
|
|
|
+ warehousePositionStorageInfo1.setGoodsNameKey(warehouseInOutInfo.getGoodsNameKey());
|
|
|
|
+ warehousePositionStorageInfo1.setGoodsName(warehouseInOutInfo.getGoodsName());
|
|
|
|
+ warehousePositionStorageInfo1.setStorage(warehouseInOutInfo.getNetWeight());
|
|
|
|
+ warehousePositionStorageInfoService.insert(warehousePositionStorageInfo1);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 生成加权成本数据
|
|
|
|
+ WeightedDetails weightedDetails = new WeightedDetails();
|
|
|
|
+ weightedDetails.setCompId(AuthSecurityUtils.getCurrentUserInfo().getCompId());
|
|
|
|
+ weightedDetails.setId(IdGenerator.generateUUID());
|
|
|
|
+ weightedDetails.setWarehouseId(warehouseInOutInfo.getBaseId());
|
|
|
|
+ weightedDetails.setWarehouseName(warehouseInOutInfo.getWarehouseName());
|
|
|
|
+ weightedDetails.setGoodsNameKey(warehouseInOutInfo.getGoodsNameKey());
|
|
|
|
+ weightedDetails.setGoodsName(warehouseInOutInfo.getGoodsName());
|
|
|
|
+ weightedDetails.setGrainType(warehouseInOutInfo.getType());
|
|
|
|
+ weightedDetails.setInTypeKey(warehouseInOutInfo.getInOutTypeKey());
|
|
|
|
+ weightedDetails.setInType(warehouseInOutInfo.getInOutType());
|
|
|
|
+ weightedDetails.setNetWeight(Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
|
|
|
|
+ weightedDetails.setPureWeight(warehouseInOutInfo.getPureWeight());
|
|
|
|
+ weightedDetails.setUnitPrice(warehouseInOutInfo.getCost());
|
|
|
|
+ weightedDetails.setDeductionAmount(warehouseInOutInfo.getDeductionAmount());
|
|
|
|
+ weightedDetails.setFreight(warehouseInOutInfo.getFreight());
|
|
|
|
+ weightedDetails.setOriginalStock(original);
|
|
|
|
+ // 查询入库全加权成本
|
|
|
|
+ List<WeightedDetails> weightedDetailsList = weightedDetailsService.selectList(new EntityWrapper<WeightedDetails>().eq("warehouse_id", warehouseInOutInfo.getBaseId())
|
|
|
|
+ .eq("goods_name", warehouseInOutInfo.getGoodsName()).orderBy("update_date", false));
|
|
|
|
+
|
|
|
|
+ // 计算新加权成本
|
|
|
|
+ Double newCost = 0d;
|
|
|
|
+ if (CollectionUtils.isEmpty(weightedDetailsList)) {
|
|
|
|
+ if ("干粮".equals(warehouseInOutInfo.getType())) {
|
|
|
|
+ newCost = ((warehouseInOutInfo.getCost() / 1.09 + warehouseInOutInfo.getFreight()) * Double.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight()))) / (Double.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())) + original);
|
|
|
|
+
|
|
|
|
+ } else {
|
|
|
|
+ newCost = ((warehouseInOutInfo.getCost() / 1.09 + warehouseInOutInfo.getFreight()) * Double.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight()))) / (warehouseInOutInfo.getPureWeight() + original);
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ weightedDetails.setCostBefore(Float.valueOf(String.valueOf(newCost)));
|
|
|
|
+ weightedDetails.setCostAfter(newCost);
|
|
|
|
+ } else {
|
|
|
|
+ weightedDetails.setCostBefore(weightedDetailsList.get(0).getCostBefore());
|
|
|
|
+ if ("干粮".equals(warehouseInOutInfo.getType())) {
|
|
|
|
+ newCost = ((warehouseInOutInfo.getCost() / 1.09 + warehouseInOutInfo.getFreight()) * Double.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())) + original * weightedDetails.getCostBefore()) / (Double.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())) + original);
|
|
|
|
+
|
|
|
|
+ } else {
|
|
|
|
+ newCost = ((warehouseInOutInfo.getCost() / 1.09 + warehouseInOutInfo.getFreight()) * Double.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())) + original * weightedDetails.getCostBefore()) / (warehouseInOutInfo.getPureWeight() + original);
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ weightedDetails.setCostAfter(newCost);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ weightedDetails.setCostAfter(newCost);
|
|
|
|
+ if (CollectionUtils.isEmpty(weightedDetailsList)) {
|
|
|
|
+ weightedDetails.setCostBefore(Float.valueOf(String.valueOf(newCost)));
|
|
|
|
+ } else {
|
|
|
|
+ weightedDetails.setCostBefore(weightedDetailsList.get(0).getCostBefore());
|
|
|
|
+ }
|
|
|
|
+ weightedDetailsService.insert(weightedDetails);
|
|
|
|
+ // 修改成本信息表
|
|
|
|
+ CostManagementInfo costManagementInfo = costManagementInfoService.selectOne(new EntityWrapper<CostManagementInfo>().eq("warehouse_id", weightedDetails.getWarehouseId())
|
|
|
|
+ .eq("comp_id", weightedDetails.getCompId())
|
|
|
|
+ .eq("goods_name", weightedDetails.getGoodsName()));
|
|
|
|
+// List<WeightedDetails> weightedDetailsLists = weightedDetailsService.selectList(new EntityWrapper<WeightedDetails>().eq("warehouse_id", warehouseInOutInfo.getWarehouseName())
|
|
|
|
+// .eq("goods_name_key", warehouseInOutInfo.getGoodsNameKey()).orderBy("update_date", false));
|
|
|
|
+ Double net = 0d;
|
|
|
|
+// for (int i = 0; i < weightedDetailsLists.size(); i++) {
|
|
|
|
+// net = net + weightedDetailsLists.get(i).getNetWeight();
|
|
|
|
+// }
|
|
|
|
+ List<WarehousePositionInfo> warehousePositionInfos = warehousePositionInfoService.selectList(new EntityWrapper<WarehousePositionInfo>()
|
|
|
|
+ .eq("base_id", warehouseInOutInfo.getBaseId()));
|
|
|
|
+ if (!CollectionUtils.isEmpty(warehousePositionInfos)) {
|
|
|
|
+ for (int i = 0; i < warehousePositionInfos.size(); i++) {
|
|
|
|
+ List<WarehousePositionStorageInfo> warehousePositionStorageInfos = warehousePositionStorageInfoService.selectList(new EntityWrapper<WarehousePositionStorageInfo>()
|
|
|
|
+ .eq("position_id", warehousePositionInfos.get(i).getId())
|
|
|
|
+ .eq("goods_name", warehouseInOutInfo.getGoodsName()));
|
|
|
|
+ for (int j = 0; j < warehousePositionStorageInfos.size(); j++) {
|
|
|
|
+ net = net + warehousePositionStorageInfos.get(j).getStorage();
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if (costManagementInfo == null) {
|
|
|
|
+ CostManagementInfo costManagementInfo1 = new CostManagementInfo();
|
|
|
|
+ costManagementInfo1.setCompId(AuthSecurityUtils.getCurrentUserInfo().getCompId());
|
|
|
|
+ costManagementInfo1.setId(IdGenerator.generateUUID());
|
|
|
|
+ costManagementInfo1.setWarehouseId(weightedDetails.getWarehouseId());
|
|
|
|
+ costManagementInfo1.setWarehouseName(weightedDetails.getWarehouseName());
|
|
|
|
+ costManagementInfo1.setGoodsNameKey(weightedDetails.getGoodsNameKey());
|
|
|
|
+ costManagementInfo1.setGoodsName(weightedDetails.getGoodsName());
|
|
|
|
+ costManagementInfo1.setWarehouseType(warehouseBaseInfo.getWarehouseType());
|
|
|
|
+
|
|
|
|
+ costManagementInfo1.setStorage(net);
|
|
|
|
+ costManagementInfo1.setCost(weightedDetails.getCostAfter());
|
|
|
|
+ costManagementInfoService.insert(costManagementInfo1);
|
|
|
|
+ } else {
|
|
|
|
+ costManagementInfo.setCost(weightedDetails.getCostAfter());
|
|
|
|
+ costManagementInfo.setStorage(net);
|
|
|
|
+ costManagementInfoService.updateById(costManagementInfo);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ //临时库入库
|
|
|
|
+ else if ("2".equals(warehouseInOutInfo.getInOutFlag()) && "2".equals(warehouseBaseInfo.getWarehouseType())) {
|
|
|
|
+ //更新库存量
|
|
|
|
+ float original = 0f;
|
|
|
|
+ //判断是否有库
|
|
|
|
+ if (warehouseBaseInfo != null) {
|
|
|
|
+ // 查询库位
|
|
|
|
+ WarehousePositionInfo warehousePositionInfo = warehousePositionInfoService.selectById(warehouseInOutInfo.getPositionId());
|
|
|
|
+ if (warehousePositionInfo != null) {
|
|
|
|
+ // 查询货物库存量
|
|
|
|
+ WarehousePositionStorageInfo warehousePositionStorageInfo = warehousePositionStorageInfoService.selectOne(new EntityWrapper<WarehousePositionStorageInfo>()
|
|
|
|
+ .eq("position_id", warehouseInOutInfo.getPositionId())
|
|
|
|
+ .eq("goods_name", warehouseInOutInfo.getGoodsName())
|
|
|
|
+ .eq("delete_flag", "0"));
|
|
|
|
+ // 判断是否有货
|
|
|
|
+ if (warehousePositionStorageInfo != null) {
|
|
|
|
+ original = Float.valueOf(String.valueOf(warehousePositionStorageInfo.getStorage()));
|
|
|
|
+ // 更新库存量
|
|
|
|
+ warehousePositionStorageInfo.setStorage(warehousePositionStorageInfo.getStorage() + Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
|
|
|
|
+ warehousePositionStorageInfoService.updateById(warehousePositionStorageInfo);
|
|
|
|
+ }
|
|
|
|
+ // 没有货
|
|
|
|
+ else {
|
|
|
|
+ WarehousePositionStorageInfo warehousePositionStorageInfo1 = new WarehousePositionStorageInfo();
|
|
|
|
+ warehousePositionStorageInfo1.setId(IdGenerator.generateUUID());
|
|
|
|
+ warehousePositionStorageInfo1.setPositionId(warehouseInOutInfo.getPositionId());
|
|
|
|
+ warehousePositionStorageInfo1.setBinNumber(warehouseInOutInfo.getBinNumber());
|
|
|
|
+ warehousePositionStorageInfo1.setGoodsNameKey(warehouseInOutInfo.getGoodsNameKey());
|
|
|
|
+ warehousePositionStorageInfo1.setGoodsName(warehouseInOutInfo.getGoodsName());
|
|
|
|
+ warehousePositionStorageInfo1.setStorage(warehouseInOutInfo.getNetWeight());
|
|
|
|
+ warehousePositionStorageInfoService.insert(warehousePositionStorageInfo1);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ //常用库出库
|
|
|
|
+ else if ("1".equals(warehouseInOutInfo.getInOutFlag()) && "1".equals(warehouseBaseInfo.getWarehouseType())) {
|
|
|
|
+ //常用库销售出库类型
|
|
|
|
+ if ("1".equals(warehouseInOutInfo.getInOutTypeKey())) {
|
|
|
|
+ //他运的销售合同
|
|
|
|
+ ContractManagementInfo contractManagementInfo = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
|
|
|
|
+ .eq("contract_no", warehouseInOutInfo.getContractNo())
|
|
|
|
+ .eq("deliver_type", "2")
|
|
|
|
+ .eq("contract_type", "1")
|
|
|
|
+ .eq("delete_flag", "0"));
|
|
|
|
+ if (contractManagementInfo != null) {
|
|
|
|
+ if (contractManagementInfo.getUnitContractPrice() == null) {
|
|
|
|
+ contractManagementInfo.setUnitContractPrice(0d);
|
|
|
|
+ }
|
|
|
|
+ //现货销售出库报表
|
|
|
|
+ StockSaleReceiptReport stockSaleReceiptReport = new StockSaleReceiptReport();
|
|
|
|
+ stockSaleReceiptReport.setId(IdGenerator.generateUUID());
|
|
|
|
+ stockSaleReceiptReport.setWarehouseRecordId(warehouseInOutInfo.getId());
|
|
|
|
+ stockSaleReceiptReport.setCompId(warehouseBaseInfo.getCompId());
|
|
|
|
+ TranTaskInfo tranTaskInfo = tranTaskInfoService.selectOne(new EntityWrapper<TranTaskInfo>()
|
|
|
|
+ .eq("contract_no", contractManagementInfo.getContractNo())
|
|
|
|
+ .eq("comp_id", contractManagementInfo.getCompId()));
|
|
|
|
+ if (tranTaskInfo != null) {
|
|
|
|
+ TranProcessInfo tranProcessInfo = tranProcessInfoService.selectOne(new EntityWrapper<TranProcessInfo>()
|
|
|
|
+ .eq("info_id", tranTaskInfo.getId()));
|
|
|
|
+ if (tranProcessInfo != null) {
|
|
|
|
+ if (tranProcessInfo.getThreeTranType() == null) {
|
|
|
|
+ tranProcessInfo.setThreeTranType(warehouseInOutInfo.getOutType());
|
|
|
|
+
|
|
|
|
+ } else if (!tranProcessInfo.getThreeTranType().contains(warehouseInOutInfo.getOutType())) {
|
|
|
|
+ tranProcessInfo.setThreeTranType(tranProcessInfo.getThreeTranType() + "," + warehouseInOutInfo.getOutType());
|
|
|
|
+ }
|
|
|
|
+ tranProcessInfoService.updateById(tranProcessInfo);
|
|
|
|
+ stockSaleReceiptReport.setProcessId(tranProcessInfo.getId());
|
|
|
|
+ TranCarInfo tranCarInfo = new TranCarInfo();
|
|
|
|
+ tranCarInfo.setId(IdGenerator.generateUUID());
|
|
|
|
+ tranCarInfo.setProcessId(tranProcessInfo.getId());
|
|
|
|
+ tranCarInfo.setCompId(tranTaskInfo.getCompId());
|
|
|
|
+ tranCarInfo.setInfoId(tranProcessInfo.getInfoId());
|
|
|
|
+ tranCarInfo.setTranType("4");
|
|
|
|
+ tranCarInfo.setSubmit("1");
|
|
|
|
+ tranCarInfo.setContractNo(warehouseInOutInfo.getContractNo());
|
|
|
|
+ tranCarInfo.setLoadNetWeight(Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
|
|
|
|
+ tranCarInfo.setStatusFlag(StatusEnum.LOADED.getFlag());
|
|
|
|
+ tranCarInfo.setStatus(StatusEnum.LOADED.getName());
|
|
|
|
+ if ("汽运".equals(warehouseInOutInfo.getOutType())) {
|
|
|
|
+ tranCarInfo.setCarNo(warehouseInOutInfo.getCarNo());
|
|
|
|
+ tranCarInfo.setCaseNo(warehouseInOutInfo.getBoxNo());
|
|
|
|
+ tranCarInfo.setThreeTranType("汽运");
|
|
|
|
+ tranCarInfo.setTitleNo(warehouseInOutInfo.getTitleNo());
|
|
|
|
+ tranCarInfo.setCaseNoOther(warehouseInOutInfo.getBoxNoOther());
|
|
|
|
+ tranCarInfo.setTitleNoOther(warehouseInOutInfo.getTitleNoOther());
|
|
|
|
+ stockSaleReceiptReport.setCarNo(warehouseInOutInfo.getCarNo());
|
|
|
|
+ stockSaleReceiptReport.setCaseNo(warehouseInOutInfo.getBoxNo());
|
|
|
|
+ stockSaleReceiptReport.setTitleNo(warehouseInOutInfo.getTitleNo());
|
|
|
|
+ stockSaleReceiptReport.setCaseNoOther(warehouseInOutInfo.getBoxNoOther());
|
|
|
|
+ stockSaleReceiptReport.setTitleNoOther(warehouseInOutInfo.getTitleNoOther());
|
|
|
|
+ } else if ("火运".equals(warehouseInOutInfo.getOutType())) {
|
|
|
|
+ tranCarInfo.setCarNo(warehouseInOutInfo.getCarNo());
|
|
|
|
+ tranCarInfo.setBoxNo(warehouseInOutInfo.getWingNumber());
|
|
|
|
+ tranCarInfo.setThreeTranType("火运");
|
|
|
|
+ stockSaleReceiptReport.setCarNo(warehouseInOutInfo.getCarNo());
|
|
|
|
+ stockSaleReceiptReport.setBoxNo(warehouseInOutInfo.getWingNumber());
|
|
|
|
+ } else if ("散船".equals(warehouseInOutInfo.getOutType())) {
|
|
|
|
+ tranCarInfo.setShipName(warehouseInOutInfo.getShipName());
|
|
|
|
+ tranCarInfo.setShipNo(warehouseInOutInfo.getShipNumber());
|
|
|
|
+ tranCarInfo.setThreeTranType("散船");
|
|
|
|
+ tranCarInfo.setCarNo(warehouseInOutInfo.getCarNo());
|
|
|
|
+ stockSaleReceiptReport.setCarNo(warehouseInOutInfo.getCarNo());
|
|
|
|
+ stockSaleReceiptReport.setShipName(warehouseInOutInfo.getShipName());
|
|
|
|
+ stockSaleReceiptReport.setShipNo(warehouseInOutInfo.getShipNumber());
|
|
|
|
+ } else if ("集装箱船".equals(warehouseInOutInfo.getOutType())) {
|
|
|
|
+ tranCarInfo.setCarNo(warehouseInOutInfo.getCarNo());
|
|
|
|
+ tranCarInfo.setCaseNo(warehouseInOutInfo.getBoxNo());
|
|
|
|
+ tranCarInfo.setTitleNo(warehouseInOutInfo.getTitleNo());
|
|
|
|
+ tranCarInfo.setThreeTranType("集装箱船");
|
|
|
|
+ stockSaleReceiptReport.setCarNo(warehouseInOutInfo.getCarNo());
|
|
|
|
+ stockSaleReceiptReport.setCaseNoOther(warehouseInOutInfo.getBoxNoOther());
|
|
|
|
+ stockSaleReceiptReport.setTitleNoOther(warehouseInOutInfo.getTitleNoOther());
|
|
|
|
+ stockSaleReceiptReport.setCaseNo(warehouseInOutInfo.getBoxNo());
|
|
|
|
+ stockSaleReceiptReport.setTitleNo(warehouseInOutInfo.getTitleNo());
|
|
|
|
+ }
|
|
|
|
+ tranCarInfoService.insert(tranCarInfo);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ stockSaleReceiptReport.setContractNo(warehouseInOutInfo.getContractNo());
|
|
|
|
+ stockSaleReceiptReport.setWarehouseName(warehouseInOutInfo.getWarehouseName());
|
|
|
|
+ stockSaleReceiptReport.setGrossWeight(Double.valueOf(String.valueOf(warehouseInOutInfo.getGrossWeight())));
|
|
|
|
+ stockSaleReceiptReport.setTare(Double.valueOf(String.valueOf(warehouseInOutInfo.getTare())));
|
|
|
|
+ stockSaleReceiptReport.setNetWeight(warehouseInOutInfo.getNetWeight());
|
|
|
|
+ stockSaleReceiptReport.setDeliveryDate(warehouseInOutInfo.getInOutDate());
|
|
|
|
+ //按出库重量结算时
|
|
|
|
+ if ("1".equals(contractManagementInfo.getSettlementWeightMethod())) {
|
|
|
|
+ stockSaleReceiptReport.setSettlementWeight(warehouseInOutInfo.getNetWeight());
|
|
|
|
+ }
|
|
|
|
+ //定价销售
|
|
|
|
+ if (contractManagementInfo.getUnitContractPrice() != null) {
|
|
|
|
+ stockSaleReceiptReport.setSettlementPrice(contractManagementInfo.getUnitContractPrice());
|
|
|
|
+ stockSaleReceiptReport.setAmountIngReceivable(warehouseInOutInfo.getNetWeight() *
|
|
|
|
+ (contractManagementInfo.getUnitContractPrice()));
|
|
|
|
+ stockSaleReceiptReport.setAmountEdReceivable(0.00);
|
|
|
|
+ stockSaleReceiptReport.setAmountNotReceivable(stockSaleReceiptReport.getAmountIngReceivable());
|
|
|
|
+ }
|
|
|
|
+ stockSaleReceiptReport.setStatusFlag(StatusEnum.TO_BE_RECEIVED.getFlag());
|
|
|
|
+ stockSaleReceiptReport.setStatus(StatusEnum.TO_BE_RECEIVED.getName());
|
|
|
|
+ stockSaleReceiptReport.setSettlementWeight(stockSaleReceiptReport.getNetWeight());
|
|
|
|
+ CostManagementInfo costManagementInfo = costManagementInfoService.selectOne(new EntityWrapper<CostManagementInfo>().eq("warehouse_id", warehouseInOutInfo.getBaseId()));
|
|
|
|
+ if (costManagementInfo != null) {
|
|
|
|
+ stockSaleReceiptReport.setCost(costManagementInfo.getCost());
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ stockSaleReceiptReportService.insert(stockSaleReceiptReport);
|
|
|
|
+ }
|
|
|
|
+ //自运的销售合同
|
|
|
|
+ ContractManagementInfo contractManagementInfo1 = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
|
|
|
|
+ .eq("contract_no", warehouseInOutInfo.getContractNo())
|
|
|
|
+ .eq("deliver_type", "1")
|
|
|
|
+ .eq("contract_type", "1")
|
|
|
|
+ .eq("delete_flag", "0"));
|
|
|
|
+ if (contractManagementInfo1 != null) {
|
|
|
|
+ //现货销售出库报表
|
|
|
|
+ StockSaleReceiptReport stockSaleReceiptReport = new StockSaleReceiptReport();
|
|
|
|
+ stockSaleReceiptReport.setId(IdGenerator.generateUUID());
|
|
|
|
+ stockSaleReceiptReport.setWarehouseRecordId(warehouseInOutInfo.getId());
|
|
|
|
+ stockSaleReceiptReport.setCompId(warehouseBaseInfo.getCompId());
|
|
|
|
+ TranTaskInfo tranTaskInfo = tranTaskInfoService.selectOne(new EntityWrapper<TranTaskInfo>()
|
|
|
|
+ .eq("contract_no", contractManagementInfo1.getContractNo())
|
|
|
|
+ .eq("comp_id", contractManagementInfo1.getCompId()));
|
|
|
|
+ if (tranTaskInfo != null) {
|
|
|
|
+ TranProcessInfo tranProcessInfo = tranProcessInfoService.selectOne(new EntityWrapper<TranProcessInfo>()
|
|
|
|
+ .eq("info_id", tranTaskInfo.getId()));
|
|
|
|
+ if (tranProcessInfo != null) {
|
|
|
|
+ stockSaleReceiptReport.setProcessId(tranProcessInfo.getId());
|
|
|
|
+ stockSaleReceiptReport.setProcessNo(tranProcessInfo.getProcessNo());
|
|
|
|
+ if ("汽运".equals(warehouseInOutInfo.getOutType())) {
|
|
|
|
+ stockSaleReceiptReport.setCarNo(warehouseInOutInfo.getCarNo());
|
|
|
|
+ stockSaleReceiptReport.setTranCarNo(warehouseInOutInfo.getTranCarNo());
|
|
|
|
+ stockSaleReceiptReport.setCaseNo(warehouseInOutInfo.getBoxNo());
|
|
|
|
+ stockSaleReceiptReport.setTitleNo(warehouseInOutInfo.getTitleNo());
|
|
|
|
+ stockSaleReceiptReport.setCaseNoOther(warehouseInOutInfo.getBoxNoOther());
|
|
|
|
+ stockSaleReceiptReport.setTitleNoOther(warehouseInOutInfo.getTitleNoOther());
|
|
|
|
+ } else if ("火运".equals(warehouseInOutInfo.getOutType())) {
|
|
|
|
+ stockSaleReceiptReport.setCarNo(warehouseInOutInfo.getCarNo());
|
|
|
|
+ stockSaleReceiptReport.setBoxNo(warehouseInOutInfo.getWingNumber());
|
|
|
|
+ } else if ("散船".equals(warehouseInOutInfo.getOutType())) {
|
|
|
|
+ stockSaleReceiptReport.setCarNo(warehouseInOutInfo.getCarNo());
|
|
|
|
+ stockSaleReceiptReport.setShipName(warehouseInOutInfo.getShipName());
|
|
|
|
+ stockSaleReceiptReport.setShipNo(warehouseInOutInfo.getShipNumber());
|
|
|
|
+ } else if ("集装箱船".equals(warehouseInOutInfo.getOutType())) {
|
|
|
|
+ stockSaleReceiptReport.setCaseNo(warehouseInOutInfo.getBoxNo());
|
|
|
|
+ stockSaleReceiptReport.setCaseNoOther(warehouseInOutInfo.getBoxNoOther());
|
|
|
|
+ stockSaleReceiptReport.setCarNo(warehouseInOutInfo.getCarNo());
|
|
|
|
+ stockSaleReceiptReport.setTitleNoOther(warehouseInOutInfo.getTitleNoOther());
|
|
|
|
+ stockSaleReceiptReport.setTitleNo(warehouseInOutInfo.getTitleNo());
|
|
|
|
+ }
|
|
|
|
+ //自运出库时手动加的车
|
|
|
|
+ if ("1".equals(warehouseInOutInfo.getSelfLoading())) {
|
|
|
|
+ List<TranCarInfo> tranCarInfoList = tranCarInfoService.selectList(new EntityWrapper<TranCarInfo>()
|
|
|
|
+ .eq("contract_no", contractManagementInfo1.getContractNo()).eq("tran_type", "1"));
|
|
|
|
+ TranCarInfo tranCarInfo = new TranCarInfo();
|
|
|
|
+ tranCarInfo.setProcessId(tranProcessInfo.getId());
|
|
|
|
+ tranCarInfo.setTranPrice(String.valueOf(tranProcessInfo.getTranPrice() != null ? tranProcessInfo.getTranPrice() : 0f));
|
|
|
|
+ tranCarInfo.setInfoId(tranTaskInfo.getId());
|
|
|
|
+ tranCarInfo.setCompId(warehouseBaseInfo.getCompId());
|
|
|
|
+ tranCarInfo.setTranType("1");
|
|
|
|
+ tranCarInfo.setCarNo(warehouseInOutInfo.getCarNo());
|
|
|
|
+ String tranCarNo = "";
|
|
|
|
+ if ((tranCarInfoList.size() + 1) < 10) {
|
|
|
|
+ tranCarNo = "C00" + (tranCarInfoList.size() + 1);
|
|
|
|
+ } else if (tranCarInfoList.size() + 1 < 100) {
|
|
|
|
+ tranCarNo = "C0" + (tranCarInfoList.size() + 1);
|
|
|
|
+ } else {
|
|
|
|
+ tranCarNo = "C" + (tranCarInfoList.size() + 1);
|
|
|
|
+ }
|
|
|
|
+ tranCarInfo.setTranCarNo(tranCarNo);
|
|
|
|
+ tranCarInfo.setId(IdGenerator.generateUUID());
|
|
|
|
+ tranCarInfo.setContractNo(contractManagementInfo1.getContractNo());
|
|
|
|
+ tranCarInfo.setStatusFlag(StatusEnum.LOADED.getFlag());
|
|
|
|
+ tranCarInfo.setStatus(StatusEnum.LOADED.getName());
|
|
|
|
+ warehouseInOutInfo.setCarId(tranCarInfo.getId());
|
|
|
|
+ warehouseInOutInfo.setTranCarNo(tranCarNo);
|
|
|
|
+ stockSaleReceiptReport.setTranCarNo(tranCarNo);
|
|
|
|
+ warehouseInOutInfoService.updateById(warehouseInOutInfo);
|
|
|
|
+ tranCarInfoService.insert(tranCarInfo);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ throw new YException(YExceptionEnum.TRANTASK_NOT_CREATED_ERROR);
|
|
|
|
+ }
|
|
|
|
+ stockSaleReceiptReport.setContractNo(warehouseInOutInfo.getContractNo());
|
|
|
|
+ stockSaleReceiptReport.setWarehouseName(warehouseInOutInfo.getWarehouseName());
|
|
|
|
+ stockSaleReceiptReport.setGrossWeight(Double.valueOf(String.valueOf(warehouseInOutInfo.getGrossWeight())));
|
|
|
|
+ stockSaleReceiptReport.setTare(Double.valueOf(String.valueOf(warehouseInOutInfo.getTare())));
|
|
|
|
+ stockSaleReceiptReport.setNetWeight(warehouseInOutInfo.getNetWeight());
|
|
|
|
+ stockSaleReceiptReport.setDeliveryDate(warehouseInOutInfo.getInOutDate());
|
|
|
|
+ stockSaleReceiptReport.setSettlementWeight(warehouseInOutInfo.getNetWeight());
|
|
|
|
+ //按出库重量结算时
|
|
|
|
+ if ("1".equals(contractManagementInfo1.getSettlementWeightMethod())) {
|
|
|
|
+ stockSaleReceiptReport.setSettlementWeight(warehouseInOutInfo.getNetWeight());
|
|
|
|
+ //定价销售
|
|
|
|
+ if (contractManagementInfo1.getUnitContractPrice() != null) {
|
|
|
|
+ stockSaleReceiptReport.setSettlementPrice(contractManagementInfo1.getUnitContractPrice());
|
|
|
|
+ stockSaleReceiptReport.setAmountIngReceivable(warehouseInOutInfo.getNetWeight() *
|
|
|
|
+ (contractManagementInfo1.getUnitContractPrice()));
|
|
|
|
+ stockSaleReceiptReport.setAmountEdReceivable(0.00);
|
|
|
|
+ stockSaleReceiptReport.setAmountNotReceivable(stockSaleReceiptReport.getAmountIngReceivable());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ stockSaleReceiptReport.setStatusFlag(StatusEnum.TO_BE_RECEIVED.getFlag());
|
|
|
|
+ stockSaleReceiptReport.setStatus(StatusEnum.TO_BE_RECEIVED.getName());
|
|
|
|
+ stockSaleReceiptReport.setSettlementWeight(stockSaleReceiptReport.getNetWeight());
|
|
|
|
+ CostManagementInfo costManagementInfo = costManagementInfoService.selectOne(new EntityWrapper<CostManagementInfo>().eq("warehouse_id", warehouseInOutInfo.getBaseId()));
|
|
|
|
+ if (costManagementInfo != null) {
|
|
|
|
+ stockSaleReceiptReport.setCost(costManagementInfo.getCost());
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ stockSaleReceiptReportService.insert(stockSaleReceiptReport);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ //常用库移库出库类型
|
|
|
|
+ if ("移库出库".equals(warehouseInOutInfo.getInOutType())) {
|
|
|
|
+ InOutWarehouseTask inOutWarehouseTask = inOutWarehouseTaskService.selectOne(new EntityWrapper<InOutWarehouseTask>()
|
|
|
|
+ .eq("move_task_no", warehouseInOutInfo.getContractNo())
|
|
|
|
+ .eq("in_out_flag", "1")
|
|
|
|
+ .eq("delete_flag", "0"));
|
|
|
|
+ if (inOutWarehouseTask != null) {
|
|
|
|
+ //自运出库时手动加的车
|
|
|
|
+ if ("1".equals(warehouseInOutInfo.getSelfLoading())) {
|
|
|
|
+ List<TranCarInfo> tranCarInfoList = tranCarInfoService.selectList(new EntityWrapper<TranCarInfo>()
|
|
|
|
+ .eq("contract_no", warehouseInOutInfo.getContractNo()).eq("tran_type", "1")
|
|
|
|
+ .orderBy("create_date", false));
|
|
|
|
+ TranCarInfo tranCarInfo = new TranCarInfo();
|
|
|
|
+ TranTaskInfo tranTaskInfo = tranTaskInfoService.selectOne(new EntityWrapper<TranTaskInfo>()
|
|
|
|
+ .eq("comp_id", warehouseBaseInfo.getCompId())
|
|
|
|
+ .eq("contract_no", warehouseInOutInfo.getContractNo()));
|
|
|
|
+ if (tranTaskInfo != null) {
|
|
|
|
+ TranProcessInfo tranProcessInfo = tranProcessInfoService.selectOne(new EntityWrapper<TranProcessInfo>()
|
|
|
|
+ .eq("info_id", tranTaskInfo.getId()));
|
|
|
|
+ tranCarInfo.setProcessId(tranProcessInfo.getId());
|
|
|
|
+ tranCarInfo.setInfoId(tranTaskInfo.getId());
|
|
|
|
+ tranCarInfo.setTranPrice(String.valueOf(tranProcessInfo.getTranPrice() != null ? tranProcessInfo.getTranPrice() : 0f));
|
|
|
|
+ } else {
|
|
|
|
+ throw new YException(YExceptionEnum.TRANTASK_NOT_CREATED_ERROR);
|
|
|
|
+ }
|
|
|
|
+ //出库时打入成本
|
|
|
|
+ CostManagementInfo costManagementInfo = costManagementInfoService.selectOne(new EntityWrapper<CostManagementInfo>().eq("warehouse_id", warehouseInOutInfo.getBaseId())
|
|
|
|
+ .eq("goods_name", warehouseInOutInfo.getGoodsName()));
|
|
|
|
+ if (costManagementInfo != null) {
|
|
|
|
+ tranCarInfo.setCost(costManagementInfo.getCost());
|
|
|
|
+ }
|
|
|
|
+ tranCarInfo.setCompId(warehouseBaseInfo.getCompId());
|
|
|
|
+ tranCarInfo.setTranType("1");
|
|
|
|
+ tranCarInfo.setCarNo(warehouseInOutInfo.getCarNo());
|
|
|
|
+ String tranCarNo = "";
|
|
|
|
+ if ((tranCarInfoList.size() + 1) < 10) {
|
|
|
|
+ tranCarNo = "C00" + (tranCarInfoList.size() + 1);
|
|
|
|
+ } else if (tranCarInfoList.size() + 1 < 100) {
|
|
|
|
+ tranCarNo = "C0" + (tranCarInfoList.size() + 1);
|
|
|
|
+ } else {
|
|
|
|
+ tranCarNo = "C" + (tranCarInfoList.size() + 1);
|
|
|
|
+ }
|
|
|
|
+ tranCarInfo.setTranCarNo(tranCarNo);
|
|
|
|
+ tranCarInfo.setId(IdGenerator.generateUUID());
|
|
|
|
+ tranCarInfo.setContractNo(warehouseInOutInfo.getContractNo());
|
|
|
|
+ tranCarInfo.setStatusFlag(StatusEnum.LOADED.getFlag());
|
|
|
|
+ tranCarInfo.setStatus(StatusEnum.LOADED.getName());
|
|
|
|
+ warehouseInOutInfo.setCarId(tranCarInfo.getId());
|
|
|
|
+ warehouseInOutInfo.setTranCarNo(tranCarNo);
|
|
|
|
+ warehouseInOutInfoService.updateById(warehouseInOutInfo);
|
|
|
|
+ tranCarInfoService.insert(tranCarInfo);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if (warehouseInOutInfo.getWeighingManagement() != null) {
|
|
|
|
+ //毛重检斤
|
|
|
|
+ //状态改为已称毛重
|
|
|
|
+ WeighingManagement weighingManagement = warehouseInOutInfo.getWeighingManagement();
|
|
|
|
+ weighingManagement.setStatus(StatusEnum.WEIGHED_GROSS_WEIGHT.getName());
|
|
|
|
+ weighingManagement.setStatusFlag(StatusEnum.WEIGHED_GROSS_WEIGHT.getFlag());
|
|
|
|
+ weighingManagement.setGrossDate(new Date());
|
|
|
|
+ weighingManagement.setSecretaryWeigher(commonStaff.getStaffName());
|
|
|
|
+ //质检信息
|
|
|
|
+ QualityInspectionManagement qualityInspectionManagement = qualityInspectionManagementService.selectOne(new EntityWrapper<QualityInspectionManagement>()
|
|
|
|
+ .eq("relation_id", weighingManagement.getRelationId())
|
|
|
|
+ .eq("comp_id", commonStaff.getCompId()));
|
|
|
|
+ if (qualityInspectionManagement != null) {
|
|
|
|
+ //状态改为已称毛重
|
|
|
|
+// qualityInspectionManagement.setStatus(StatusEnum.WEIGHED_GROSS_WEIGHT.getName());
|
|
|
|
+// qualityInspectionManagement.setStatusFlag(StatusEnum.WEIGHED_GROSS_WEIGHT.getFlag());
|
|
|
|
+ qualityInspectionManagementService.updateById(qualityInspectionManagement);
|
|
|
|
+ }
|
|
|
|
+ if (weighingManagement.getGrossWeight() == null || weighingManagement.getGrossWeight() == 0) {
|
|
|
|
+ throw new YException(YExceptionEnum.GROSSWEIGHT_NULL);
|
|
|
|
+ }
|
|
|
|
+ weighingManagementService.updateById(weighingManagement);
|
|
|
|
+ }
|
|
|
|
+ //运费大于0生成运费结算报表数据
|
|
|
|
+ if (warehouseInOutInfo.getFreight() != null && warehouseInOutInfo.getFreight() > 0) {
|
|
|
|
+ //生成汽运报表
|
|
|
|
+ TranSettlementReport tranSettlementReport = new TranSettlementReport();
|
|
|
|
+ tranSettlementReport.setCompId(warehouseBaseInfo.getCompId());
|
|
|
|
+ tranSettlementReport.setCarId(warehouseInOutInfo.getCarId());
|
|
|
|
+ tranSettlementReport.setId(IdGenerator.generateUUID());
|
|
|
|
+ if ("汽运".equals(warehouseInOutInfo.getOutType())) {
|
|
|
|
+ tranSettlementReport.setTranType("汽运");
|
|
|
|
+ tranSettlementReport.setTranTypeKey("1");
|
|
|
|
+ } else if ("火运".equals(warehouseInOutInfo.getOutType())) {
|
|
|
|
+ tranSettlementReport.setTranType("火运");
|
|
|
|
+ tranSettlementReport.setTranTypeKey("2");
|
|
|
|
+ } else {
|
|
|
|
+ tranSettlementReport.setTranType("船运");
|
|
|
|
+ tranSettlementReport.setTranTypeKey("3");
|
|
|
|
+ }
|
|
|
|
+ tranSettlementReport.setContractNo(warehouseInOutInfo.getContractNo());
|
|
|
|
+ tranSettlementReport.setCarNo(warehouseInOutInfo.getCarNo());
|
|
|
|
+ tranSettlementReport.setSettlementWeight(Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
|
|
|
|
+ //应付
|
|
|
|
+ tranSettlementReport.setAmountIngPayable(Float.valueOf(warehouseInOutInfo.getFreight()) * tranSettlementReport.getSettlementWeight());
|
|
|
|
+ //未付
|
|
|
|
+ tranSettlementReport.setAmountNotPayable(Float.valueOf(warehouseInOutInfo.getFreight()) * tranSettlementReport.getSettlementWeight());
|
|
|
|
+ tranSettlementReport.setLoadingWeight(Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
|
|
|
|
+ tranSettlementReport.setLoadingImg(warehouseInOutInfo.getAddressUrl());
|
|
|
|
+ tranSettlementReport.setTransportPrice(Float.valueOf(warehouseInOutInfo.getFreight()));
|
|
|
|
+ tranSettlementReportService.insert(tranSettlementReport);
|
|
|
|
+ boolean isStartWorkflow = org.apache.commons.lang3.StringUtils.isBlank(tranSettlementReport.getWorkflowId());
|
|
|
|
+ // 不是退回的单子
|
|
|
|
+ if (isStartWorkflow) {
|
|
|
|
+ Workflow workflow = workflowService
|
|
|
|
+ .findLatestWorkflowByBusinessCodeByApp(tranSettlementReport.getCompId(), "TRANSPORTATION-SETTLEMENT-REPORT");
|
|
|
|
+ // 没配置审核流程,直接结束并处理信息
|
|
|
|
+ if (workflow == null) {
|
|
|
|
+ throw new YException(YExceptionEnum.PURCHASE_ORDER_ERROR);
|
|
|
|
+ }
|
|
|
|
+ // 开启审核流
|
|
|
|
+ else {
|
|
|
|
+
|
|
|
|
+ // 设置状态 已提交审核
|
|
|
|
+ tranSettlementReport.setWorkflowId(workflow.getId());
|
|
|
|
+ tranSettlementReportService.updateById(tranSettlementReport);
|
|
|
|
+ workflowService.startInstance(workflow.getId(), tranSettlementReport.getId());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ // 退回的单子 再启用
|
|
|
|
+ else {
|
|
|
|
+
|
|
|
|
+ tranSettlementReportService.updateById(tranSettlementReport);
|
|
|
|
+ workflowService.activateInstance(tranSettlementReport.getWorkflowId(), tranSettlementReport.getId());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ TranCarInfo tranCarInfo = tranCarInfoService.selectById(warehouseInOutInfo.getCarId());
|
|
|
|
+ if (tranCarInfo != null) {
|
|
|
|
+ //将发货数据同步到派车表
|
|
|
|
+ tranCarInfo.setLoadNetWeight(Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
|
|
|
|
+ if (warehouseInOutInfo.getAddressUrl() != null) {
|
|
|
|
+ tranCarInfo.setLoadPoundImg(warehouseInOutInfo.getAddressUrl());
|
|
|
|
+ }
|
|
|
|
+ if ("移库出库".equals(warehouseInOutInfo.getInOutType())) {
|
|
|
|
+ //移库出库时打入成本
|
|
|
|
+ CostManagementInfo costManagementInfo = costManagementInfoService.selectOne(new EntityWrapper<CostManagementInfo>().eq("warehouse_id", warehouseInOutInfo.getBaseId())
|
|
|
|
+ .eq("goods_name", warehouseInOutInfo.getGoodsName()));
|
|
|
|
+ if (costManagementInfo != null) {
|
|
|
|
+ tranCarInfo.setCost(costManagementInfo.getCost());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ 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) {
|
|
|
|
+ // 查询库位
|
|
|
|
+ WarehousePositionInfo warehousePositionInfo = warehousePositionInfoService.selectById(warehouseInOutInfo.getPositionId());
|
|
|
|
+ if (warehousePositionInfo != null) {
|
|
|
|
+ // 查询货物库存量
|
|
|
|
+ WarehousePositionStorageInfo warehousePositionStorageInfo = warehousePositionStorageInfoService.selectOne(new EntityWrapper<WarehousePositionStorageInfo>()
|
|
|
|
+ .eq("position_id", warehouseInOutInfo.getPositionId())
|
|
|
|
+ .eq("goods_name", warehouseInOutInfo.getGoodsName())
|
|
|
|
+ .eq("delete_flag", "0"));
|
|
|
|
+ // 判断是否有货
|
|
|
|
+ if (warehousePositionStorageInfo != null) {
|
|
|
|
+ if (warehouseInOutInfo.getNetWeight() <= warehousePositionStorageInfo.getStorage()) {
|
|
|
|
+ // 更新库存量
|
|
|
|
+ warehousePositionStorageInfo.setStorage(warehousePositionStorageInfo.getStorage() - Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
|
|
|
|
+ warehousePositionStorageInfoService.updateById(warehousePositionStorageInfo);
|
|
|
|
+ }
|
|
|
|
+ //出库量大于库存量
|
|
|
|
+ else {
|
|
|
|
+ throw new YException(YExceptionEnum.INVENTORY_NO_ERROR);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ // 没有储存量
|
|
|
|
+ else {
|
|
|
|
+ throw new YException(YExceptionEnum.POSITIONSTORAGE_NO_ERROR);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ //库位不存在
|
|
|
|
+ else {
|
|
|
|
+ throw new YException(YExceptionEnum.POSITION_NO_ERROR);
|
|
|
|
+ }
|
|
|
|
+ //出库时打入成本
|
|
|
|
+ CostManagementInfo costManagementInfo = costManagementInfoService.selectOne(new EntityWrapper<CostManagementInfo>().eq("warehouse_id", warehouseInOutInfo.getBaseId())
|
|
|
|
+ .eq("goods_name", warehouseInOutInfo.getGoodsName()));
|
|
|
|
+ if (costManagementInfo != null) {
|
|
|
|
+ warehouseInOutInfo.setWeightedCost(Float.valueOf(String.valueOf(costManagementInfo.getCost())));
|
|
|
|
+ warehouseInOutInfoService.updateById(warehouseInOutInfo);
|
|
|
|
+ TranCarInfo tranCarInfo1 = tranCarInfoService.selectById(warehouseInOutInfo.getCarId());
|
|
|
|
+ if (tranCarInfo1 != null) {
|
|
|
|
+ //打入出库成本
|
|
|
|
+ tranCarInfo1.setCost(costManagementInfo.getCost());
|
|
|
|
+ tranCarInfoService.updateById(tranCarInfo1);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ //仓库不存在
|
|
|
|
+ else {
|
|
|
|
+ throw new YException(YExceptionEnum.WAREHOUSE_NO_ERROR);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ //临时库出库
|
|
|
|
+ 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("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(Double.valueOf(String.valueOf(warehouseInOutInfo.getGrossWeight())));
|
|
|
|
+ stockPurchaseReceiptReport.setTare(Double.valueOf(String.valueOf(warehouseInOutInfo.getTare())));
|
|
|
|
+ stockPurchaseReceiptReport.setNetWeight(Double.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
|
|
|
|
+ stockPurchaseReceiptReport.setWarehousingDate(warehouseInOutInfo.getInOutDate());
|
|
|
|
+ stockPurchaseReceiptReport.setSettlementWeight(Double.valueOf(String.valueOf(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)
|
|
|
|
+ .eq("tran_car_no", warehouseInOutInfo.getTranCarNo());
|
|
|
|
+ TranCarInfo tranCarInfo = tranCarInfoService.selectOne(wrapper);
|
|
|
|
+ if (tranCarInfo != null) {
|
|
|
|
+ //将发货数据同步到派车表
|
|
|
|
+ tranCarInfo.setLoadNetWeight(Float.valueOf(String.valueOf(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 ("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(Double.valueOf(String.valueOf(warehouseInOutInfo.getGrossWeight())));
|
|
|
|
+ stockPurchaseReceiptReport.setTare(Double.valueOf(String.valueOf(warehouseInOutInfo.getTare())));
|
|
|
|
+ stockPurchaseReceiptReport.setNetWeight(Double.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
|
|
|
|
+ stockPurchaseReceiptReport.setWarehousingDate(warehouseInOutInfo.getInOutDate());
|
|
|
|
+ stockPurchaseReceiptReport.setSettlementWeight(Double.valueOf(String.valueOf(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)
|
|
|
|
+ .eq("tran_car_no", warehouseInOutInfo.getTranCarNo());
|
|
|
|
+ TranCarInfo tranCarInfo = tranCarInfoService.selectOne(wrapper);
|
|
|
|
+ if (tranCarInfo != null) {
|
|
|
|
+ //将发货数据同步到派车表
|
|
|
|
+ tranCarInfo.setLoadNetWeight(Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
|
|
|
|
+ if (warehouseInOutInfo.getAddressUrl() != null) {
|
|
|
|
+ tranCarInfo.setLoadPoundImg(warehouseInOutInfo.getAddressUrl());
|
|
|
|
+ }
|
|
|
|
+ tranCarInfo.setLoadingDate(warehouseInOutInfo.getInOutDate());
|
|
|
|
+ tranCarInfo.setContractNo(warehouseInOutInfo.getContractNo());
|
|
|
|
+ if (contractManagementInfo != null) {
|
|
|
|
+ tranCarInfo.setCost(contractManagementInfo.getUnitContractPrice());
|
|
|
|
+ } else {
|
|
|
|
+ //出库时打入成本
|
|
|
|
+ CostManagementInfo costManagementInfo = costManagementInfoService.selectOne(new EntityWrapper<CostManagementInfo>().eq("warehouse_id", warehouseInOutInfo.getBaseId())
|
|
|
|
+ .eq("goods_name", warehouseInOutInfo.getGoodsName()));
|
|
|
|
+ if (costManagementInfo != null) {
|
|
|
|
+ tranCarInfo.setCost(costManagementInfo.getCost());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ 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);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ Wrapper<InOutWarehouseTask> inOutWarehouseTaskWrapper = new EntityWrapper<>();
|
|
|
|
+ inOutWarehouseTaskWrapper.eq("in_out_flag", "1").eq("delete_flag", "0");
|
|
|
|
+ inOutWarehouseTaskWrapper.andNew().eq("move_task_no", warehouseInOutInfo.getContractNo()).or()
|
|
|
|
+ .eq("contract_no", warehouseInOutInfo.getContractNo());
|
|
|
|
+ InOutWarehouseTask inOutWarehouseTask = inOutWarehouseTaskService.selectOne(inOutWarehouseTaskWrapper);
|
|
|
|
+ if (inOutWarehouseTask != null) {
|
|
|
|
+ //自运出库时手动加的车
|
|
|
|
+ if ("1".equals(warehouseInOutInfo.getSelfLoading()) || warehouseInOutInfo.getTranCarNo() == null || warehouseInOutInfo.getCarId() == null) {
|
|
|
|
+ List<TranCarInfo> tranCarInfoList = tranCarInfoService.selectList(new EntityWrapper<TranCarInfo>()
|
|
|
|
+ .eq("contract_no", warehouseInOutInfo.getContractNo()).eq("tran_type", "1")
|
|
|
|
+ .orderBy("create_date", false));
|
|
|
|
+ TranCarInfo tranCarInfo = new TranCarInfo();
|
|
|
|
+ TranTaskInfo tranTaskInfo = tranTaskInfoService.selectOne(new EntityWrapper<TranTaskInfo>()
|
|
|
|
+ .eq("comp_id", warehouseBaseInfo.getCompId())
|
|
|
|
+ .eq("contract_no", warehouseInOutInfo.getContractNo()));
|
|
|
|
+ if (tranTaskInfo != null) {
|
|
|
|
+ TranProcessInfo tranProcessInfo = tranProcessInfoService.selectOne(new EntityWrapper<TranProcessInfo>()
|
|
|
|
+ .eq("info_id", tranTaskInfo.getId()));
|
|
|
|
+ tranCarInfo.setProcessId(tranProcessInfo.getId());
|
|
|
|
+ tranCarInfo.setTranPrice(String.valueOf(tranProcessInfo.getTranPrice() != null ? tranProcessInfo.getTranPrice() : 0f));
|
|
|
|
+ tranCarInfo.setInfoId(tranTaskInfo.getId());
|
|
|
|
+ } else {
|
|
|
|
+ throw new YException(YExceptionEnum.TRANTASK_NOT_CREATED_ERROR);
|
|
|
|
+ }
|
|
|
|
+ tranCarInfo.setCompId(warehouseBaseInfo.getCompId());
|
|
|
|
+ tranCarInfo.setTranType("1");
|
|
|
|
+ tranCarInfo.setSubmit("1");
|
|
|
|
+ ContractManagementInfo contractManagementInfo1 = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
|
|
|
|
+ .eq("contract_no", warehouseInOutInfo.getContractNo()).eq("delete_flag", "0"));
|
|
|
|
+ if (contractManagementInfo1 != null) {
|
|
|
|
+ tranCarInfo.setCost(contractManagementInfo1.getUnitContractPrice());
|
|
|
|
+ } else {
|
|
|
|
+ //出库时打入成本
|
|
|
|
+ CostManagementInfo costManagementInfo = costManagementInfoService.selectOne(new EntityWrapper<CostManagementInfo>().eq("warehouse_id", warehouseInOutInfo.getBaseId())
|
|
|
|
+ .eq("goods_name", warehouseInOutInfo.getGoodsName()));
|
|
|
|
+ if (costManagementInfo != null) {
|
|
|
|
+ tranCarInfo.setCost(costManagementInfo.getCost());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ tranCarInfo.setLoadNetWeight(Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
|
|
|
|
+ tranCarInfo.setLoadingDate(new Date());
|
|
|
|
+ tranCarInfo.setCarNo(warehouseInOutInfo.getCarNo());
|
|
|
|
+ String tranCarNo = "";
|
|
|
|
+ if ((tranCarInfoList.size() + 1) < 10) {
|
|
|
|
+ tranCarNo = "C00" + (tranCarInfoList.size() + 1);
|
|
|
|
+ } else if (tranCarInfoList.size() + 1 < 100) {
|
|
|
|
+ tranCarNo = "C0" + (tranCarInfoList.size() + 1);
|
|
|
|
+ } else {
|
|
|
|
+ tranCarNo = "C" + (tranCarInfoList.size() + 1);
|
|
|
|
+ }
|
|
|
|
+ tranCarInfo.setTranCarNo(tranCarNo);
|
|
|
|
+ tranCarInfo.setId(IdGenerator.generateUUID());
|
|
|
|
+ tranCarInfo.setContractNo(warehouseInOutInfo.getContractNo());
|
|
|
|
+ tranCarInfo.setStatusFlag(StatusEnum.LOADED.getFlag());
|
|
|
|
+ tranCarInfo.setStatus(StatusEnum.LOADED.getName());
|
|
|
|
+ warehouseInOutInfo.setSelfLoading("1");
|
|
|
|
+ warehouseInOutInfo.setCarId(tranCarInfo.getId());
|
|
|
|
+ warehouseInOutInfo.setTranCarNo(tranCarNo);
|
|
|
|
+ warehouseInOutInfoService.updateById(warehouseInOutInfo);
|
|
|
|
+ tranCarInfoService.insert(tranCarInfo);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if (warehouseBaseInfo != null) {
|
|
|
|
+ //出库时打入成本
|
|
|
|
+ CostManagementInfo costManagementInfo = costManagementInfoService.selectOne(new EntityWrapper<CostManagementInfo>().eq("warehouse_id", warehouseInOutInfo.getBaseId())
|
|
|
|
+ .eq("goods_name", warehouseInOutInfo.getGoodsNameKey()));
|
|
|
|
+ if (costManagementInfo != null) {
|
|
|
|
+ warehouseInOutInfo.setWeightedCost(Float.valueOf(String.valueOf(costManagementInfo.getCost())));
|
|
|
|
+ warehouseInOutInfoService.updateById(warehouseInOutInfo);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return warehouseInOutInfo.getWeighingManagement().getId();
|
|
|
|
+ }
|
|
|
|
+
|
|
}
|
|
}
|