ソースを参照

销售合同明细

24282 1 年間 前
コミット
2166b07acc

+ 1 - 1
hx-sale/src/main/java/com/fjhx/sale/controller/contract/ContractController.java

@@ -215,7 +215,7 @@ public class ContractController {
      * 获取合同历史联系方式
      */
     @PostMapping("/contactList")
-    List<Contract> contactList(@RequestBody ContractDto dto) {
+    public List<Contract> contactList(@RequestBody ContractDto dto) {
         return contractService.contactList(dto);
     }
 

+ 23 - 6
hx-sale/src/main/java/com/fjhx/sale/entity/contract/po/ContractProduct.java

@@ -1,15 +1,15 @@
 package com.fjhx.sale.entity.contract.po;
 
 import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
 import com.fjhx.file.entity.ObsFile;
 import com.ruoyi.common.core.domain.BasePo;
-import com.baomidou.mybatisplus.annotation.TableName;
-import java.math.BigDecimal;
-import java.util.List;
-
 import lombok.Getter;
 import lombok.Setter;
 
+import java.math.BigDecimal;
+import java.util.List;
+
 /**
  * <p>
  * 外销合同-产品
@@ -79,7 +79,6 @@ public class ContractProduct extends BasePo {
     @TableField(exist = false)
     private List<ObsFile> fileList;
 
-
     /**
      * 时间
      */
@@ -92,10 +91,28 @@ public class ContractProduct extends BasePo {
     @TableField(exist = false)
     private BigDecimal contractQuantity;
 
-
     /**
      * 月销售额
      */
     @TableField(exist = false)
     private BigDecimal contractAmount;
+
+    /**
+     * 产品编码
+     */
+    @TableField(exist = false)
+    private String productCode;
+
+    /**
+     * 产品中文名称
+     */
+    @TableField(exist = false)
+    private String productCnName;
+
+    /**
+     * 产品单位
+     */
+    @TableField(exist = false)
+    private String productUnit;
+
 }

+ 18 - 4
hx-sale/src/main/java/com/fjhx/sale/entity/contract/po/ContractShipment.java

@@ -1,18 +1,20 @@
 package com.fjhx.sale.entity.contract.po;
 
-import com.ruoyi.common.core.domain.BasePo;
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
-import java.math.BigDecimal;
-import java.util.Date;
+import com.ruoyi.common.core.domain.BasePo;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.math.BigDecimal;
+import java.util.Date;
+
 /**
  * <p>
  * 外销合同-出货计划
  * </p>
  *
- * @author 
+ * @author
  * @since 2023-04-17
  */
 @Getter
@@ -45,4 +47,16 @@ public class ContractShipment extends BasePo {
      */
     private String remark;
 
+    /**
+     * 产品编码
+     */
+    @TableField(exist = false)
+    private String productCode;
+
+    /**
+     * 产品中文名称
+     */
+    @TableField(exist = false)
+    private String productCnName;
+
 }

+ 11 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/contract/vo/ContractVo.java

@@ -2,6 +2,9 @@ package com.fjhx.sale.entity.contract.vo;
 
 import com.fjhx.file.entity.FileInfoVo;
 import com.fjhx.sale.entity.contract.po.Contract;
+import com.fjhx.sale.entity.contract.po.ContractProduct;
+import com.fjhx.sale.entity.contract.po.ContractProject;
+import com.fjhx.sale.entity.contract.po.ContractShipment;
 import lombok.Getter;
 import lombok.Setter;
 
@@ -123,5 +126,13 @@ public class ContractVo extends Contract {
     public BigDecimal getRefundMoney() {
         return sumClaimMoney;
     }
+
+
+    List<ContractProduct> contractProductList;
+
+    List<ContractProject> contractProjectList;
+
+    List<ContractShipment> contractShipmentList;
+
 }
 

+ 24 - 0
hx-sale/src/main/java/com/fjhx/sale/service/contract/impl/ContractServiceImpl.java

@@ -54,6 +54,7 @@ import com.fjhx.sale.entity.contract.dto.PayDecisionAidDto;
 import com.fjhx.sale.entity.contract.po.Contract;
 import com.fjhx.sale.entity.contract.po.ContractProduct;
 import com.fjhx.sale.entity.contract.po.ContractProject;
+import com.fjhx.sale.entity.contract.po.ContractShipment;
 import com.fjhx.sale.entity.contract.vo.*;
 import com.fjhx.sale.entity.purchase.vo.EhsdPurchaseProductVo;
 import com.fjhx.sale.entity.sale.vo.SaleQuotationVo;
@@ -62,6 +63,7 @@ import com.fjhx.sale.service.claim.ClaimContractService;
 import com.fjhx.sale.service.contract.ContractProductService;
 import com.fjhx.sale.service.contract.ContractProjectService;
 import com.fjhx.sale.service.contract.ContractService;
+import com.fjhx.sale.service.contract.ContractShipmentService;
 import com.fjhx.sale.service.purchase.EhsdPurchaseProductService;
 import com.ruoyi.common.core.domain.BaseIdPo;
 import com.ruoyi.common.core.domain.BasePo;
@@ -155,6 +157,9 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract>
     @Autowired
     private FlowExampleService flowExampleService;
 
+    @Autowired
+    private ContractShipmentService contractShipmentService;
+
     /**
      * 分页
      *
@@ -415,6 +420,25 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract>
     public ContractVo detail(Long id) {
         Contract Contract = this.getById(id);
         ContractVo result = BeanUtil.toBean(Contract, ContractVo.class);
+
+        List<ContractProduct> contractProductList = contractProductService.list(q -> q.eq(ContractProduct::getContractId, id));
+        productInfoService.attributeAssign(contractProductList, ContractProduct::getProductId, (item, product) -> {
+            item.setProductCnName(product.getName());
+            item.setProductCode(product.getCode());
+            item.setProductUnit(product.getUnit());
+        });
+        result.setContractProductList(contractProductList);
+
+        List<ContractProject> contractProjectList = contractProjectService.list(q -> q.eq(ContractProject::getContractId, id));
+        result.setContractProjectList(contractProjectList);
+
+        List<ContractShipment> contractShipmentList = contractShipmentService.list(q -> q.eq(ContractShipment::getContractId, id));
+        productInfoService.attributeAssign(contractShipmentList, ContractShipment::getProductId, (item, product) -> {
+            item.setProductCnName(product.getName());
+            item.setProductCode(product.getCode());
+        });
+        result.setContractShipmentList(contractShipmentList);
+
         return result;
     }