ソースを参照

1合同单价2.生成收款管理

zhangyuewww 3 年 前
コミット
00d89132e4

+ 5 - 1
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/ContractManagementInfo.java

@@ -249,7 +249,11 @@ public class ContractManagementInfo extends BaseModel<ContractManagementInfo> {
      */
     @TableField(exist = false)
     private Float completedQuantity;
-
+    /**
+     * 合同价格/移库任务价格
+     */
+    @TableField(exist = false)
+    private Float contractPrice;
 
 
     /**

+ 4 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/WeighingManagement.java

@@ -56,6 +56,10 @@ public class WeighingManagement extends BaseModel<WeighingManagement> {
      * 合同编号
      */
     private String contractNo;
+    /**
+     * 合同价格/移库任务价格
+     */
+    private Float contractPrice;
     /**
      * 客户
      */

+ 1 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/QualityInspectionManagementServiceImpl.java

@@ -162,6 +162,7 @@ public class QualityInspectionManagementServiceImpl extends ServiceImpl<QualityI
         weighingManagement.setGoodsName(qualityInspectionManagement.getGoodsName());
         weighingManagement.setBinNumber(qualityInspectionManagement.getBinNumber());
         weighingManagement.setType(qualityInspectionManagement.getType());
+        weighingManagement.setManagementType("1");
         weighingManagement.setWarehouseName(qualityInspectionManagement.getWarehouseName());
         //状态为已质检
         weighingManagement.setStatus(StatusEnum.INSPECTED.getName());

+ 3 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/WarehouseBaseInfoServiceImpl.java

@@ -683,6 +683,8 @@ public class WarehouseBaseInfoServiceImpl extends ServiceImpl<WarehouseBaseInfoM
                 ContractGoodsInfo contractGoodsInfo=contractGoodsInfoService.selectOne(new EntityWrapper<ContractGoodsInfo>()
                         .eq("contract_id",contractManagementInfo.getId()));
                 contractManagementInfo.setGoodsName(contractGoodsInfo.getGoodsName());
+                //期货取点价,现货取单价
+                contractManagementInfo.setContractPrice(contractManagementInfo.getPointPrice()!=null?contractManagementInfo.getPointPrice():Float.valueOf(String.valueOf(contractManagementInfo.getUnitContractPrice())));
                 temp.add(contractManagementInfo);
             }
             List<InOutWarehouseTask> inOutWarehouseTaskList = iInOutWarehouseTaskService.selectList(new EntityWrapper<InOutWarehouseTask>()
@@ -695,6 +697,7 @@ public class WarehouseBaseInfoServiceImpl extends ServiceImpl<WarehouseBaseInfoM
                 ContractManagementInfo contractManagementInfo = new ContractManagementInfo();
                 BeanUtils.copyProperties(inOutWarehouseTask, contractManagementInfo);
                 contractManagementInfo.setContractNo(inOutWarehouseTask.getMoveTaskNo());
+                contractManagementInfo.setContractPrice(inOutWarehouseTask.getUnitPrice());
                 temp.add(contractManagementInfo);
             }
             return temp;

+ 73 - 36
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/WeighingManagementServiceImpl.java

@@ -42,6 +42,8 @@ public class WeighingManagementServiceImpl extends ServiceImpl<WeighingManagemen
     private IWarehouseBaseInfoService warehouseBaseInfoService;
     @Autowired
     private IPurchasePriceService purchasePriceService;
+    @Autowired
+    private IContractManagementInfoService contractManagementInfoService;
     /**
      * 检斤管理列表
      * @param weighingManagement
@@ -108,6 +110,36 @@ public class WeighingManagementServiceImpl extends ServiceImpl<WeighingManagemen
             qualityInspectionManagement.setStatusFlag(StatusEnum.WEIGHED_GROSS_WEIGHT.getFlag());
             qualityInspectionManagementService.updateById(qualityInspectionManagement);
         }
+        if ("3".equals(weighingManagement.getManagementType())){
+            WeighingManagement weighingManagement1=this.selectById(weighingManagement.getId());
+            //查关联的收款信息
+            PaymentManagement paymentManagement=paymentManagementService.selectOne(new EntityWrapper<PaymentManagement>()
+                    .eq("relation_id",weighingManagement1.getRelationId()));
+            if (paymentManagement!=null){
+                paymentManagement.setNetWeight(weighingManagement.getGrossWeight());
+                paymentManagementService.updateById(paymentManagement);
+            }
+            else {
+                //生成收款信息
+                PaymentManagement paymentManagement1=new PaymentManagement();
+                paymentManagement1.setId(IdGenerator.generateUUID());
+                paymentManagement1.setRelationId(weighingManagement1.getRelationId());
+                paymentManagement1.setCompId(weighingManagement1.getCompId());
+                paymentManagement1.setPaymentNo(weighingManagement1.getNumber());
+                paymentManagement1.setCustomerName(weighingManagement1.getCustomer());
+                paymentManagement1.setCarNo(weighingManagement1.getCarNumber());
+                paymentManagement1.setType(weighingManagement1.getType());
+                paymentManagement1.setGoodsName(weighingManagement1.getGoodsName());
+                paymentManagement1.setGrossWeight(weighingManagement.getGrossWeight());
+                paymentManagement1.setTare(weighingManagement1.getTare());
+                paymentManagement1.setNetWeight(weighingManagement.getNetWeight());
+                //应收
+                paymentManagement1.setCalculationCollectable(weighingManagement1.getContractPrice()*weighingManagement.getNetWeight());
+                paymentManagement1.setManagementType("3");
+                paymentManagement1.setWarehouseName(weighingManagement1.getWarehouseName());
+                paymentManagementService.insert(paymentManagement1);
+            }
+        }
         boolean one = this.updateById(weighingManagement);
         if (one) {
             return "OK";
@@ -138,47 +170,51 @@ public class WeighingManagementServiceImpl extends ServiceImpl<WeighingManagemen
             qualityInspectionManagement1.setStatusFlag(StatusEnum.TARED.getFlag());
             qualityInspectionManagementService.updateById(qualityInspectionManagement1);
         }
-        //查关联的付款信息
-        PaymentManagement paymentManagement=paymentManagementService.selectOne(new EntityWrapper<PaymentManagement>()
-        .eq("relation_id",weighingManagement1.getRelationId()));
-        if (paymentManagement!=null){
-            paymentManagement.setNetWeight(weighingManagement.getNetWeight());
-            paymentManagementService.updateById(paymentManagement);
-        }
-        else {
-            //生成付款信息
-            PaymentManagement paymentManagement1=new PaymentManagement();
-            paymentManagement1.setId(IdGenerator.generateUUID());
-            paymentManagement1.setRelationId(weighingManagement1.getRelationId());
-            paymentManagement1.setCompId(weighingManagement1.getCompId());
-            paymentManagement1.setPaymentNo(weighingManagement1.getNumber());
-            paymentManagement1.setCustomerName(weighingManagement1.getCustomer());
-            paymentManagement1.setCarNo(weighingManagement1.getCarNumber());
-            paymentManagement1.setType(weighingManagement1.getType());
-            paymentManagement1.setGoodsName(weighingManagement1.getGoodsName());
-            if ("潮粮".equals(weighingManagement1.getType())){
-                //查收购设置数据
-                PurchasePrice purchasePrice=purchasePriceService.selectOne(new EntityWrapper<PurchasePrice>()
-                        .eq("warehouse_id",weighingManagement.getWarehouseId())
-                .eq("goods_name",weighingManagement.getGoodsName()));
-                Float pureWeight=weighingManagement.getNetWeight()* (100-(Float.valueOf(qualityInspectionManagement1.getWaterContent())-purchasePrice.getWaterMin())*purchasePrice.getDeductWeight())/100;
-                paymentManagement1.setPureWeight(pureWeight);
+        //收购业务
+        if("1".equals(weighingManagement1.getManagementType())){
+            //查关联的付款信息
+            PaymentManagement paymentManagement=paymentManagementService.selectOne(new EntityWrapper<PaymentManagement>()
+                    .eq("relation_id",weighingManagement1.getRelationId()));
+            if (paymentManagement!=null){
+                paymentManagement.setNetWeight(weighingManagement.getNetWeight());
+                paymentManagementService.updateById(paymentManagement);
             }
-            paymentManagement1.setStatus(StatusEnum.TO_BE_SETTLED.getName());
-            paymentManagement1.setStatusFlag(StatusEnum.TO_BE_SETTLED.getFlag());
-            paymentManagement1.setNetWeight(weighingManagement.getNetWeight());
-            paymentManagement1.setWarehouseName(weighingManagement1.getWarehouseName());
-            //质检信息
-            QualityInspectionManagement qualityInspectionManagement = qualityInspectionManagementService.selectOne(new EntityWrapper<QualityInspectionManagement>()
-                    .eq("relation_id", weighingManagement1.getRelationId()));
-            if (qualityInspectionManagement!=null){
-                paymentManagement1.setTidalGrainPrice(qualityInspectionManagement.getTidalGrainPrice());
+            else {
+                //生成付款信息
+                PaymentManagement paymentManagement1=new PaymentManagement();
+                paymentManagement1.setId(IdGenerator.generateUUID());
+                paymentManagement1.setRelationId(weighingManagement1.getRelationId());
+                paymentManagement1.setCompId(weighingManagement1.getCompId());
+                paymentManagement1.setPaymentNo(weighingManagement1.getNumber());
+                paymentManagement1.setCustomerName(weighingManagement1.getCustomer());
+                paymentManagement1.setCarNo(weighingManagement1.getCarNumber());
+                paymentManagement1.setType(weighingManagement1.getType());
+                paymentManagement1.setGoodsName(weighingManagement1.getGoodsName());
+                if ("潮粮".equals(weighingManagement1.getType())){
+                    //查收购设置数据
+                    PurchasePrice purchasePrice=purchasePriceService.selectOne(new EntityWrapper<PurchasePrice>()
+                            .eq("warehouse_id",weighingManagement.getWarehouseId())
+                            .eq("goods_name",weighingManagement.getGoodsName()));
+                    Float pureWeight=weighingManagement.getNetWeight()* (100-(Float.valueOf(qualityInspectionManagement1.getWaterContent())-purchasePrice.getWaterMin())*purchasePrice.getDeductWeight())/100;
+                    paymentManagement1.setPureWeight(pureWeight);
+                }
+                paymentManagement1.setStatus(StatusEnum.TO_BE_SETTLED.getName());
+                paymentManagement1.setStatusFlag(StatusEnum.TO_BE_SETTLED.getFlag());
+                paymentManagement1.setNetWeight(weighingManagement.getNetWeight());
+                paymentManagement1.setManagementType("1");
+                paymentManagement1.setWarehouseName(weighingManagement1.getWarehouseName());
+                //质检信息
+                QualityInspectionManagement qualityInspectionManagement = qualityInspectionManagementService.selectOne(new EntityWrapper<QualityInspectionManagement>()
+                        .eq("relation_id", weighingManagement1.getRelationId()));
+                if (qualityInspectionManagement!=null){
+                    paymentManagement1.setTidalGrainPrice(qualityInspectionManagement.getTidalGrainPrice());
+                }
+                paymentManagementService.insert(paymentManagement1);
             }
-            paymentManagementService.insert(paymentManagement1);
         }
         boolean one = this.updateById(weighingManagement);
         if (one) {
-            return "OK";
+            return weighingManagement.getId();
         } else {
             return "NG";
         }
@@ -243,6 +279,7 @@ public class WeighingManagementServiceImpl extends ServiceImpl<WeighingManagemen
         String relationId=IdGenerator.generateUUID();
         weighingManagement.setId(IdGenerator.generateUUID());
         weighingManagement.setRelationId(relationId);
+        weighingManagement.setManagementType("3");
         //生成质检信息
         QualityInspectionManagement qualityInspectionManagement = new QualityInspectionManagement();
         qualityInspectionManagement.setId(IdGenerator.generateUUID());