瀏覽代碼

退库接口、发票结算明细列表接口、驳回接口

xuezizhuo 11 月之前
父節點
當前提交
0078f82527
共有 35 個文件被更改,包括 1081 次插入77 次删除
  1. 18 0
      zkqy-custom-business/src/main/java/com/zkqy/business/controller/FinishedProductInvoiceController.java
  2. 113 0
      zkqy-custom-business/src/main/java/com/zkqy/business/controller/ProductColourController.java
  3. 9 4
      zkqy-custom-business/src/main/java/com/zkqy/business/controller/ProductInventoryController.java
  4. 16 0
      zkqy-custom-business/src/main/java/com/zkqy/business/controller/SaleAccountsReceivableDetailController.java
  5. 11 0
      zkqy-custom-business/src/main/java/com/zkqy/business/domain/ProductCodeList.java
  6. 82 0
      zkqy-custom-business/src/main/java/com/zkqy/business/domain/ProductColour.java
  7. 33 0
      zkqy-custom-business/src/main/java/com/zkqy/business/domain/SaleAccountsReceivableDetail.java
  8. 11 0
      zkqy-custom-business/src/main/java/com/zkqy/business/domain/SaleProducts.java
  9. 33 0
      zkqy-custom-business/src/main/java/com/zkqy/business/domain/SaleRegistrationCollection.java
  10. 11 0
      zkqy-custom-business/src/main/java/com/zkqy/business/domain/vo/ProductCodeListVO.java
  11. 15 0
      zkqy-custom-business/src/main/java/com/zkqy/business/domain/vo/SaleProductsVo.java
  12. 11 0
      zkqy-custom-business/src/main/java/com/zkqy/business/domain/vo/SaleRegistrationCollectionVo.java
  13. 9 2
      zkqy-custom-business/src/main/java/com/zkqy/business/mapper/FinishedProductInvoiceMapper.java
  14. 61 0
      zkqy-custom-business/src/main/java/com/zkqy/business/mapper/ProductColourMapper.java
  15. 10 0
      zkqy-custom-business/src/main/java/com/zkqy/business/mapper/ProductOutboundRecordBatchMapper.java
  16. 16 0
      zkqy-custom-business/src/main/java/com/zkqy/business/mapper/ProductOutboundRecordMapper.java
  17. 13 0
      zkqy-custom-business/src/main/java/com/zkqy/business/service/IFinishedProductInvoiceService.java
  18. 61 0
      zkqy-custom-business/src/main/java/com/zkqy/business/service/IProductColourService.java
  19. 6 0
      zkqy-custom-business/src/main/java/com/zkqy/business/service/IProductInventoryService.java
  20. 10 0
      zkqy-custom-business/src/main/java/com/zkqy/business/service/ISaleAccountsReceivableDetailService.java
  21. 13 0
      zkqy-custom-business/src/main/java/com/zkqy/business/service/impl/FinishedProductInvoiceServiceImpl.java
  22. 96 0
      zkqy-custom-business/src/main/java/com/zkqy/business/service/impl/ProductColourServiceImpl.java
  23. 31 0
      zkqy-custom-business/src/main/java/com/zkqy/business/service/impl/ProductInventoryServiceImpl.java
  24. 92 8
      zkqy-custom-business/src/main/java/com/zkqy/business/service/impl/SaleAccountsReceivableDetailServiceImpl.java
  25. 3 3
      zkqy-custom-business/src/main/java/com/zkqy/business/service/impl/SaleOrderServiceImpl.java
  26. 1 0
      zkqy-custom-business/src/main/java/com/zkqy/business/service/impl/SaleOtherCollectionServiceImpl.java
  27. 77 24
      zkqy-custom-business/src/main/java/com/zkqy/business/service/impl/SaleRegistrationCollectionServiceImpl.java
  28. 64 28
      zkqy-custom-business/src/main/resources/mapper/business/FinishedProductInvoiceMapper.xml
  29. 6 1
      zkqy-custom-business/src/main/resources/mapper/business/ProductCodeListMapper.xml
  30. 80 0
      zkqy-custom-business/src/main/resources/mapper/business/ProductColourMapper.xml
  31. 11 0
      zkqy-custom-business/src/main/resources/mapper/business/ProductOutboundRecordBatchMapper.xml
  32. 14 2
      zkqy-custom-business/src/main/resources/mapper/business/ProductOutboundRecordMapper.xml
  33. 19 1
      zkqy-custom-business/src/main/resources/mapper/business/SaleAccountsReceivableDetailMapper.xml
  34. 10 1
      zkqy-custom-business/src/main/resources/mapper/business/SaleProductsMapper.xml
  35. 15 3
      zkqy-custom-business/src/main/resources/mapper/business/SaleRegistrationCollectionMapper.xml

+ 18 - 0
zkqy-custom-business/src/main/java/com/zkqy/business/controller/FinishedProductInvoiceController.java

@@ -1,6 +1,7 @@
 package com.zkqy.business.controller;
 
 import java.util.List;
+import java.util.Map;
 import javax.servlet.http.HttpServletResponse;
 
 import com.zkqy.business.domain.vo.FinishedProductInvoiceVo;
@@ -112,4 +113,21 @@ public class FinishedProductInvoiceController extends BaseController
     {
         return toAjax(finishedProductInvoiceService.deleteFinishedProductInvoiceByIds(ids));
     }
+
+    /**
+     * 查询发票结算明细列表
+     */
+    @PostMapping("/selectBillingDetails")
+    public AjaxResult selectBillingDetails(@RequestBody Map<String,Object> map){
+        return AjaxResult.success(finishedProductInvoiceService.selectBillingDetails(map));
+    }
+
+    /**
+     * 发票结算明细详情
+     */
+    @GetMapping("/settlementDetail")
+    public AjaxResult settlementDetail(Long customerId){
+        return AjaxResult.success(finishedProductInvoiceService.settlementDetail(customerId));
+    }
+
 }

+ 113 - 0
zkqy-custom-business/src/main/java/com/zkqy/business/controller/ProductColourController.java

@@ -0,0 +1,113 @@
+package com.zkqy.business.controller;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.zkqy.common.annotation.Log;
+import com.zkqy.common.core.controller.BaseController;
+import com.zkqy.common.core.domain.AjaxResult;
+import com.zkqy.common.enums.BusinessType;
+import com.zkqy.business.domain.ProductColour;
+import com.zkqy.business.service.IProductColourService;
+import com.zkqy.common.utils.poi.ExcelUtil;
+import com.zkqy.common.core.page.TableDataInfo;
+
+/**
+ * 产品色泽Controller
+ *
+ * @author zkqy
+ * @date 2024-07-10
+ */
+@RestController
+@RequestMapping("/system/ProductColour")
+@Api(value = "/system/ProductColour", description = "产品色泽-接口")
+public class ProductColourController extends BaseController
+{
+    @Autowired
+    private IProductColourService productColourService;
+
+    /**
+     * 查询产品色泽列表
+     */
+    //@PreAuthorize("@ss.hasPermi('system:ProductColour:list')")
+    @GetMapping("/list")
+    @ApiOperation(value = "查询产品色泽列表")
+    public TableDataInfo list(ProductColour productColour)
+    {
+        startPage();
+        List<ProductColour> list = productColourService.selectProductColourList(productColour);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出产品色泽列表
+     */
+    @PreAuthorize("@ss.hasPermi('system:ProductColour:export')")
+    @Log(title = "产品色泽", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    @ApiOperation(value = "导出产品色泽列表")
+    public void export(HttpServletResponse response, ProductColour productColour)
+    {
+        List<ProductColour> list = productColourService.selectProductColourList(productColour);
+        ExcelUtil<ProductColour> util = new ExcelUtil<ProductColour>(ProductColour.class);
+        util.exportExcel(response, list, "产品色泽数据");
+    }
+
+    /**
+     * 获取产品色泽详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('system:ProductColour:query')")
+    @GetMapping(value = "/{id}")
+    @ApiOperation(value = "获取产品色泽详细信息")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(productColourService.selectProductColourById(id));
+    }
+
+    /**
+     * 新增产品色泽
+     */
+    @PreAuthorize("@ss.hasPermi('system:ProductColour:add')")
+    @Log(title = "产品色泽", businessType = BusinessType.INSERT)
+    @PostMapping
+    @ApiOperation(value = "新增产品色泽")
+    public AjaxResult add(@RequestBody ProductColour productColour)
+    {
+        return toAjax(productColourService.insertProductColour(productColour));
+    }
+
+    /**
+     * 修改产品色泽
+     */
+    @PreAuthorize("@ss.hasPermi('system:ProductColour:edit')")
+    @Log(title = "产品色泽", businessType = BusinessType.UPDATE)
+    @PutMapping
+    @ApiOperation(value = "修改产品色泽")
+    public AjaxResult edit(@RequestBody ProductColour productColour)
+    {
+        return toAjax(productColourService.updateProductColour(productColour));
+    }
+
+    /**
+     * 删除产品色泽
+     */
+    @PreAuthorize("@ss.hasPermi('system:ProductColour:remove')")
+    @Log(title = "产品色泽", businessType = BusinessType.DELETE)
+    @DeleteMapping("/{ids}")
+    @ApiOperation(value = "删除产品色泽")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(productColourService.deleteProductColourByIds(ids));
+    }
+}

+ 9 - 4
zkqy-custom-business/src/main/java/com/zkqy/business/controller/ProductInventoryController.java

@@ -6,9 +6,7 @@ import java.util.List;
 import java.util.Set;
 import javax.servlet.http.HttpServletResponse;
 
-import com.zkqy.business.domain.Customer;
-import com.zkqy.business.domain.ProductInvoice;
-import com.zkqy.business.domain.Production;
+import com.zkqy.business.domain.*;
 import com.zkqy.business.domain.vo.ProductCodeListVO;
 import com.zkqy.business.mapper.ProductionMapper;
 import com.zkqy.common.utils.DateUtils;
@@ -21,7 +19,6 @@ import com.zkqy.common.annotation.Log;
 import com.zkqy.common.core.controller.BaseController;
 import com.zkqy.common.core.domain.AjaxResult;
 import com.zkqy.common.enums.BusinessType;
-import com.zkqy.business.domain.ProductInventory;
 import com.zkqy.business.service.IProductInventoryService;
 import com.zkqy.common.utils.poi.ExcelUtil;
 import com.zkqy.common.core.page.TableDataInfo;
@@ -227,4 +224,12 @@ public class ProductInventoryController extends BaseController {
         return AjaxResult.success(productInventoryService.statisticsSuttleByLevels(productType));
     }
 
+    /**
+     * 退库
+     */
+    @PostMapping("/returnStorage")
+    public AjaxResult returnStorage(@RequestBody List<ProductCodeListVO> productCodeListVOList){
+        return productInventoryService.returnStorage(productCodeListVOList);
+    }
+
 }

+ 16 - 0
zkqy-custom-business/src/main/java/com/zkqy/business/controller/SaleAccountsReceivableDetailController.java

@@ -153,6 +153,22 @@ public class SaleAccountsReceivableDetailController extends BaseController
         return toAjax(saleAccountsReceivableDetailService.cancelBilling(vo));
     }
 
+    /**
+     * 驳回
+     */
+    @PostMapping("/reject")
+    public AjaxResult reject(@RequestBody SaleAccountsReceivableDetail saleAccountsReceivableDetail){
+        return toAjax(saleAccountsReceivableDetailService.reject(saleAccountsReceivableDetail));
+    }
+
+    /**
+     * 撤销登账
+     */
+    @PostMapping("/cancelAccountEntry")
+    public AjaxResult cancelAccountEntry(@RequestBody SaleAccountsReceivableDetail saleAccountsReceivableDetail){
+        return toAjax(saleAccountsReceivableDetailService.cancelAccountEntry(saleAccountsReceivableDetail));
+    }
+
 
 
 }

+ 11 - 0
zkqy-custom-business/src/main/java/com/zkqy/business/domain/ProductCodeList.java

@@ -118,6 +118,17 @@ public class ProductCodeList extends BaseEntity
     //码单uuid
     private String qrCodeId;
 
+    /** 退库标识 */
+    private String withdrawingFlag;
+
+    public String getWithdrawingFlag() {
+        return withdrawingFlag;
+    }
+
+    public void setWithdrawingFlag(String withdrawingFlag) {
+        this.withdrawingFlag = withdrawingFlag;
+    }
+
     public String getQrCodeId() {
         return qrCodeId;
     }

+ 82 - 0
zkqy-custom-business/src/main/java/com/zkqy/business/domain/ProductColour.java

@@ -0,0 +1,82 @@
+package com.zkqy.business.domain;
+
+import com.zkqy.common.core.domain.BaseEntity;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.zkqy.common.annotation.Excel;
+
+/**
+ * 产品色泽对象 product_colour
+ * 
+ * @author zkqy
+ * @date 2024-07-10
+ */
+public class ProductColour extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 编号 */
+    private Long id;
+
+    /** 色泽 */
+    @Excel(name = "色泽")
+    private String colour;
+
+    /** 创建者ID */
+    private Long createById;
+
+    /** 更新者ID */
+    private Long updateById;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+    public void setColour(String colour) 
+    {
+        this.colour = colour;
+    }
+
+    public String getColour() 
+    {
+        return colour;
+    }
+    public void setCreateById(Long createById) 
+    {
+        this.createById = createById;
+    }
+
+    public Long getCreateById() 
+    {
+        return createById;
+    }
+    public void setUpdateById(Long updateById) 
+    {
+        this.updateById = updateById;
+    }
+
+    public Long getUpdateById() 
+    {
+        return updateById;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("colour", getColour())
+            .append("remark", getRemark())
+            .append("createBy", getCreateBy())
+            .append("createById", getCreateById())
+            .append("createTime", getCreateTime())
+            .append("updateBy", getUpdateBy())
+            .append("updateById", getUpdateById())
+            .append("updateTime", getUpdateTime())
+            .toString();
+    }
+}

+ 33 - 0
zkqy-custom-business/src/main/java/com/zkqy/business/domain/SaleAccountsReceivableDetail.java

@@ -174,6 +174,39 @@ public class SaleAccountsReceivableDetail extends BaseEntity
     /** 发票类型 */
     private String invoiceType;
 
+    /** 贴息金额 */
+    private Double interestSubsidy;
+
+    /** 其他收款编号 */
+    private Long otherCollectionId;
+
+    /** 批次 */
+    private Long batchNumber;
+
+    public Long getBatchNumber() {
+        return batchNumber;
+    }
+
+    public void setBatchNumber(Long batchNumber) {
+        this.batchNumber = batchNumber;
+    }
+
+    public Long getOtherCollectionId() {
+        return otherCollectionId;
+    }
+
+    public void setOtherCollectionId(Long otherCollectionId) {
+        this.otherCollectionId = otherCollectionId;
+    }
+
+    public Double getInterestSubsidy() {
+        return interestSubsidy;
+    }
+
+    public void setInterestSubsidy(Double interestSubsidy) {
+        this.interestSubsidy = interestSubsidy;
+    }
+
     public Long getFinishedProductInvoiceId() {
         return finishedProductInvoiceId;
     }

+ 11 - 0
zkqy-custom-business/src/main/java/com/zkqy/business/domain/SaleProducts.java

@@ -103,6 +103,17 @@ public class SaleProducts extends BaseEntity
     /** 上机状态 */
     private String onBoardState;
 
+    /** 色泽 */
+    @Excel(name = "色泽")
+    private String colours;
+
+    public String getColours() {
+        return colours;
+    }
+
+    public void setColours(String colours) {
+        this.colours = colours;
+    }
 
     public String getOnBoardState() {
         return onBoardState;

+ 33 - 0
zkqy-custom-business/src/main/java/com/zkqy/business/domain/SaleRegistrationCollection.java

@@ -61,12 +61,45 @@ public class SaleRegistrationCollection extends BaseEntity
     /** 删除标志(0:否;2:是) */
     private String delFlag;
 
+    /** 贴息 */
+    private Double interestSubsidy;
+
+    /** 计息天数 */
+    private String interestCountingDays;
+
+    /** 票据到期日 */
+    private Date dueDate;
+
     //开始时间
     private Date startTime;
 
     // 结束时间
     private Date endTime;
 
+    public Double getInterestSubsidy() {
+        return interestSubsidy;
+    }
+
+    public void setInterestSubsidy(Double interestSubsidy) {
+        this.interestSubsidy = interestSubsidy;
+    }
+
+    public String getInterestCountingDays() {
+        return interestCountingDays;
+    }
+
+    public void setInterestCountingDays(String interestCountingDays) {
+        this.interestCountingDays = interestCountingDays;
+    }
+
+    public Date getDueDate() {
+        return dueDate;
+    }
+
+    public void setDueDate(Date dueDate) {
+        this.dueDate = dueDate;
+    }
+
     public String getStatus() {
         return status;
     }

+ 11 - 0
zkqy-custom-business/src/main/java/com/zkqy/business/domain/vo/ProductCodeListVO.java

@@ -263,6 +263,17 @@ public class ProductCodeListVO extends BaseEntity {
 
     private String productNo;
 
+    /** 退库标识 */
+    private String withdrawingFlag;
+
+    public String getWithdrawingFlag() {
+        return withdrawingFlag;
+    }
+
+    public void setWithdrawingFlag(String withdrawingFlag) {
+        this.withdrawingFlag = withdrawingFlag;
+    }
+
     public String getProductNo() {
         return productNo;
     }

+ 15 - 0
zkqy-custom-business/src/main/java/com/zkqy/business/domain/vo/SaleProductsVo.java

@@ -1,6 +1,7 @@
 package com.zkqy.business.domain.vo;
 
 import com.zkqy.business.domain.SaleProducts;
+import com.zkqy.common.annotation.Excel;
 
 public class SaleProductsVo extends SaleProducts {
 
@@ -52,6 +53,10 @@ public class SaleProductsVo extends SaleProducts {
     /** 销售单号 */
     private String saleNo;
 
+    /** 色泽 */
+    private String colours;
+
+
     @Override
     public String getProductNo() {
         return productNo;
@@ -191,4 +196,14 @@ public class SaleProductsVo extends SaleProducts {
     public void setProductNumber(Double productNumber) {
         this.productNumber = productNumber;
     }
+
+    @Override
+    public String getColours() {
+        return colours;
+    }
+
+    @Override
+    public void setColours(String colours) {
+        this.colours = colours;
+    }
 }

+ 11 - 0
zkqy-custom-business/src/main/java/com/zkqy/business/domain/vo/SaleRegistrationCollectionVo.java

@@ -63,6 +63,17 @@ public class SaleRegistrationCollectionVo extends BaseEntity {
     // 客户编码
     private String customNo;
 
+    /** 贴息金额 */
+    private Double interestSubsidy;
+
+    public Double getInterestSubsidy() {
+        return interestSubsidy;
+    }
+
+    public void setInterestSubsidy(Double interestSubsidy) {
+        this.interestSubsidy = interestSubsidy;
+    }
+
     public String getCustomNo() {
         return customNo;
     }

+ 9 - 2
zkqy-custom-business/src/main/java/com/zkqy/business/mapper/FinishedProductInvoiceMapper.java

@@ -6,6 +6,7 @@ import java.util.Map;
 
 import com.zkqy.business.domain.FinishedProductInvoice;
 import com.zkqy.business.domain.vo.FinishedProductInvoiceVo;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * 成品发票Mapper接口
@@ -70,10 +71,16 @@ public interface FinishedProductInvoiceMapper
 
     /**
      * 查询发票结算明细列表
-     * @param qcDate
+     * @param qcDate 期初日期
+     * @param startDate 时间范围 开始时间
+     * @param endDate 结束时间
+     * @param customerId 客户编号
+     * @param settlementUnitId 结算单位编号
      * @return
      */
-    List<Map<String,Object>> selectBillingDetails(Date qcDate);
+//    List<Map<String,Object>> selectBillingDetails(@Param("qcDate") Date qcDate,@Param("startDate") Date startDate,
+//                                                  @Param("endDate") Date endDate,@Param("customerId") Long customerId,@Param("settlementUnitId") Long settlementUnitId);
+    List<Map<String,Object>> selectBillingDetails(Map<String,Object> map);
 
 
 }

+ 61 - 0
zkqy-custom-business/src/main/java/com/zkqy/business/mapper/ProductColourMapper.java

@@ -0,0 +1,61 @@
+package com.zkqy.business.mapper;
+
+import java.util.List;
+import com.zkqy.business.domain.ProductColour;
+
+/**
+ * 产品色泽Mapper接口
+ * 
+ * @author zkqy
+ * @date 2024-07-10
+ */
+public interface ProductColourMapper 
+{
+    /**
+     * 查询产品色泽
+     * 
+     * @param id 产品色泽主键
+     * @return 产品色泽
+     */
+    public ProductColour selectProductColourById(Long id);
+
+    /**
+     * 查询产品色泽列表
+     * 
+     * @param productColour 产品色泽
+     * @return 产品色泽集合
+     */
+    public List<ProductColour> selectProductColourList(ProductColour productColour);
+
+    /**
+     * 新增产品色泽
+     * 
+     * @param productColour 产品色泽
+     * @return 结果
+     */
+    public int insertProductColour(ProductColour productColour);
+
+    /**
+     * 修改产品色泽
+     * 
+     * @param productColour 产品色泽
+     * @return 结果
+     */
+    public int updateProductColour(ProductColour productColour);
+
+    /**
+     * 删除产品色泽
+     * 
+     * @param id 产品色泽主键
+     * @return 结果
+     */
+    public int deleteProductColourById(Long id);
+
+    /**
+     * 批量删除产品色泽
+     * 
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteProductColourByIds(Long[] ids);
+}

+ 10 - 0
zkqy-custom-business/src/main/java/com/zkqy/business/mapper/ProductOutboundRecordBatchMapper.java

@@ -2,6 +2,7 @@ package com.zkqy.business.mapper;
 
 import java.util.List;
 import com.zkqy.business.domain.ProductOutboundRecordBatch;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * 成品出库记录批次Mapper接口
@@ -70,4 +71,13 @@ public interface ProductOutboundRecordBatchMapper
      * @return 结果
      */
     int batchInsertProductOutboundRecordBatch(List<ProductOutboundRecordBatch> productOutboundRecordBatchList);
+
+    /**
+     * 查询通知单没批出库货品信息
+     * @param batchNumber
+     * @param noticeNumber
+     * @return
+     */
+    List<Long> selectOutboundRecordIdByBatchNumber(@Param("batchNumber") Long batchNumber,@Param("noticeNumber") String noticeNumber);
+
 }

+ 16 - 0
zkqy-custom-business/src/main/java/com/zkqy/business/mapper/ProductOutboundRecordMapper.java

@@ -119,4 +119,20 @@ public interface ProductOutboundRecordMapper
      */
     List<Long> selectOutboundRecordNo(String noticeNumber);
 
+    /**
+     * 查询成品出库记录
+     *
+     * @param qrCodeId 成品出库记录主键
+     * @return 成品出库记录
+     */
+    ProductOutboundRecord selectProductOutboundRecordByQrCodeId(String qrCodeId);
+
+    /**
+     * 查询成品出库记录
+     *
+     * @param ids 成品出库记录
+     * @return 成品出库记录集合
+     */
+    List<ProductOutboundRecord> selectProductOutboundRecordListByIds(List<Long> ids);
+
 }

+ 13 - 0
zkqy-custom-business/src/main/java/com/zkqy/business/service/IFinishedProductInvoiceService.java

@@ -1,6 +1,9 @@
 package com.zkqy.business.service;
 
+import java.util.Date;
 import java.util.List;
+import java.util.Map;
+
 import com.zkqy.business.domain.FinishedProductInvoice;
 import com.zkqy.business.domain.vo.FinishedProductInvoiceVo;
 
@@ -68,4 +71,14 @@ public interface IFinishedProductInvoiceService
      */
     public List<FinishedProductInvoiceVo> selectFinishedProductInvoiceList1(FinishedProductInvoice finishedProductInvoice);
 
+    /**
+     * 查询发票结算明细列表
+     */
+    List<Map<String,Object>> selectBillingDetails(Map<String,Object> map);
+
+    /**
+     * 发票结算明细详情
+     */
+    List<FinishedProductInvoiceVo> settlementDetail(Long customerId);
+
 }

+ 61 - 0
zkqy-custom-business/src/main/java/com/zkqy/business/service/IProductColourService.java

@@ -0,0 +1,61 @@
+package com.zkqy.business.service;
+
+import java.util.List;
+import com.zkqy.business.domain.ProductColour;
+
+/**
+ * 产品色泽Service接口
+ * 
+ * @author zkqy
+ * @date 2024-07-10
+ */
+public interface IProductColourService 
+{
+    /**
+     * 查询产品色泽
+     * 
+     * @param id 产品色泽主键
+     * @return 产品色泽
+     */
+    public ProductColour selectProductColourById(Long id);
+
+    /**
+     * 查询产品色泽列表
+     * 
+     * @param productColour 产品色泽
+     * @return 产品色泽集合
+     */
+    public List<ProductColour> selectProductColourList(ProductColour productColour);
+
+    /**
+     * 新增产品色泽
+     * 
+     * @param productColour 产品色泽
+     * @return 结果
+     */
+    public int insertProductColour(ProductColour productColour);
+
+    /**
+     * 修改产品色泽
+     * 
+     * @param productColour 产品色泽
+     * @return 结果
+     */
+    public int updateProductColour(ProductColour productColour);
+
+    /**
+     * 批量删除产品色泽
+     * 
+     * @param ids 需要删除的产品色泽主键集合
+     * @return 结果
+     */
+    public int deleteProductColourByIds(Long[] ids);
+
+    /**
+     * 删除产品色泽信息
+     * 
+     * @param id 产品色泽主键
+     * @return 结果
+     */
+    public int deleteProductColourById(Long id);
+}

+ 6 - 0
zkqy-custom-business/src/main/java/com/zkqy/business/service/IProductInventoryService.java

@@ -109,4 +109,10 @@ public interface IProductInventoryService {
      */
     Map<String,Object> statisticsSuttleByLevels(String productType);
 
+    /**
+     * 退库
+     * @param productCodeListVO
+     * @return
+     */
+    AjaxResult returnStorage(List<ProductCodeListVO> productCodeListVOList);
 }

+ 10 - 0
zkqy-custom-business/src/main/java/com/zkqy/business/service/ISaleAccountsReceivableDetailService.java

@@ -87,4 +87,14 @@ public interface ISaleAccountsReceivableDetailService
      */
     int cancelBilling(FinishedProductInvoiceVo vo);
 
+    /**
+     * 驳回
+     */
+    int reject(SaleAccountsReceivableDetail saleAccountsReceivableDetail);
+
+    /**
+     * 撤销登账
+     */
+    int cancelAccountEntry(SaleAccountsReceivableDetail saleAccountsReceivableDetail);
+
 }

+ 13 - 0
zkqy-custom-business/src/main/java/com/zkqy/business/service/impl/FinishedProductInvoiceServiceImpl.java

@@ -1,6 +1,8 @@
 package com.zkqy.business.service.impl;
 
+import java.util.Date;
 import java.util.List;
+import java.util.Map;
 
 import com.zkqy.business.domain.vo.FinishedProductInvoiceVo;
 import com.zkqy.common.utils.DateUtils;
@@ -100,4 +102,15 @@ public class FinishedProductInvoiceServiceImpl implements IFinishedProductInvoic
     public List<FinishedProductInvoiceVo> selectFinishedProductInvoiceList1(FinishedProductInvoice finishedProductInvoice) {
         return finishedProductInvoiceMapper.selectFinishedProductInvoiceList1(finishedProductInvoice);
     }
+
+    @Override
+    public List<Map<String, Object>> selectBillingDetails(Map<String,Object> map) {
+
+        return finishedProductInvoiceMapper.selectBillingDetails(map);
+    }
+
+    @Override
+    public List<FinishedProductInvoiceVo> settlementDetail(Long customerId) {
+        return null;
+    }
 }

+ 96 - 0
zkqy-custom-business/src/main/java/com/zkqy/business/service/impl/ProductColourServiceImpl.java

@@ -0,0 +1,96 @@
+package com.zkqy.business.service.impl;
+
+import java.util.List;
+import com.zkqy.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.zkqy.business.mapper.ProductColourMapper;
+import com.zkqy.business.domain.ProductColour;
+import com.zkqy.business.service.IProductColourService;
+
+/**
+ * 产品色泽Service业务层处理
+ * 
+ * @author zkqy
+ * @date 2024-07-10
+ */
+@Service
+public class ProductColourServiceImpl implements IProductColourService 
+{
+    @Autowired
+    private ProductColourMapper productColourMapper;
+
+    /**
+     * 查询产品色泽
+     * 
+     * @param id 产品色泽主键
+     * @return 产品色泽
+     */
+    @Override
+    public ProductColour selectProductColourById(Long id)
+    {
+        return productColourMapper.selectProductColourById(id);
+    }
+
+    /**
+     * 查询产品色泽列表
+     * 
+     * @param productColour 产品色泽
+     * @return 产品色泽
+     */
+    @Override
+    public List<ProductColour> selectProductColourList(ProductColour productColour)
+    {
+        return productColourMapper.selectProductColourList(productColour);
+    }
+
+    /**
+     * 新增产品色泽
+     * 
+     * @param productColour 产品色泽
+     * @return 结果
+     */
+    @Override
+    public int insertProductColour(ProductColour productColour)
+    {
+        productColour.setCreateTime(DateUtils.getNowDate());
+        return productColourMapper.insertProductColour(productColour);
+    }
+
+    /**
+     * 修改产品色泽
+     * 
+     * @param productColour 产品色泽
+     * @return 结果
+     */
+    @Override
+    public int updateProductColour(ProductColour productColour)
+    {
+        productColour.setUpdateTime(DateUtils.getNowDate());
+        return productColourMapper.updateProductColour(productColour);
+    }
+
+    /**
+     * 批量删除产品色泽
+     * 
+     * @param ids 需要删除的产品色泽主键
+     * @return 结果
+     */
+    @Override
+    public int deleteProductColourByIds(Long[] ids)
+    {
+        return productColourMapper.deleteProductColourByIds(ids);
+    }
+
+    /**
+     * 删除产品色泽信息
+     * 
+     * @param id 产品色泽主键
+     * @return 结果
+     */
+    @Override
+    public int deleteProductColourById(Long id)
+    {
+        return productColourMapper.deleteProductColourById(id);
+    }
+}

+ 31 - 0
zkqy-custom-business/src/main/java/com/zkqy/business/service/impl/ProductInventoryServiceImpl.java

@@ -433,6 +433,37 @@ public class ProductInventoryServiceImpl implements IProductInventoryService {
         return result;
     }
 
+    @Transactional
+    @Override
+    public AjaxResult returnStorage(List<ProductCodeListVO> productCodeListVOList) {
+
+        for (ProductCodeListVO productCodeListVO : productCodeListVOList){
+            // 判断当前货品是否已出库,出库删除出库记录
+            ProductOutboundRecord productOutboundRecord = productOutboundRecordMapper.selectProductOutboundRecordByQrCodeId(productCodeListVO.getQrCodeId());
+            if (productOutboundRecord == null){
+                return AjaxResult.warn("当前货品未出库");
+            }
+            // 库存累加
+            ProductInventory productInventory = productInventoryMapper.selectProductInventoryByQrCode(productCodeListVO.getQrCode());
+            ProductInventory editProductInventory = new ProductInventory();
+            editProductInventory.setId(productInventory.getId());//编号
+            editProductInventory.setTotalCanisterNum(productInventory.getTotalCanisterNum() + productOutboundRecord.getCanisterNum());//合计筒数
+            editProductInventory.setTotalBoxNum(productInventory.getTotalBoxNum() + 1);//合计箱数
+            editProductInventory.setTotalSuttle(handlingWeight(productInventory.getTotalSuttle() + productOutboundRecord.getSuttle()));//合计净重
+            editProductInventory.setTotalGrossWeight(handlingWeight(productInventory.getTotalGrossWeight() + productOutboundRecord.getGrossWeight()));//合计毛重
+            productInventoryMapper.updateProductInventory(editProductInventory);
+
+            // 修改码单标识为已退库
+            ProductCodeList productCodeList = productCodeListMapper.selectProductCodeListById(productCodeListVO.getId());
+            productCodeList.setWithdrawingFlag("1");
+            productCodeListMapper.updateProductCodeList(productCodeList);
+
+            // 删除出库记录
+            productOutboundRecordMapper.deleteProductOutboundRecordById(productOutboundRecord.getId());
+        }
+        return AjaxResult.success();
+    }
+
 
     //保留两位小数
     public Double handlingWeight(Double weight) {

+ 92 - 8
zkqy-custom-business/src/main/java/com/zkqy/business/service/impl/SaleAccountsReceivableDetailServiceImpl.java

@@ -3,20 +3,14 @@ package com.zkqy.business.service.impl;
 import java.text.DecimalFormat;
 import java.util.List;
 
-import com.zkqy.business.domain.Customer;
-import com.zkqy.business.domain.FinishedProductInvoice;
-import com.zkqy.business.domain.SaleOrder;
+import com.zkqy.business.domain.*;
 import com.zkqy.business.domain.vo.FinishedProductInvoiceVo;
-import com.zkqy.business.mapper.CustomerMapper;
-import com.zkqy.business.mapper.FinishedProductInvoiceMapper;
-import com.zkqy.business.mapper.SaleOrderMapper;
+import com.zkqy.business.mapper.*;
 import com.zkqy.common.utils.DateUtils;
 import com.zkqy.common.utils.SecurityUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import com.zkqy.business.mapper.SaleAccountsReceivableDetailMapper;
-import com.zkqy.business.domain.SaleAccountsReceivableDetail;
 import com.zkqy.business.service.ISaleAccountsReceivableDetailService;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -41,6 +35,15 @@ public class SaleAccountsReceivableDetailServiceImpl implements ISaleAccountsRec
     @Autowired
     private FinishedProductInvoiceMapper finishedProductInvoiceMapper;
 
+    @Autowired
+    private SaleOtherCollectionMapper saleOtherCollectionMapper;
+
+    @Autowired
+    private ProductOutboundRecordBatchMapper productOutboundRecordBatchMapper;
+
+    @Autowired
+    private ProductOutboundRecordMapper productOutboundRecordMapper;
+
     /**
      * 查询应收帐明细
      * 
@@ -240,6 +243,87 @@ public class SaleAccountsReceivableDetailServiceImpl implements ISaleAccountsRec
         return saleAccountsReceivableDetailMapper.updateSaleAccountsReceivableDetail(saleAccountsReceivableDetail);
     }
 
+    @Override
+    @Transactional
+    public int reject(SaleAccountsReceivableDetail saleAccountsReceivableDetail) {
+        // 修改其他收款状态
+        SaleOtherCollection saleOtherCollection = new SaleOtherCollection();
+        saleOtherCollection.setId(saleAccountsReceivableDetail.getOtherCollectionId());
+        saleOtherCollection.setStatus(saleAccountsReceivableDetail.getStatus());
+        saleOtherCollectionMapper.updateSaleOtherCollection(saleOtherCollection);
+        // 删除收款明细
+        saleAccountsReceivableDetailMapper.deleteSaleAccountsReceivableDetailById(saleAccountsReceivableDetail.getId());
+
+        // 计算客户余额
+        //查询该客户所有的应收帐明细
+        SaleAccountsReceivableDetail saleAccountsReceivableDetail1 = new SaleAccountsReceivableDetail();
+        saleAccountsReceivableDetail1.setCustomerId(saleAccountsReceivableDetail.getCustomerId());
+        saleAccountsReceivableDetail1.setStatus("2");//审核通过明细
+        List<SaleAccountsReceivableDetail> list = saleAccountsReceivableDetailMapper.selectAccountsReceivableDetailList(saleAccountsReceivableDetail1);
+
+
+        //根据客户编号查询客户信息和余额
+        Customer customer = customerMapper.selectCustomerById(saleAccountsReceivableDetail.getCustomerId());
+        //客户余额
+        Double amount = 0.0;
+
+        for (SaleAccountsReceivableDetail detail : list){
+            //如果是账务类型是收款或其他收款
+            if(detail.getAccountingType().equals("2") || detail.getAccountingType().equals("3")){
+                //减后余额
+                Double addAmount = amount - detail.getReceivedAmount();
+                amount -= detail.getReceivedAmount();//已收
+                detail.setAmounts(handlingWeight(addAmount));
+                saleAccountsReceivableDetailMapper.updateSaleAccountsReceivableDetail(detail);
+
+            }else {
+                //加后余额
+                Double subtractAmount = amount + detail.getAmountReceivable();
+                amount += detail.getAmountReceivable();
+                detail.setAmounts(handlingWeight(subtractAmount));
+                saleAccountsReceivableDetailMapper.updateSaleAccountsReceivableDetail(detail);
+            }
+        }
+
+        // 修改客户余额
+        customer.setAmount(amount);
+
+        return customerMapper.updateCustomer(customer);
+    }
+
+    @Transactional
+    @Override
+    public int cancelAccountEntry(SaleAccountsReceivableDetail saleAccountsReceivableDetail) {
+
+        // 查询当前批次出库记录编号
+        List<Long> ids = productOutboundRecordBatchMapper.selectOutboundRecordIdByBatchNumber(saleAccountsReceivableDetail.getBatchNumber(),
+                saleAccountsReceivableDetail.getNoticeNumber());
+        // 根据编号查询出库记录
+        List<ProductOutboundRecord> productOutboundRecords = productOutboundRecordMapper.selectProductOutboundRecordListByIds(ids);
+
+        for (ProductOutboundRecord productOutboundRecord : productOutboundRecords){
+            if (productOutboundRecord.getProductId() == saleAccountsReceivableDetail.getProductId() &&
+                productOutboundRecord.getProductColour().equals(saleAccountsReceivableDetail.getProductColour()) &&
+                    productOutboundRecord.getLevels().equals(saleAccountsReceivableDetail.getProductLevel()) &&
+                            productOutboundRecord.getLotNum().equals(saleAccountsReceivableDetail.getLotNumber())){
+
+
+            }
+
+
+        }
+
+
+        // 删除收款明细
+        saleAccountsReceivableDetailMapper.deleteSaleAccountsReceivableDetailById(saleAccountsReceivableDetail.getId());
+
+
+
+        // 修改客户余额
+
+        return 0;
+    }
+
 
     //保留两位小数
     public Double handlingWeight(Double weight) {

+ 3 - 3
zkqy-custom-business/src/main/java/com/zkqy/business/service/impl/SaleOrderServiceImpl.java

@@ -455,7 +455,8 @@ public class SaleOrderServiceImpl implements ISaleOrderService {
     @Override
     @Transactional
     public int printOutsourceOrder(List<SaleAccountsReceivableDetail> saleAccountsReceivableDetailList) {
-
+        // 查询当前批次出库记录
+        Long batchNumber = productOutboundRecordBatchMapper.selectBatchNumberByNoticeNumber(saleAccountsReceivableDetailList.get(0).getNoticeNumber());
         //根据销售单号查询销售单详情
         SaleOrder saleOrder = saleOrderMapper.selectSaleOrderBySaleNo(saleAccountsReceivableDetailList.get(0).getSaleNo());
         //根据客户编号查询客户信息和余额
@@ -469,6 +470,7 @@ public class SaleOrderServiceImpl implements ISaleOrderService {
             Double subtractAmount = amount + saleAccountsReceivableDetail.getAmountReceivable();
             amount += saleAccountsReceivableDetail.getAmountReceivable();
             saleAccountsReceivableDetail.setAmounts(handlingWeight(subtractAmount));
+            saleAccountsReceivableDetail.setBatchNumber(batchNumber);
             saleAccountsReceivableDetail.setCreateBy(SecurityUtils.getUsername());
             saleAccountsReceivableDetail.setCreateById(SecurityUtils.getUserId());
             saleAccountsReceivableDetail.setCreateTime(DateUtils.getNowDate());
@@ -480,8 +482,6 @@ public class SaleOrderServiceImpl implements ISaleOrderService {
         List<Long> list = productOutboundRecordMapper.selectOutboundRecordNo(saleAccountsReceivableDetailList.get(0).getNoticeNumber());
         if(list.size() > 0){
             List<ProductOutboundRecordBatch> productOutboundRecordBatchList = new ArrayList<>();
-            // 查询当前批次出库记录
-            Long batchNumber = productOutboundRecordBatchMapper.selectBatchNumberByNoticeNumber(saleAccountsReceivableDetailList.get(0).getNoticeNumber());
             for (Long id : list){
                 ProductOutboundRecordBatch productOutboundRecordBatch = new ProductOutboundRecordBatch();
                 productOutboundRecordBatch.setBatchNumber(batchNumber);

+ 1 - 0
zkqy-custom-business/src/main/java/com/zkqy/business/service/impl/SaleOtherCollectionServiceImpl.java

@@ -146,6 +146,7 @@ public class SaleOtherCollectionServiceImpl implements ISaleOtherCollectionServi
         saleAccountsReceivableDetail.setStatus("2");
         saleAccountsReceivableDetail.setReturnReceipt("0");
         saleAccountsReceivableDetail.setSettlementUnit(saleOtherCollection.getSettlementUnitId());
+        saleAccountsReceivableDetail.setOtherCollectionId(saleOtherCollection.getId());
         return saleAccountsReceivableDetailMapper.insertSaleAccountsReceivableDetail(saleAccountsReceivableDetail);
     }
 

+ 77 - 24
zkqy-custom-business/src/main/java/com/zkqy/business/service/impl/SaleRegistrationCollectionServiceImpl.java

@@ -125,35 +125,88 @@ public class SaleRegistrationCollectionServiceImpl implements ISaleRegistrationC
         //修改收款登记状态、已记账标志
         saleRegistrationCollection.setBookkeepingFlag("1");//已记账
         saleRegistrationCollectionMapper.updateSaleRegistrationCollection(saleRegistrationCollection);
-
         //修改客户余额
         //根据客户编号查询客户信息和余额
         Customer customer = customerMapper.selectCustomerById(saleRegistrationCollection.getCustomerId());
         //客户余额
         Double amount = customer.getAmount();
-        //减后余额
-        Double addedBalance = amount - saleRegistrationCollection.getAmounts();
-        customer.setAmount(handlingWeight(addedBalance));
-        customerMapper.updateCustomer(customer);
-
-        // 添加应收明细
-        SaleAccountsReceivableDetail saleAccountsReceivableDetail = new SaleAccountsReceivableDetail();
-        saleAccountsReceivableDetail.setAccountingType("2");// 账务类型
-        saleAccountsReceivableDetail.setCustomerId(saleRegistrationCollection.getCustomerId());// 客户名称
-        saleAccountsReceivableDetail.setAccountsReceivableDate(saleRegistrationCollection.getCollectionMoneyDate()); // 日期
-        saleAccountsReceivableDetail.setBoxNum(0L); // 箱数
-        saleAccountsReceivableDetail.setWeight(0.00);//重量
-        saleAccountsReceivableDetail.setProductPrice(0.00);//单价
-        saleAccountsReceivableDetail.setAmountReceivable(0.00);//应收金额
-        saleAccountsReceivableDetail.setReceivedAmount(saleRegistrationCollection.getAmounts());//已收金额
-        saleAccountsReceivableDetail.setAmounts(handlingWeight(addedBalance));//余额
-        saleAccountsReceivableDetail.setPaymentMethod(saleRegistrationCollection.getPaymentMethod());//付款方式
-        saleAccountsReceivableDetail.setBillingType("1");//开票类型
-        saleAccountsReceivableDetail.setAccountsReceivableRemark(saleRegistrationCollection.getRemark());//备注
-        saleAccountsReceivableDetail.setStatus("2");
-        saleAccountsReceivableDetail.setSettlementUnit(saleRegistrationCollection.getSettlementUnitId());//结算单位
-        saleAccountsReceivableDetail.setReturnReceipt("0");
-        return saleAccountsReceivableDetailMapper.insertSaleAccountsReceivableDetail(saleAccountsReceivableDetail);
+
+        //判断账务类型是否为贴息
+        if(saleRegistrationCollection.getPaymentMethod().equals("4")){
+            // 账务类型贴息明细
+            //加后余额
+            Double addedBalance1 = amount + saleRegistrationCollection.getInterestSubsidy();
+            amount += saleRegistrationCollection.getInterestSubsidy();
+            SaleAccountsReceivableDetail saleAccountsReceivableDetail = new SaleAccountsReceivableDetail();
+            saleAccountsReceivableDetail.setAccountingType("4");// 账务类型 贴息
+            saleAccountsReceivableDetail.setAmountReceivable(saleRegistrationCollection.getInterestSubsidy());//应收金额
+            saleAccountsReceivableDetail.setAmounts(handlingWeight(addedBalance1));//余额
+            saleAccountsReceivableDetail.setInterestSubsidy(saleRegistrationCollection.getInterestSubsidy());//贴息金额
+            saleAccountsReceivableDetail.setCustomerId(saleRegistrationCollection.getCustomerId());// 客户名称
+            saleAccountsReceivableDetail.setAccountsReceivableDate(saleRegistrationCollection.getCollectionMoneyDate()); // 日期
+            saleAccountsReceivableDetail.setBoxNum(0L); // 箱数
+            saleAccountsReceivableDetail.setWeight(0.00);//重量
+            saleAccountsReceivableDetail.setProductPrice(0.00);//单价
+            saleAccountsReceivableDetail.setPaymentMethod(saleRegistrationCollection.getPaymentMethod());//付款方式
+            saleAccountsReceivableDetail.setBillingType("1");//开票类型
+            saleAccountsReceivableDetail.setAccountsReceivableRemark(saleRegistrationCollection.getRemark());//备注
+            saleAccountsReceivableDetail.setStatus("2");
+            saleAccountsReceivableDetail.setSettlementUnit(saleRegistrationCollection.getSettlementUnitId());//结算单位
+            saleAccountsReceivableDetail.setReturnReceipt("0");
+            saleAccountsReceivableDetailMapper.insertSaleAccountsReceivableDetail(saleAccountsReceivableDetail);
+
+            // 账务类型销售应收明细
+            SaleAccountsReceivableDetail saleAccountsReceivableDetail1 = new SaleAccountsReceivableDetail();
+            saleAccountsReceivableDetail1.setAccountingType("1");// 账务类型 销售应收
+            saleAccountsReceivableDetail1.setAmountReceivable(saleRegistrationCollection.getAmounts());//应收金额
+            //加后余额
+            Double addedBalance2 = amount + saleRegistrationCollection.getAmounts();
+            saleAccountsReceivableDetail1.setAmounts(handlingWeight(addedBalance2));//余额
+            saleAccountsReceivableDetail1.setCustomerId(saleRegistrationCollection.getCustomerId());// 客户名称
+            saleAccountsReceivableDetail1.setAccountsReceivableDate(saleRegistrationCollection.getCollectionMoneyDate()); // 日期
+            saleAccountsReceivableDetail1.setBoxNum(0L); // 箱数
+            saleAccountsReceivableDetail1.setWeight(0.00);//重量
+            saleAccountsReceivableDetail1.setProductPrice(0.00);//单价
+            saleAccountsReceivableDetail1.setPaymentMethod(saleRegistrationCollection.getPaymentMethod());//付款方式
+            saleAccountsReceivableDetail1.setBillingType("1");//开票类型
+            saleAccountsReceivableDetail1.setAccountsReceivableRemark(saleRegistrationCollection.getRemark());//备注
+            saleAccountsReceivableDetail1.setStatus("2");
+            saleAccountsReceivableDetail1.setSettlementUnit(saleRegistrationCollection.getSettlementUnitId());//结算单位
+            saleAccountsReceivableDetail1.setReturnReceipt("0");
+
+            saleAccountsReceivableDetailMapper.insertSaleAccountsReceivableDetail(saleAccountsReceivableDetail1);
+
+            customer.setAmount(handlingWeight(addedBalance2));
+            return customerMapper.updateCustomer(customer);
+        }else {
+            // 添加应收明细
+            SaleAccountsReceivableDetail saleAccountsReceivableDetail = new SaleAccountsReceivableDetail();
+            //减后余额
+            Double addedBalance = amount - saleRegistrationCollection.getAmounts();
+            saleAccountsReceivableDetail.setAccountingType("2");// 账务类型
+            saleAccountsReceivableDetail.setReceivedAmount(saleRegistrationCollection.getAmounts());//已收金额
+            saleAccountsReceivableDetail.setAmounts(handlingWeight(addedBalance));//余额
+            saleAccountsReceivableDetail.setCustomerId(saleRegistrationCollection.getCustomerId());// 客户名称
+            saleAccountsReceivableDetail.setAccountsReceivableDate(saleRegistrationCollection.getCollectionMoneyDate()); // 日期
+            saleAccountsReceivableDetail.setBoxNum(0L); // 箱数
+            saleAccountsReceivableDetail.setWeight(0.00);//重量
+            saleAccountsReceivableDetail.setProductPrice(0.00);//单价
+//        saleAccountsReceivableDetail.setAmountReceivable(0.00);//应收金额
+
+            saleAccountsReceivableDetail.setPaymentMethod(saleRegistrationCollection.getPaymentMethod());//付款方式
+            saleAccountsReceivableDetail.setBillingType("1");//开票类型
+            saleAccountsReceivableDetail.setAccountsReceivableRemark(saleRegistrationCollection.getRemark());//备注
+            saleAccountsReceivableDetail.setStatus("2");
+            saleAccountsReceivableDetail.setSettlementUnit(saleRegistrationCollection.getSettlementUnitId());//结算单位
+            saleAccountsReceivableDetail.setReturnReceipt("0");
+            saleAccountsReceivableDetailMapper.insertSaleAccountsReceivableDetail(saleAccountsReceivableDetail);
+
+
+
+            customer.setAmount(handlingWeight(addedBalance));
+            return customerMapper.updateCustomer(customer);
+        }
+
     }
 
 

+ 64 - 28
zkqy-custom-business/src/main/resources/mapper/business/FinishedProductInvoiceMapper.xml

@@ -128,88 +128,124 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <if test="startTime != null and endTime != null">and src.invoice_date BETWEEN #{startTime} AND #{endTime}</if>
     </select>
 
-    <select id="selectBillingDetails">
+    <select id="selectBillingDetails" parameterType="map" resultType="map">
         SELECT
         c.id,
-        c.custom_no,
-        c.custom_name,
+        c.custom_no as customerNo,
+        c.custom_name as customerName,
         COALESCE(qc.qcys, 0) AS qcys,
         COALESCE(qkp.qckp, 0) AS qckp,
         COALESCE(sq.sqys, 0) AS sqys,
         COALESCE(skp.sqkp, 0) AS sqkp,
         COALESCE(bq.bqys, 0) AS bqys,
         COALESCE(bkp.bqkp, 0) AS bqkp,
-        COALESCE(bqs.bqys, 0) AS bqys_received,
+        COALESCE(bqs.bqys, 0) AS bqyishou,
         COALESCE(qm.qmys, 0) AS qmys,
-        COALESCE(qmk.qmkp, 0) AS qmkp
+        COALESCE(qmk.qmkp, 0) AS qmkp,
+        COALESCE(ce.ysce, 0) AS ysce
         FROM
-        customer c
+        {DBNAME}.customer c
         LEFT JOIN (
         SELECT customer_id, TRUNCATE(SUM(amount_receivable), 2) AS qcys
-        FROM sale_accounts_receivable_detail
-        WHERE del_flag = '0' AND `status` = '2' AND accounts_receivable_date &lt;'2024-1-1'
+        FROM {DBNAME}.sale_accounts_receivable_detail
+        WHERE del_flag = '0' AND `status` = '2' AND accounts_receivable_date &lt;#{qcDate}
         GROUP BY customer_id
         ) qc ON c.id = qc.customer_id
         LEFT JOIN (
         SELECT customer_id, TRUNCATE(SUM(billing_amount), 2) AS qckp
-        FROM finished_product_invoice
-        WHERE del_flag = '0' AND invoice_date &lt;'2024-1-1'
+        FROM {DBNAME}.finished_product_invoice
+        WHERE del_flag = '0' AND invoice_date &lt;#{qcDate}
         GROUP BY customer_id
         ) qkp ON c.id = qkp.customer_id
         LEFT JOIN (
         SELECT customer_id, TRUNCATE(SUM(amount_receivable), 2) AS sqys
-        FROM sale_accounts_receivable_detail
+        FROM {DBNAME}.sale_accounts_receivable_detail
         WHERE del_flag = '0' AND `status` = '2'
-        AND YEAR(accounts_receivable_date) = YEAR(CURDATE() - INTERVAL 1 MONTH)
-        AND MONTH(accounts_receivable_date) = MONTH(CURDATE() - INTERVAL 1 MONTH)
+        AND YEAR(accounts_receivable_date) = YEAR(#{startDate} - INTERVAL 1 MONTH)
+        AND MONTH(accounts_receivable_date) = MONTH(#{startDate} - INTERVAL 1 MONTH)
+        <if test="customerId != null"> and customer_id = #{customerId}</if>
+        <if test="settlementUnitId != null"> and settlement_unit = #{settlementUnitId}</if>
         GROUP BY customer_id
         ) sq ON c.id = sq.customer_id
         LEFT JOIN (
         SELECT customer_id, TRUNCATE(SUM(billing_amount), 2) AS sqkp
-        FROM finished_product_invoice
+        FROM {DBNAME}.finished_product_invoice
         WHERE del_flag = '0'
-        AND YEAR(invoice_date) = YEAR(CURDATE() - INTERVAL 1 MONTH)
-        AND MONTH(invoice_date) = MONTH(CURDATE() - INTERVAL 1 MONTH)
+        AND YEAR(invoice_date) = YEAR(#{startDate} - INTERVAL 1 MONTH)
+        AND MONTH(invoice_date) = MONTH(#{startDate} - INTERVAL 1 MONTH)
+        <if test="customerId != null"> and customer_id = #{customerId}</if>
+        <if test="settlementUnitId != null">and settlement_unit_id = #{settlementUnitId}</if>
         GROUP BY customer_id
         ) skp ON c.id = skp.customer_id
         LEFT JOIN (
         SELECT customer_id, TRUNCATE(SUM(amount_receivable), 2) AS bqys
-        FROM sale_accounts_receivable_detail
+        FROM {DBNAME}.sale_accounts_receivable_detail
         WHERE del_flag = '0' AND `status` = '2'
-        AND YEAR(accounts_receivable_date) = YEAR(CURDATE())
-        AND MONTH(accounts_receivable_date) = MONTH(CURDATE())
+        AND accounts_receivable_date between #{startDate} and #{endDate}
+        <if test="customerId != null"> and customer_id = #{customerId}</if>
+        <if test="settlementUnitId != null"> and settlement_unit = #{settlementUnitId}</if>
         GROUP BY customer_id
         ) bq ON c.id = bq.customer_id
         LEFT JOIN (
         SELECT customer_id, TRUNCATE(SUM(billing_amount), 2) AS bqkp
-        FROM finished_product_invoice
+        FROM {DBNAME}.finished_product_invoice
         WHERE del_flag = '0'
-        AND YEAR(invoice_date) = YEAR(CURDATE())
-        AND MONTH(invoice_date) = MONTH(CURDATE())
+        AND invoice_date between #{startDate} and #{endDate}
+        <if test="customerId != null"> and customer_id = #{customerId}</if>
+        <if test="settlementUnitId != null">and settlement_unit_id = #{settlementUnitId}</if>
         GROUP BY customer_id
         ) bkp ON c.id = bkp.customer_id
         LEFT JOIN (
         SELECT customer_id, TRUNCATE(SUM(received_amount), 2) AS bqys
-        FROM sale_accounts_receivable_detail
+        FROM {DBNAME}.sale_accounts_receivable_detail
         WHERE del_flag = '0' AND `status` = '2'
-        AND YEAR(accounts_receivable_date) = YEAR(CURDATE())
-        AND MONTH(accounts_receivable_date) = MONTH(CURDATE())
+        AND accounts_receivable_date between #{startDate} and #{endDate}
+        <if test="customerId != null"> and customer_id = #{customerId}</if>
+        <if test="settlementUnitId != null"> and settlement_unit = #{settlementUnitId}</if>
         GROUP BY customer_id
         ) bqs ON c.id = bqs.customer_id
         LEFT JOIN (
         SELECT customer_id, TRUNCATE(SUM(amount_receivable), 2) AS qmys
-        FROM sale_accounts_receivable_detail
+        FROM {DBNAME}.sale_accounts_receivable_detail
         WHERE del_flag = '0' AND `status` = '2'
         AND accounts_receivable_date &lt;= CURDATE()
         GROUP BY customer_id
         ) qm ON c.id = qm.customer_id
         LEFT JOIN (
         SELECT customer_id, TRUNCATE(SUM(billing_amount), 2) AS qmkp
-        FROM finished_product_invoice
+        FROM {DBNAME}.finished_product_invoice
         WHERE del_flag = '0'
         AND invoice_date &lt;= CURDATE()
         GROUP BY customer_id
-        ) qmk ON c.id = qmk.customer_id;
+        ) qmk ON c.id = qmk.customer_id
+        left join (
+
+        SELECT
+        c.id,
+        COALESCE ( f.kpze - a.addAmount, 0 ) AS ysce
+        FROM
+        {DBNAME}.customer c
+        LEFT JOIN ( SELECT customer_id, TRUNCATE ( sum( billing_amount ), 2 ) AS kpze FROM {DBNAME}.finished_product_invoice WHERE del_flag = '0' and invoice_date between #{startDate} and #{endDate}
+        <if test="customerId != null"> and customer_id = #{customerId}</if>
+        <if test="settlementUnitId != null"> and settlement_unit_id = #{settlementUnitId}</if>
+         GROUP BY customer_id ) AS f ON c.id = f.customer_id
+        LEFT JOIN (
+        SELECT
+        customer_id,
+        TRUNCATE ( sum( amount_receivable ), 2 ) + TRUNCATE ( sum( received_amount ), 2 ) AS addAmount
+        FROM
+        {DBNAME}.sale_accounts_receivable_detail
+        WHERE
+        del_flag = '0'
+        AND `status` = '2'
+        and accounts_receivable_date between #{startDate} and #{endDate}
+        <if test="customerId != null"> and customer_id = #{customerId}</if>
+        <if test="settlementUnitId != null"> and settlement_unit = #{settlementUnitId}</if>
+        GROUP BY
+        customer_id
+        ) AS a ON c.id = a.customer_id
+
+        )as ce on c.id = ce.id
 
     </select>
 

+ 6 - 1
zkqy-custom-business/src/main/resources/mapper/business/ProductCodeListMapper.xml

@@ -41,6 +41,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="totalSuttle" column="total_suttle"/>
         <result property="totalGrossWeight" column="total_gross_weight"/>
         <result property="qrCodeId" column="qr_code_id"/>
+        <result property="withdrawingFlag" column="withdrawing_flag"/>
     </resultMap>
 
     <resultMap type="com.zkqy.business.domain.vo.ProductCodeListVO" id="ProductCodeListResultVO">
@@ -83,11 +84,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="totalBoxNum" column="total_box_num"/>
         <result property="totalSuttle" column="total_suttle"/>
         <result property="totalGrossWeight" column="total_gross_weight"/>
+        <result property="withdrawingFlag" column="withdrawing_flag"/>
     </resultMap>
 
     <sql id="selectProductCodeListVo">
         select id, qr_code, lot_num, product_id, levels, canister_num, box_num, suttle, production_date, machine_tool, gross_weight, packaging, work_shifts, foreign_trade_number, canister_weight, box_weight, tube_color, com_port, print_format, packaging_type, storage_location, warehouseregion_id, remark, del_flag, create_by, create_by_id, create_time, update_by, update_by_id, update_time ,
-               total_canister_num, total_box_num, total_suttle, total_gross_weight,product_colour from {DBNAME}.product_code_list
+               total_canister_num, total_box_num, total_suttle, total_gross_weight,product_colour,withdrawing_flag from {DBNAME}.product_code_list
     </sql>
 
     <select id="selectProductCodeListList" parameterType="com.zkqy.business.domain.vo.ProductCodeListVO" resultMap="ProductCodeListResultVO">
@@ -159,6 +161,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="totalSuttle != null">total_suttle,</if>
             <if test="totalGrossWeight != null">total_gross_weight,</if>
             <if test="productColour != null">product_colour,</if>
+            <if test="withdrawingFlag != null">withdrawing_flag,</if>
             del_flag
          </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
@@ -193,6 +196,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="totalSuttle != null">#{totalSuttle},</if>
             <if test="totalGrossWeight != null">#{totalGrossWeight},</if>
             <if test="productColour != null">#{productColour},</if>
+            <if test="withdrawingFlag != null">#{withdrawingFlag},</if>
             '0'
          </trim>
     </insert>
@@ -230,6 +234,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="totalSuttle != null">total_suttle = #{totalSuttle},</if>
             <if test="totalGrossWeight != null">total_gross_weight = #{totalGrossWeight},</if>
             <if test="productColour != null">product_colour = #{productColour},</if>
+            <if test="withdrawingFlag != null">withdrawing_flag = #{withdrawingFlag}</if>
         </trim>
         where id = #{id}
     </update>

+ 80 - 0
zkqy-custom-business/src/main/resources/mapper/business/ProductColourMapper.xml

@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.zkqy.business.mapper.ProductColourMapper">
+    
+    <resultMap type="com.zkqy.business.domain.ProductColour" id="ProductColourResult">
+        <result property="id"    column="id"    />
+        <result property="colour"    column="colour"    />
+        <result property="remark"    column="remark"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="createById"    column="create_by_id"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateBy"    column="update_by"    />
+        <result property="updateById"    column="update_by_id"    />
+        <result property="updateTime"    column="update_time"    />
+    </resultMap>
+
+    <sql id="selectProductColourVo">
+        select id, colour, remark, create_by, create_by_id, create_time, update_by, update_by_id, update_time from {DBNAME}.product_colour
+    </sql>
+
+    <select id="selectProductColourList" parameterType="com.zkqy.business.domain.ProductColour" resultMap="ProductColourResult">
+        <include refid="selectProductColourVo"/>
+        where del_flag = '0'
+            <if test="colour != null  and colour != ''"> and colour = #{colour}</if>
+
+    </select>
+    
+    <select id="selectProductColourById" parameterType="Long" resultMap="ProductColourResult">
+        <include refid="selectProductColourVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertProductColour" parameterType="com.zkqy.business.domain.ProductColour" useGeneratedKeys="true" keyProperty="id">
+        insert into {DBNAME}.product_colour
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="colour != null">colour,</if>
+            <if test="remark != null">remark,</if>
+            <if test="createBy != null">create_by,</if>
+            <if test="createById != null">create_by_id,</if>
+            <if test="createTime != null">create_time,</if>
+            del_flag
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="colour != null">#{colour},</if>
+            <if test="remark != null">#{remark},</if>
+            <if test="createBy != null">#{createBy},</if>
+            <if test="createById != null">#{createById},</if>
+            <if test="createTime != null">#{createTime},</if>
+            '0'
+         </trim>
+    </insert>
+
+    <update id="updateProductColour" parameterType="com.zkqy.business.domain.ProductColour">
+        update product_colour
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="colour != null">colour = #{colour},</if>
+            <if test="remark != null">remark = #{remark},</if>
+            <if test="createBy != null">create_by = #{createBy},</if>
+            <if test="createById != null">create_by_id = #{createById},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
+            <if test="updateBy != null">update_by = #{updateBy},</if>
+            <if test="updateById != null">update_by_id = #{updateById},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteProductColourById" parameterType="Long">
+        delete from product_colour where id = #{id}
+    </delete>
+
+    <delete id="deleteProductColourByIds" parameterType="String">
+        delete from product_colour where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>

+ 11 - 0
zkqy-custom-business/src/main/resources/mapper/business/ProductOutboundRecordBatchMapper.xml

@@ -119,4 +119,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         </foreach>
     </insert>
 
+    <select id="selectOutboundRecordIdByBatchNumber" resultType="long">
+        SELECT
+            outbound_record_id
+        FROM
+            {DBNAME}.`product_outbound_record_batch`
+        WHERE
+            del_flag = '0'
+          AND notice_number = #{noticeNumber}
+          AND batch_number = #{batchNumber}
+    </select>
+
 </mapper>

+ 14 - 2
zkqy-custom-business/src/main/resources/mapper/business/ProductOutboundRecordMapper.xml

@@ -282,8 +282,7 @@
     </update>
 
     <delete id="deleteProductOutboundRecordById" parameterType="Long">
-        delete
-        from  {DBNAME}.product_outbound_record
+        update {DBNAME}.product_outbound_record set del_flag = '2'
         where id = #{id}
     </delete>
 
@@ -405,4 +404,17 @@
               (select outbound_record_id from {DBNAME}.product_outbound_record_batch where del_flag = '0' and notice_number = #{noticeNumber})
     </select>
 
+    <select id="selectProductOutboundRecordByQrCodeId" resultMap="ProductOutboundRecordResult">
+        <include refid="selectProductOutboundRecordVo"/>
+        where qr_code_id = #{qrCodeId} and del_flag = '0'
+    </select>
+
+    <select id="selectProductOutboundRecordListByIds" resultMap="ProductOutboundRecordResult" >
+        <include refid="selectProductOutboundRecordVo"/>
+        where id in
+        <foreach collection="list" item="id" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </select>
+
 </mapper>

+ 19 - 1
zkqy-custom-business/src/main/resources/mapper/business/SaleAccountsReceivableDetailMapper.xml

@@ -46,10 +46,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="updateTime"    column="update_time"    />
         <result property="delFlag"    column="del_flag"    />
         <result property="billingFlag" column="billing_flag"/>
+        <result property="interestSubsidy" column="interest_subsidy"/>
+        <result property="otherCollectionId" column="other_collection_id"/>
+        <result property="batchNumber" column="batch_number"/>
     </resultMap>
 
     <sql id="selectSaleAccountsReceivableDetailVo">
-        select id, accounting_type, customer_id, accounts_receivable_date, sale_no, sale_product_no, registration_collection_id,product_id, product_name, product_specifications, product_level, product_colour, lot_number, box_num, weight, product_price, amount_receivable, received_amount, amounts, payment_method, billing_type, accounts_receivable_remark, settlement_unit, return_receipt, return_receipt_date, return_receipt_remark, notice_number, status, spare1, spare2, spare3, remark, create_by, create_by_id, create_time, update_by, update_by_id, update_time, del_flag, billing_flag from {DBNAME}.sale_accounts_receivable_detail
+        select id, accounting_type, customer_id, accounts_receivable_date, sale_no, sale_product_no, registration_collection_id,product_id, product_name, product_specifications, product_level, product_colour, lot_number, box_num, weight, product_price, amount_receivable, received_amount, amounts, payment_method, billing_type, accounts_receivable_remark, settlement_unit, return_receipt, return_receipt_date, return_receipt_remark, notice_number, status, spare1, spare2, spare3, remark, create_by, create_by_id, create_time, update_by, update_by_id, update_time, del_flag, billing_flag, interest_subsidy,other_collection_id,batch_number from {DBNAME}.sale_accounts_receivable_detail
     </sql>
 
     <select id="selectSaleAccountsReceivableDetailList" parameterType="com.zkqy.business.domain.SaleAccountsReceivableDetail" resultMap="SaleAccountsReceivableDetailResult">
@@ -118,6 +121,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="createBy != null">create_by,</if>
             <if test="createById != null">create_by_id,</if>
             <if test="createTime != null">create_time,</if>
+            <if test="interestSubsidy != null">interest_subsidy,</if>
+            <if test="otherCollectionId != null">other_collection_id,</if>
+            <if test="batchNumber != null">batch_number,</if>
             del_flag,
             billing_flag
          </trim>
@@ -156,6 +162,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="createBy != null">#{createBy},</if>
             <if test="createById != null">#{createById},</if>
             <if test="createTime != null">#{createTime},</if>
+            <if test="interestSubsidy != null">#{interestSubsidy},</if>
+            <if test="otherCollectionId != null">#{otherCollectionId},</if>
+            <if test="batchNumber != null">#{batchNumber},</if>
            '0',
            '0'
          </trim>
@@ -199,6 +208,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="updateById != null">update_by_id = #{updateById},</if>
             <if test="updateTime != null">update_time = #{updateTime},</if>
             <if test="billingFlag != null">billing_flag = #{billingFlag},</if>
+            <if test="interestSubsidy != null">interest_subsidy = #{interestSubsidy}</if>
+            <if test="otherCollectionId != null">other_collection_id = #{otherCollectionId}</if>
+            <if test="batchNumber != null">batch_number = #{batchNumber}</if>
         </trim>
         where id = #{id}
     </update>
@@ -250,6 +262,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         create_by,
         create_by_id,
         create_time,
+        interest_subsidy,
+        other_collection_id,
+        batch_number,
         del_flag,
         billing_flag
         ) VALUES
@@ -289,6 +304,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             #{item.createBy},
             #{item.createById},
             #{item.createTime},
+            #{item.interestSubsidy},
+            #{item.otherCollectionId},
+            #{item.batchNumber},
             '0',
             '0'
             )

+ 10 - 1
zkqy-custom-business/src/main/resources/mapper/business/SaleProductsMapper.xml

@@ -33,6 +33,7 @@
         <result property="taskName" column="task_name"/>
         <result property="lotNumber" column="lot_number"/>
         <result property="onBoardState" column="on_board_state"/>
+        <result property="colours" column="colours"/>
     </resultMap>
 
     <resultMap type="com.zkqy.business.domain.vo.SaleProductsVo" id="SaleProductsResultAndCustomInfo">
@@ -65,6 +66,7 @@
         <result property="materieEncoding" column="materie_encoding"/>
         <result property="materieColorNumber" column="materie_color_number"/>
         <result property="productSpecifications" column="product_specifications"/>
+        <result property="colours" column="colours"/>
     </resultMap>
 
     <sql id="selectSaleProductsVo">
@@ -95,7 +97,8 @@
                colour_number,
                task_name,
                lot_number,
-               on_board_state
+               on_board_state,
+               colours
         from {DBNAME}.sale_products
     </sql>
 
@@ -234,6 +237,7 @@
             <if test="taskName != null">task_name,</if>
             <if test="lotNumber != null">lot_number,</if>
             <if test="onBoardState != null">on_board_state,</if>
+            <if test="colours != null">colours,</if>
             del_flag
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
@@ -260,6 +264,7 @@
             <if test="taskName != null">#{taskName},</if>
             <if test="lotNumber != null">#{lotNumber},</if>
             <if test="onBoardState != null">#{onBoardState},</if>
+            <if test="colours != null">#{colours},</if>
             '0'
         </trim>
     </insert>
@@ -291,6 +296,7 @@
             <if test="taskName != null">task_name = #{taskName},</if>
             <if test="lotNumber != null">lot_number = #{lotNumber},</if>
             <if test="onBoardState != null">on_board_state = #{onBoardState},</if>
+            <if test="colours != null">colours = #{colours},</if>
         </trim>
         where id = #{id}
     </update>
@@ -324,6 +330,7 @@
             <if test="taskName != null">task_name = #{taskName},</if>
             <if test="lotNumber != null">lot_number = #{lotNumber},</if>
             <if test="onBoardState != null">on_board_state = #{onBoardState},</if>
+            <if test="colours != null">colours = #{colours},</if>
         </trim>
         where sale_order_no = #{saleOrderNo} and id=#{id}
     </update>
@@ -595,6 +602,7 @@
         task_name,
         lot_number,
         on_board_state,
+        colours,
         del_flag
         ) VALUES
         <foreach collection="list" item="item" separator=",">
@@ -622,6 +630,7 @@
             #{item.taskName},
             #{item.lotNumber},
             #{item.onBoardState},
+            #{item.colours},
             '0'
             )
         </foreach>

+ 15 - 3
zkqy-custom-business/src/main/resources/mapper/business/SaleRegistrationCollectionMapper.xml

@@ -22,10 +22,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="updateById"    column="update_by_id"    />
         <result property="updateTime"    column="update_time"    />
         <result property="delFlag"    column="del_flag"    />
+        <result property="interestSubsidy" column="interest_subsidy"/>
+        <result property="interestCountingDays" column="interest_counting_days"/>
+        <result property="dueDate" column="due_date"/>
     </resultMap>
 
     <sql id="selectSaleRegistrationCollectionVo">
-        select id, customer_id, payment_method, amounts, collection_money_type, collection_money_date, settlement_unit_id,status, remark, bookkeeping_flag, create_by, create_by_id, create_time, update_by, update_by_id, update_time, del_flag from {DBNAME}.sale_registration_collection
+        select id, customer_id, payment_method, amounts, collection_money_type, collection_money_date, settlement_unit_id,status, remark, bookkeeping_flag, create_by, create_by_id, create_time, update_by, update_by_id, update_time, del_flag, interest_subsidy,interest_counting_days,due_date from {DBNAME}.sale_registration_collection
     </sql>
 
     <select id="selectSaleRegistrationCollectionList" parameterType="com.zkqy.business.domain.SaleRegistrationCollection" resultMap="SaleRegistrationCollectionResult">
@@ -56,11 +59,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="collectionMoneyDate != null">collection_money_date,</if>
             <if test="settlementUnitId != null">settlement_unit_id,</if>
             <if test="remark != null">remark,</if>
-            <if test="bookkeepingFlag != null">bookkeeping_flag,</if>
             <if test="status != null">status,</if>
             <if test="createBy != null">create_by,</if>
             <if test="createById != null">create_by_id,</if>
             <if test="createTime != null">create_time,</if>
+            <if test="interestSubsidy != null">interest_subsidy,</if>
+            <if test="interestCountingDays != null">interest_counting_days,</if>
+            <if test="dueDate != null">due_date,</if>
+            bookkeeping_flag,
             del_flag
          </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
@@ -71,11 +77,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="collectionMoneyDate != null">#{collectionMoneyDate},</if>
             <if test="settlementUnitId != null">#{settlementUnitId},</if>
             <if test="remark != null">#{remark},</if>
-            <if test="bookkeepingFlag != null">#{bookkeepingFlag},</if>
             <if test="status != null">#{status},</if>
             <if test="createBy != null">#{createBy},</if>
             <if test="createById != null">#{createById},</if>
             <if test="createTime != null">#{createTime},</if>
+            <if test="interestSubsidy != null">#{interestSubsidy},</if>
+            <if test="interestCountingDays != null">#{interestCountingDays},</if>
+            <if test="dueDate != null">#{dueDate},</if>
+            '0',
            '0'
          </trim>
     </insert>
@@ -95,6 +104,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="updateBy != null">update_by = #{updateBy},</if>
             <if test="updateById != null">update_by_id = #{updateById},</if>
             <if test="updateTime != null">update_time = #{updateTime},</if>
+            <if test="interestSubsidy != null">interest_subsidy = #{interestSubsidy},</if>
+            <if test="interestCountingDays != null">interest_counting_days = #{interestCountingDays},</if>
+            <if test="dueDate != null">due_date = #{dueDate},</if>
         </trim>
         where id = #{id}
     </update>