Procházet zdrojové kódy

Merge branch 'master' of http://47.100.3.209:3000/gdc/yiliangyiyun

ccjgmwz před 3 roky
rodič
revize
c5fb513e96
29 změnil soubory, kde provedl 947 přidání a 38 odebrání
  1. 1 1
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/GeneratorCodeByTables.java
  2. 2 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/constant/NumberConstant.java
  3. 21 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/ContractExpensesInfoController.java
  4. 21 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/ContractInventoryDistributionController.java
  5. 9 1
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/InOutWarehouseTaskController.java
  6. 34 4
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/WarehousingOrderController.java
  7. 83 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/ContractExpensesInfo.java
  8. 89 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/ContractInventoryDistribution.java
  9. 4 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/InOutWarehouseTask.java
  10. 2 2
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/PaymentManagement.java
  11. 2 2
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/QualityInspectionManagement.java
  12. 37 3
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/WarehousingOrder.java
  13. 16 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/mapper/ContractExpensesInfoMapper.java
  14. 16 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/mapper/ContractInventoryDistributionMapper.java
  15. 18 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/mapper/WarehousingOrderMapper.java
  16. 16 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/IContractExpensesInfoService.java
  17. 16 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/IContractInventoryDistributionService.java
  18. 6 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/IInOutWarehouseTaskService.java
  19. 24 4
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/IWarehousingOrderService.java
  20. 20 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/ContractExpensesInfoServiceImpl.java
  21. 20 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/ContractInventoryDistributionServiceImpl.java
  22. 25 4
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/InOutWarehouseTaskServiceImpl.java
  23. 4 4
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/PaymentManagementServiceImpl.java
  24. 3 1
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/QualityInspectionManagementServiceImpl.java
  25. 371 11
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/WarehousingOrderServiceImpl.java
  26. 5 0
      winsea-haixin-plugin-yiliangyiyun/src/main/resources/mapper/ContractExpensesInfoMapper.xml
  27. 5 0
      winsea-haixin-plugin-yiliangyiyun/src/main/resources/mapper/ContractInventoryDistributionMapper.xml
  28. 2 0
      winsea-haixin-plugin-yiliangyiyun/src/main/resources/mapper/InOutWarehouseTaskMapper.xml
  29. 75 1
      winsea-haixin-plugin-yiliangyiyun/src/main/resources/mapper/WarehousingOrderMapper.xml

+ 1 - 1
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/GeneratorCodeByTables.java

@@ -53,7 +53,7 @@ public class GeneratorCodeByTables {
     }
 
     public static void main(String[] args) throws IOException {
-        generateByTables("Gdc", "com.yh.saas.plugin.yiliangyiyun","warehousing_order");
+        generateByTables("Gdc", "com.yh.saas.plugin.yiliangyiyun","contract_expenses_info");
     }
 
     /**

+ 2 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/constant/NumberConstant.java

@@ -26,6 +26,8 @@ public class NumberConstant {
 	public static final String CONSTANT_COST = "COST";
 
 	public static final String CONSTANT_EXE_COST = "EXECOST";
+
+	public static final String INVENTORY_CHECK = "CHECK";
 	private NumberConstant() {
 
 	}

+ 21 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/ContractExpensesInfoController.java

@@ -0,0 +1,21 @@
+package com.yh.saas.plugin.yiliangyiyun.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 合同费用 前端控制器
+ * </p>
+ *
+ * @author Gdc
+ * @since 2022-05-24
+ */
+@RestController
+@RequestMapping("/contractExpensesInfo")
+public class ContractExpensesInfoController {
+
+}
+

+ 21 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/ContractInventoryDistributionController.java

@@ -0,0 +1,21 @@
+package com.yh.saas.plugin.yiliangyiyun.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 记录合同库存分布详情 前端控制器
+ * </p>
+ *
+ * @author Gdc
+ * @since 2022-05-24
+ */
+@RestController
+@RequestMapping("/contractInventoryDistribution")
+public class ContractInventoryDistributionController {
+
+}
+

+ 9 - 1
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/InOutWarehouseTaskController.java

@@ -79,6 +79,15 @@ public class InOutWarehouseTaskController {
         inOutWarehouseTaskService.deleteInOutWarehouseTask(inOutWarehouseTask.getId(),inOutWarehouseTask.getRelevanceId());
     }
 
+    /**
+     * 矫正
+     * @param inOutWarehouseTask
+     * @return
+     */
+    @PostMapping("/api/correct")
+    public String correct(@RequestBody InOutWarehouseTask inOutWarehouseTask){
+        return inOutWarehouseTaskService.correct(inOutWarehouseTask);
+    }
     /**
      * 更改状态
      * @param inOutWarehouseTask
@@ -88,7 +97,6 @@ public class InOutWarehouseTaskController {
     public String editStatus(@RequestBody InOutWarehouseTask inOutWarehouseTask){
         return inOutWarehouseTaskService.editStatus(inOutWarehouseTask.getId());
     }
-
     /**
      * 移库任务列表
      * @param inOutWarehouseTask

+ 34 - 4
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/WarehousingOrderController.java

@@ -7,8 +7,10 @@ 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.RequestMapping;
+import com.baomidou.mybatisplus.plugins.Page;
+import org.springframework.web.bind.annotation.*;
 
-import org.springframework.web.bind.annotation.RestController;
+import javax.validation.Valid;
 
 import java.util.List;
 
@@ -25,6 +27,7 @@ import java.util.List;
 public class WarehousingOrderController {
     @Autowired
     private IWarehousingOrderService warehousingOrderService;
+
     /**
      * 添加/编辑出库选择货源
      * @param warehousingOrder
@@ -36,12 +39,39 @@ public class WarehousingOrderController {
     }
     /**
      * 查看货源-出库
-     * @param inOutWarehouseTaskId
+     * @param sourceId
      * @return
      */
     @GetMapping("/getSourceOfGoodsList")
-    public List<WarehousingOrder> getSourceOfGoodsList(String inOutWarehouseTaskId){
-        return warehousingOrderService.getSourceOfGoodsList(inOutWarehouseTaskId);
+    public List<WarehousingOrder> getSourceOfGoodsList(String sourceId){
+        return warehousingOrderService.getSourceOfGoodsList(sourceId);
+    }
+    /**
+     * 入库单列表查询
+     *
+     * @param warehousingOrder
+     * @return
+     */
+    @GetMapping("/selectInfo")
+    public Page<WarehousingOrder> selectInfo(WarehousingOrder warehousingOrder) {
+        return warehousingOrderService.selectInfo(warehousingOrder);
     }
+    /**
+     * 编辑
+     */
+    @PostMapping("/editInfo")
+    public String editInfo(@RequestBody WarehousingOrder warehousingOrder) {
+        return warehousingOrderService.editInfo(warehousingOrder);
+    }
+    /**
+     * 付款
+     * @param warehousingOrder
+     * @return
+     */
+    @PostMapping("/api/payMoney")
+    public String payMoney(@RequestBody WarehousingOrder warehousingOrder){
+        return warehousingOrderService.payMoney(warehousingOrder);
+    }
+
 }
 

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

@@ -0,0 +1,83 @@
+package com.yh.saas.plugin.yiliangyiyun.entity;
+
+import java.util.Date;
+import java.io.Serializable;
+
+
+import com.baomidou.mybatisplus.annotations.TableId;
+import com.baomidou.mybatisplus.annotations.TableName;
+import com.baomidou.mybatisplus.enums.IdType;
+import com.yh.saas.common.support.entity.BaseModel;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 合同费用
+ * </p>
+ *
+ * @author Gdc
+ * @since 2022-05-24
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+@TableName("contract_expenses_info")
+public class ContractExpensesInfo extends BaseModel<ContractExpensesInfo> {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * ID
+     */
+    @TableId(type = IdType.UUID)
+    private String id;
+    /**
+     * 公司ID
+     */
+    private String compId;
+    /**
+     * 合同ID
+     */
+    private String contractId;
+    /**
+     * 合同号
+     */
+    private String contractNo;
+    /**
+     * 仓库id
+     */
+    private String warehouseId;
+    /**
+     * 所属库点
+     */
+    private String warehouseName;
+    /**
+     * 类型(1收入2支出)
+     */
+    private String expensesType;
+    /**
+     * 费用名称
+     */
+    private String expensesName;
+    /**
+     * 费用金额(元)
+     */
+    private Double expensesPrice;
+    /**
+     * 请款人/收款人
+     */
+    private String personName;
+    /**
+     * 支付日期
+     */
+    private Date payDeadline;
+
+
+    @Override
+    protected Serializable pkVal() {
+        return this.id;
+    }
+
+}

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

@@ -0,0 +1,89 @@
+package com.yh.saas.plugin.yiliangyiyun.entity;
+
+import com.baomidou.mybatisplus.annotations.TableId;
+import com.baomidou.mybatisplus.annotations.TableName;
+import com.baomidou.mybatisplus.enums.IdType;
+import com.yh.saas.common.support.entity.BaseModel;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 记录合同库存分布详情
+ * </p>
+ *
+ * @author Gdc
+ * @since 2022-05-24
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+@TableName("contract_inventory_distribution")
+public class ContractInventoryDistribution extends BaseModel<ContractInventoryDistribution> {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @TableId(type = IdType.UUID)
+    private String id;
+    /**
+     * 公司id
+     */
+    private String compId;
+    /**
+     * 合同编号
+     */
+    private String contractNo;
+    /**
+     * 合同id
+     */
+    private String contractId;
+    /**
+     * 仓库id
+     */
+    private String warehouseId;
+    /**
+     * 仓库名称
+     */
+    private String warehouse;
+    /**
+     * 入库量(吨)
+     */
+    private Double inStorage;
+    /**
+     * 销售量(吨)
+     */
+    private Double saleStorage;
+    /**
+     * 移出量(吨)
+     */
+    private Double removeStorage;
+    /**
+     * 盘亏(吨)
+     */
+    private Double loss;
+    /**
+     * 盘盈(吨)
+     */
+    private Double surplus;
+    /**
+     * 剩余库存(吨)
+     */
+    private Double inventory;
+    /**
+     * 成本
+     */
+    private Double cost;
+
+
+    @Override
+    protected Serializable pkVal() {
+        return this.id;
+    }
+
+}

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

@@ -61,6 +61,10 @@ public class InOutWarehouseTask extends BaseModel<InOutWarehouseTask> {
      * 仓位编号id
      */
     private String positionId;
+    /**
+     * 货源id
+     */
+    private String sourceId;
     /**
      * 仓位编号
      */

+ 2 - 2
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/PaymentManagement.java

@@ -90,11 +90,11 @@ public class PaymentManagement extends BaseModel<PaymentManagement> {
     /**
      * 潮粮单价(元/公斤)
      */
-    private Float tidalGrainPrice;
+    private Double tidalGrainPrice;
     /**
      * 干粮单价(元/公斤)
      */
-    private Float solidGrainPrice;
+    private Double solidGrainPrice;
     /**
      * 净重(公斤)
      */

+ 2 - 2
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/QualityInspectionManagement.java

@@ -158,11 +158,11 @@ public class QualityInspectionManagement extends BaseModel<QualityInspectionMana
     /**
      * 潮粮单价(元/吨)
      */
-    private Float tidalGrainPrice;
+    private Double tidalGrainPrice;
     /**
      * 干粮单价(元/吨)
      */
-    private Float dryGrainPrice;
+    private Double dryGrainPrice;
     /**
      * 仓位编号
      */

+ 37 - 3
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/WarehousingOrder.java

@@ -5,14 +5,17 @@ import com.baomidou.mybatisplus.annotations.TableId;
 import com.baomidou.mybatisplus.annotations.TableName;
 import com.baomidou.mybatisplus.enums.IdType;
 import java.util.List;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.yh.saas.common.support.entity.BaseModel;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
+import org.springframework.format.annotation.DateTimeFormat;
 
 import java.awt.*;
 import java.io.Serializable;
 import java.util.Date;
+import java.util.List;
 
 /**
  * <p>
@@ -122,11 +125,14 @@ public class WarehousingOrder extends BaseModel<WarehousingOrder> {
     /**
      * 出单时间
      */
-    @TableField("Issuing_time")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
     private Date issuingTime;
     /**
      * 出库时间
      */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
     private Date inOutDate;
     /**
      * 粮款(元)
@@ -162,16 +168,44 @@ public class WarehousingOrder extends BaseModel<WarehousingOrder> {
     @TableField(exist = false)
     private List<WarehousingOrder> orderList;
     /**
-     * 编号类型(1合同编号2移库编号)
+     * 盈亏标识(0盘盈1盘亏)
      */
     @TableField(exist = false)
     private String flag;
     /**
-     * 任务类型(1出库2退)
+     * 货源标识(0添加1编辑)
      */
     @TableField(exist = false)
     private String taskFlag;
 
+    @TableField(exist = false)
+    private String taskId;
+    /**
+     *查询类型
+     */
+    @TableField(exist = false)
+    private String searchType;
+    /**
+     * 模糊查询
+     */
+    @TableField(exist = false)
+    private String searchKeyWord;
+    /**
+     * 开始时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @TableField(exist = false)
+    private Date startDate;
+    /**
+     * 结束时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @TableField(exist = false)
+    private Date endDate;
+    @TableField(exist = false)
+    private List<WarehousingOrder> warehousingOrderList;
 
     @Override
     protected Serializable pkVal() {

+ 16 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/mapper/ContractExpensesInfoMapper.java

@@ -0,0 +1,16 @@
+package com.yh.saas.plugin.yiliangyiyun.mapper;
+
+import com.yh.saas.plugin.yiliangyiyun.entity.ContractExpensesInfo;
+import com.baomidou.mybatisplus.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 合同费用 Mapper 接口
+ * </p>
+ *
+ * @author Gdc
+ * @since 2022-05-24
+ */
+public interface ContractExpensesInfoMapper extends BaseMapper<ContractExpensesInfo> {
+
+}

+ 16 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/mapper/ContractInventoryDistributionMapper.java

@@ -0,0 +1,16 @@
+package com.yh.saas.plugin.yiliangyiyun.mapper;
+
+import com.yh.saas.plugin.yiliangyiyun.entity.ContractInventoryDistribution;
+import com.baomidou.mybatisplus.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 记录合同库存分布详情 Mapper 接口
+ * </p>
+ *
+ * @author Gdc
+ * @since 2022-05-24
+ */
+public interface ContractInventoryDistributionMapper extends BaseMapper<ContractInventoryDistribution> {
+
+}

+ 18 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/mapper/WarehousingOrderMapper.java

@@ -3,6 +3,9 @@ package com.yh.saas.plugin.yiliangyiyun.mapper;
 import com.yh.saas.plugin.yiliangyiyun.entity.WarehousingOrder;
 import com.baomidou.mybatisplus.mapper.BaseMapper;
 
+import java.util.List;
+import java.util.Map;
+
 /**
  * <p>
  * 记录入库单信息 Mapper 接口
@@ -12,5 +15,20 @@ import com.baomidou.mybatisplus.mapper.BaseMapper;
  * @since 2022-05-17
  */
 public interface WarehousingOrderMapper extends BaseMapper<WarehousingOrder> {
+    /**
+     * 根据条件查询总数
+     *
+     * @param pageView
+     * @return
+     */
+    Integer getCountByCondition(Map<String, Object> pageView);
+
+    /**
+     * 根据条件查询入库单列表
+     *
+     * @param pageView
+     * @return
+     */
+    List<WarehousingOrder> getListByCondition(Map<String, Object> pageView);
 
 }

+ 16 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/IContractExpensesInfoService.java

@@ -0,0 +1,16 @@
+package com.yh.saas.plugin.yiliangyiyun.service;
+
+import com.yh.saas.plugin.yiliangyiyun.entity.ContractExpensesInfo;
+import com.baomidou.mybatisplus.service.IService;
+
+/**
+ * <p>
+ * 合同费用 服务类
+ * </p>
+ *
+ * @author Gdc
+ * @since 2022-05-24
+ */
+public interface IContractExpensesInfoService extends IService<ContractExpensesInfo> {
+
+}

+ 16 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/IContractInventoryDistributionService.java

@@ -0,0 +1,16 @@
+package com.yh.saas.plugin.yiliangyiyun.service;
+
+import com.yh.saas.plugin.yiliangyiyun.entity.ContractInventoryDistribution;
+import com.baomidou.mybatisplus.service.IService;
+
+/**
+ * <p>
+ * 记录合同库存分布详情 服务类
+ * </p>
+ *
+ * @author Gdc
+ * @since 2022-05-24
+ */
+public interface IContractInventoryDistributionService extends IService<ContractInventoryDistribution> {
+
+}

+ 6 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/IInOutWarehouseTaskService.java

@@ -104,4 +104,10 @@ public interface IInOutWarehouseTaskService extends IService<InOutWarehouseTask>
      * @return
      */
     InOutWarehouseTask getContractNo(String compId, String warehouseName);
+    /**
+     * 矫正
+     * @param inOutWarehouseTask
+     * @return
+     */
+    String correct(InOutWarehouseTask inOutWarehouseTask);
 }

+ 24 - 4
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/IWarehousingOrderService.java

@@ -1,9 +1,8 @@
 package com.yh.saas.plugin.yiliangyiyun.service;
 
+import com.baomidou.mybatisplus.plugins.Page;
 import com.yh.saas.plugin.yiliangyiyun.entity.WarehousingOrder;
 import com.baomidou.mybatisplus.service.IService;
-import com.yh.saas.plugin.yiliangyiyun.entity.WeighingManagement;
-import org.springframework.beans.factory.annotation.Autowired;
 
 import java.util.List;
 
@@ -23,7 +22,28 @@ public interface IWarehousingOrderService extends IService<WarehousingOrder> {
     String editSourceOfGoods(WarehousingOrder warehousingOrder);
     /**
      * 查看货源-出库
-     * @param inOutWarehouseTaskId
+     * @param sourceId
      */
-    List<WarehousingOrder> getSourceOfGoodsList(String inOutWarehouseTaskId);
+    List<WarehousingOrder> getSourceOfGoodsList(String sourceId);
+
+    /**
+     * 信息分页列表查询
+     *
+     * @param warehousingOrder
+     * @return
+     */
+    Page<WarehousingOrder> selectInfo(WarehousingOrder warehousingOrder);
+
+    /**
+     * 编辑
+     *
+     * @param warehousingOrder
+     */
+    String editInfo(WarehousingOrder warehousingOrder);
+    /**
+     * 付款
+     * @param warehousingOrder
+     */
+    String payMoney(WarehousingOrder warehousingOrder);
+
 }

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

@@ -0,0 +1,20 @@
+package com.yh.saas.plugin.yiliangyiyun.service.impl;
+
+import com.yh.saas.plugin.yiliangyiyun.entity.ContractExpensesInfo;
+import com.yh.saas.plugin.yiliangyiyun.mapper.ContractExpensesInfoMapper;
+import com.yh.saas.plugin.yiliangyiyun.service.IContractExpensesInfoService;
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 合同费用 服务实现类
+ * </p>
+ *
+ * @author Gdc
+ * @since 2022-05-24
+ */
+@Service
+public class ContractExpensesInfoServiceImpl extends ServiceImpl<ContractExpensesInfoMapper, ContractExpensesInfo> implements IContractExpensesInfoService {
+
+}

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

@@ -0,0 +1,20 @@
+package com.yh.saas.plugin.yiliangyiyun.service.impl;
+
+import com.yh.saas.plugin.yiliangyiyun.entity.ContractInventoryDistribution;
+import com.yh.saas.plugin.yiliangyiyun.mapper.ContractInventoryDistributionMapper;
+import com.yh.saas.plugin.yiliangyiyun.service.IContractInventoryDistributionService;
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 记录合同库存分布详情 服务实现类
+ * </p>
+ *
+ * @author Gdc
+ * @since 2022-05-24
+ */
+@Service
+public class ContractInventoryDistributionServiceImpl extends ServiceImpl<ContractInventoryDistributionMapper, ContractInventoryDistribution> implements IContractInventoryDistributionService {
+
+}

+ 25 - 4
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/InOutWarehouseTaskServiceImpl.java

@@ -28,11 +28,8 @@ import com.yh.saas.plugin.yiliangyiyun.entity.view.WarehouseNumView;
 import com.yh.saas.plugin.yiliangyiyun.exception.YException;
 import com.yh.saas.plugin.yiliangyiyun.exception.YExceptionEnum;
 import com.yh.saas.plugin.yiliangyiyun.mapper.InOutWarehouseTaskMapper;
-import com.yh.saas.plugin.yiliangyiyun.service.IContractManagementInfoService;
-import com.yh.saas.plugin.yiliangyiyun.service.IInOutWarehouseTaskService;
+import com.yh.saas.plugin.yiliangyiyun.service.*;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
-import com.yh.saas.plugin.yiliangyiyun.service.INewWorkflowService;
-import com.yh.saas.plugin.yiliangyiyun.service.IWarehouseInOutInfoService;
 import com.yh.saas.toolkit.workflow.service.IWorkflowService;
 import org.apache.commons.collections.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -73,6 +70,8 @@ public class InOutWarehouseTaskServiceImpl extends ServiceImpl<InOutWarehouseTas
     private ICommonStaffRoleService commonStaffRoleService;
     @Autowired
     private ICommonRoleResourceService roleResourceService;
+    @Autowired
+    private IWarehousingOrderService warehousingOrderService;
 
     /**
      * 出入库任务新增 编辑
@@ -591,4 +590,26 @@ public class InOutWarehouseTaskServiceImpl extends ServiceImpl<InOutWarehouseTas
         }
         return inOutWarehouseTask;
     }
+
+    /**
+     * 矫正
+     * @param inOutWarehouseTask
+     * @return
+     */
+    @Override
+    public String correct(InOutWarehouseTask inOutWarehouseTask) {
+        //状态改成已完成
+        inOutWarehouseTask.setTaskStatusKey(StatusEnum.TASK_COMPLETED.getFlag());
+        inOutWarehouseTask.setTaskStatus(StatusEnum.TASK_COMPLETED.getName());
+        String[] sourceIdNew = inOutWarehouseTask.getSourceId().split(",");
+        //货源的预计出库重量赋值为实际出库重量
+        for (String id : sourceIdNew) {
+            WarehousingOrder warehousingOrder=warehousingOrderService.selectById(id);
+            warehousingOrder.setEstimateOutWarehouseWeight(warehousingOrder.getActualOutWarehouseWeight());
+            warehousingOrderService.updateById(warehousingOrder);
+        }
+        this.updateById(inOutWarehouseTask);
+        return "ok";
+    }
+
 }

+ 4 - 4
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/PaymentManagementServiceImpl.java

@@ -1614,7 +1614,7 @@ public class PaymentManagementServiceImpl extends ServiceImpl<PaymentManagementM
                 cell.setCellValue("1");
                 cell.setCellStyle(styleDetail);
                 cell = rowx.createCell(23);
-                cell.setCellValue(new Formatter().format("%.3f", editFloat(paymentManagement1.getTidalGrainPrice())).toString());
+                cell.setCellValue(new Formatter().format("%.3f", paymentManagement1.getTidalGrainPrice()).toString());
                 cell.setCellStyle(styleDetail);
                 cell = rowx.createCell(24);
                 cell.setCellValue(editFloat(paymentManagement1.getGrossWeight()));
@@ -1632,7 +1632,7 @@ public class PaymentManagementServiceImpl extends ServiceImpl<PaymentManagementM
                 cell.setCellValue(editDouble(paymentManagement1.getUnitDeduction()));
                 cell.setCellStyle(styleDetail);
                 cell = rowx.createCell(29);
-                cell.setCellValue(new Formatter().format("%.2f", editFloat(paymentManagement1.getSolidGrainPrice())).toString());
+                cell.setCellValue(new Formatter().format("%.2f", paymentManagement1.getSolidGrainPrice()).toString());
                 cell.setCellStyle(styleDetail);
                 cell = rowx.createCell(30);
                 cell.setCellValue(editFloat(paymentManagement1.getPureWeight()));
@@ -2372,7 +2372,7 @@ public class PaymentManagementServiceImpl extends ServiceImpl<PaymentManagementM
                 cell.setCellValue("1");
                 cell.setCellStyle(styleDetail);
                 cell = rowx.createCell(23);
-                cell.setCellValue(new Formatter().format("%.3f", editFloat(paymentManagement1.getTidalGrainPrice())).toString());
+                cell.setCellValue(new Formatter().format("%.3f", paymentManagement1.getTidalGrainPrice()).toString());
                 cell.setCellStyle(styleDetail);
                 cell = rowx.createCell(24);
                 cell.setCellValue(editFloat(paymentManagement1.getGrossWeight()));
@@ -2390,7 +2390,7 @@ public class PaymentManagementServiceImpl extends ServiceImpl<PaymentManagementM
                 cell.setCellValue(editDouble(paymentManagement1.getUnitDeduction()));
                 cell.setCellStyle(styleDetail);
                 cell = rowx.createCell(29);
-                cell.setCellValue(new Formatter().format("%.2f", editFloat(paymentManagement1.getSolidGrainPrice())).toString());
+                cell.setCellValue(new Formatter().format("%.2f", paymentManagement1.getSolidGrainPrice()).toString());
                 cell.setCellStyle(styleDetail);
                 cell = rowx.createCell(30);
                 cell.setCellValue(editFloat(paymentManagement1.getPureWeight()));

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

@@ -534,7 +534,9 @@ public class QualityInspectionManagementServiceImpl extends ServiceImpl<QualityI
             paymentManagement.setSettlementDate(qualityInspectionManagement1.getQualityDate());
             paymentManagement.setWarehouseName(qualityInspectionManagement.getWarehouseName());
             paymentManagement.setUnitDeduction(qualityInspectionManagement1.getDeductionAmount()==null?0:qualityInspectionManagement1.getDeductionAmount());
-            Double money = ((new BigDecimal(qualityInspectionManagement1.getDryGrainPrice())).doubleValue()-paymentManagement.getUnitDeduction()) * qualityInspectionManagement1.getNetWeight();
+            Double money = (qualityInspectionManagement1.getDryGrainPrice()-paymentManagement.getUnitDeduction()) * qualityInspectionManagement1.getNetWeight();
+//            BigDecimal money1 = new BigDecimal(money);
+//            Double money2 = money1.setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue();
             paymentManagement.setAmountIngPayable(money);
             paymentManagement.setAmountEdPayable(money);
             paymentManagement.setGrainMoney(Float.valueOf(String.valueOf(money)));

+ 371 - 11
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/WarehousingOrderServiceImpl.java

@@ -1,7 +1,6 @@
 package com.yh.saas.plugin.yiliangyiyun.service.impl;
 
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
-import com.yh.saas.common.support.util.StringUtils;
 import com.yh.saas.plugin.yiliangyiyun.entity.InOutWarehouseTask;
 import com.yh.saas.plugin.yiliangyiyun.entity.PaymentManagement;
 import com.yh.saas.plugin.yiliangyiyun.entity.WarehouseInOutInfo;
@@ -11,12 +10,32 @@ import com.yh.saas.plugin.yiliangyiyun.service.IInOutWarehouseTaskService;
 import com.yh.saas.plugin.yiliangyiyun.service.IWarehouseInOutInfoService;
 import com.yh.saas.plugin.yiliangyiyun.service.IWarehousingOrderService;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.alibaba.fastjson.JSONObject;
+import com.alipay.sofa.runtime.api.annotation.SofaReference;
+import com.baomidou.mybatisplus.plugins.Page;
+import com.google.common.collect.Lists;
+import com.winsea.svc.base.base.entity.CommonRoleResource;
+import com.winsea.svc.base.base.service.ICommonRoleResourceService;
+import com.winsea.svc.base.security.entity.User;
+import com.winsea.svc.base.security.util.AuthSecurityUtils;
+import com.yh.saas.common.support.util.IdGenerator;
+import com.yh.saas.plugin.base.service.ICommonBillOperateHisService;
+import com.yh.saas.plugin.yiliangyiyun.constant.NumberConstant;
+import com.yh.saas.plugin.yiliangyiyun.constant.StatusEnum;
+import com.yh.saas.plugin.yiliangyiyun.entity.*;
+import com.yh.saas.plugin.yiliangyiyun.service.*;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.text.SimpleDateFormat;
+import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -31,9 +50,21 @@ public class WarehousingOrderServiceImpl extends ServiceImpl<WarehousingOrderMap
     @Autowired
     private IInOutWarehouseTaskService inOutWarehouseTaskService;
     @Autowired
-    private IWarehousingOrderService warehousingOrderService;
-    @Autowired
     private IWarehouseInOutInfoService warehouseInOutInfoService;
+    @Autowired
+    private INewWorkflowService workflowService;
+    @SofaReference
+    private ICommonRoleResourceService roleResourceService;
+    @Autowired
+    private IPaymentManagementService paymentManagementService;
+    @Autowired
+    private IWarehouseBaseInfoService warehouseBaseInfoService;
+    @Autowired
+    private IIdentityAuthenticationInfoService identityAuthenticationInfoService;
+    @Autowired
+    private IQualityInspectionManagementService qualityInspectionManagementService;
+    @Autowired
+    private ICommonBillOperateHisService billOperateHisService;
 
     /**
      * 添加/编辑出库选择货源
@@ -45,11 +76,11 @@ public class WarehousingOrderServiceImpl extends ServiceImpl<WarehousingOrderMap
         if(!CollectionUtils.isEmpty(orderList)){
             for(WarehousingOrder warehousingOrder1 : orderList){
                 WarehousingOrder warehousingOrder2 = this.selectById(warehousingOrder1.getId());
-                //添加出库
-                if("1".equals(warehousingOrder2.getTaskFlag())){
+                //添加货源
+                if("0".equals(warehousingOrder.getTaskFlag())){
                     warehousingOrder2.setEstimateOutWarehouseWeight(warehousingOrder2.getEstimateOutWarehouseWeight() + warehousingOrder1.getOutWeight());
                 }
-                //编辑出库
+                //编辑货源
                 else{
                     warehousingOrder2.setEstimateOutWarehouseWeight(warehousingOrder2.getEstimateOutWarehouseWeight() + warehousingOrder1.getOutWeight() - warehousingOrder2.getOutWeight());
                 }
@@ -61,13 +92,342 @@ public class WarehousingOrderServiceImpl extends ServiceImpl<WarehousingOrderMap
     }
     /**
      * 查看货源-出库
-     * @param inOutWarehouseTaskId
+     * @param sourceId
      */
     @Override
-    public List<WarehousingOrder> getSourceOfGoodsList(String inOutWarehouseTaskId) {
-        List<WarehousingOrder> warehousingOrderList = warehousingOrderService.selectList(new EntityWrapper<WarehousingOrder>()
-                    .eq("in_out_warehouse_task_id",inOutWarehouseTaskId)
-                    .eq("delete_flag","0"));
+    public List<WarehousingOrder> getSourceOfGoodsList(String sourceId) {
+        List<WarehousingOrder> warehousingOrderList=new ArrayList<>();
+        String[] sourceIdNew = sourceId.split(",");
+        for (String id : sourceIdNew) {
+            WarehousingOrder warehousingOrder=this.selectById(id);
+            warehousingOrderList.add(warehousingOrder);
+        }
         return warehousingOrderList;
     }
+
+
+    @Override
+    public Page<WarehousingOrder> selectInfo(WarehousingOrder warehousingOrder) {
+        Map<String, Object> pageView = new HashMap<>();
+        pageView.put("startRecord", (warehousingOrder.getCurrentPage() - 1)
+                * warehousingOrder.getPageSize());
+        List<String> businessKeys = null;
+        if ("2".equals(warehousingOrder.getSearchType())) {
+            businessKeys = workflowService.getTaskBusinessKeysByCode("COLLECTION-WAREHOUSING-RECORD");
+        }
+        List<String> statusSet = new ArrayList<>();
+        List<String> resourceIdList = this.getResourceIdList();
+        if (resourceIdList.contains("saleOutReport-Edit")) { // 填写,提交    权限做完以后替换
+            List<String> statusList = Lists.newArrayList(StatusEnum.PUR_RETURN.getFlag());
+            statusSet.addAll(statusList);
+        }
+        pageView.put("searchKeyWord", warehousingOrder.getSearchKeyWord());
+        pageView.put("searchType", warehousingOrder.getSearchType());
+        pageView.put("pageSize", warehousingOrder.getPageSize());
+        pageView.put("currentPage", warehousingOrder.getCurrentPage());
+        pageView.put("contractNo", warehousingOrder.getContractNo());
+        pageView.put("startDate", warehousingOrder.getStartDate());
+        pageView.put("endDate", warehousingOrder.getEndDate());
+        pageView.put("baseId", warehousingOrder.getBaseId());
+        pageView.put("businessKeys", businessKeys);
+        pageView.put("statusSet", statusSet);
+        // 查询总数
+        Integer dataCount = baseMapper.getCountByCondition(pageView);
+        List<WarehousingOrder> dataList = baseMapper.getListByCondition(pageView);
+        if (!CollectionUtils.isEmpty(dataList)) {
+            dataList.forEach(warehousingOrder1 -> {
+                String taskId = "";
+                // 只有待审核状态才有taskId
+                if (StringUtils.isNotBlank(warehousingOrder1.getWorkflowId())) {
+                    JSONObject jsonObject = workflowService.getActiveTask(Lists.newArrayList(warehousingOrder1.getWorkflowId()), warehousingOrder1.getId());
+                    taskId = jsonObject.getString("taskId");
+                    warehousingOrder1.setTaskId(taskId);
+                }
+            });
+
+        }
+        Page<WarehousingOrder> page = new Page<>();
+        page.setRecords(dataList == null ? Lists.newArrayList() : dataList);
+        page.setTotal(dataCount == null ? 0 : dataCount);
+        page.setCurrent(warehousingOrder.getCurrentPage());
+        page.setSize(warehousingOrder.getPageSize());
+        return page;
+    }
+
+    /**
+     * 添加
+     * @return
+     */
+    /**
+     * 每天16.30点更新
+     */
+    @Transactional
+    @Scheduled(cron = "0 30 16 * * ?")
+    public String addInfo() {
+        WarehousingOrder warehousingOrder = new WarehousingOrder();
+        //当天零点
+        SimpleDateFormat now = new SimpleDateFormat("yyyy-MM-dd 16:30:00");
+        Calendar c = Calendar.getInstance();
+        c.setTime(new Date());
+        c.add(Calendar.DATE, -1);
+        String beforeDay=now.format(c.getTime());
+        //收购
+        List<PaymentManagement> paymentManagementList = paymentManagementService.selectList(new EntityWrapper<PaymentManagement>()
+                .ne("status", "待结算")
+                .ge("update_date", beforeDay));
+        if (!CollectionUtils.isEmpty(paymentManagementList)) {
+            for (PaymentManagement paymentManagement : paymentManagementList) {
+                warehousingOrder.setId(IdGenerator.generateUUID());
+                WarehouseBaseInfo warehouseBaseInfo = warehouseBaseInfoService.selectOne(new EntityWrapper<WarehouseBaseInfo>()
+                        .eq("comp_id", paymentManagement.getCompId())
+                        .eq("warehouse_name", paymentManagement.getWarehouseName()));
+                warehousingOrder.setBaseId(warehouseBaseInfo.getId());
+                IdentityAuthenticationInfo identityAuthenticationInfo = identityAuthenticationInfoService.selectOne(new EntityWrapper<IdentityAuthenticationInfo>()
+                        .eq("comp_id", paymentManagement.getCompId())
+                        .eq("customer_number_card", paymentManagement.getCustomerNumberCard()));
+                warehousingOrder.setIdentifyId(identityAuthenticationInfo.getId());
+                QualityInspectionManagement qualityInspectionManagement=qualityInspectionManagementService.selectOne(new EntityWrapper<QualityInspectionManagement>()
+                        .eq("relation_id", paymentManagement.getRelationId()));
+                warehousingOrder.setWarehouseInOutId(qualityInspectionManagement.getWarehouseInOutId());
+                warehousingOrder.setWarehouseName(paymentManagement.getWarehouseName());
+                warehousingOrder.setGoodsSource(paymentManagement.getCustomerName());
+                warehousingOrder.setCarNo(paymentManagement.getCarNo());
+                warehousingOrder.setGoodsName(paymentManagement.getGoodsName());
+                warehousingOrder.setInWarehouseWeight(paymentManagement.getNetWeight());
+                warehousingOrder.setAmountNotPayable(paymentManagement.getAmountIngPayable());
+                warehousingOrder.setAmountEdPayable(0d);
+                warehousingOrder.setIssuingTime(new Date());
+                warehousingOrder.setGrainFund(paymentManagement.getAmountIngPayable());
+//                boolean isStartWorkflow = StringUtils.isBlank(warehousingOrder.getWorkflowId());
+//                // 不是退回的单子
+//                if (isStartWorkflow) {
+//                    Workflow workflow = workflowService
+//                            .findLatestWorkflowByBusinessCodeByApp(paymentManagement.getCompId(), "SALE-CONTRACT-APPROVE");
+//                    // 没配置审核流程,直接结束并处理信息
+//                    if (workflow == null) {
+//                        throw new YException(YExceptionEnum.PURCHASE_ORDER_ERROR);
+//                    }
+//                    // 开启审核流
+//                    else {
+//
+//                        // 设置状态 已提交审核
+//                        warehousingOrder.setWorkflowId(workflow.getId());
+//                        this.updateById(warehousingOrder);
+//                        workflowService.startInstance(workflow.getId(), warehousingOrder.getId());
+//                    }
+//                }
+//                // 退回的单子 再启用
+//                else {
+//
+//                    this.updateById(warehousingOrder);
+//                    workflowService.activateInstance(warehousingOrder.getWorkflowId(), warehousingOrder.getId());
+//                }
+                this.insert(warehousingOrder);
+            }
+        }
+        //采购入库
+        List<WarehouseInOutInfo> warehouseInOutInfoList = warehouseInOutInfoService.selectList(new EntityWrapper<WarehouseInOutInfo>()
+                .eq("status", "已提交")
+                .eq("in_out_type", "采购入库")
+                .ge("update_date", beforeDay));
+        if (!CollectionUtils.isEmpty(warehouseInOutInfoList)) {
+            for (WarehouseInOutInfo warehouseInOutInfo : warehouseInOutInfoList) {
+                warehousingOrder.setId(IdGenerator.generateUUID());
+                warehousingOrder.setBaseId(warehouseInOutInfo.getBaseId());
+                warehousingOrder.setWarehouseInOutId(warehouseInOutInfo.getId());
+                warehousingOrder.setWarehouseName(warehouseInOutInfo.getWarehouseName());
+                warehousingOrder.setGoodsSource(warehouseInOutInfo.getContractNo());
+                warehousingOrder.setCarNo(warehouseInOutInfo.getCarNo());
+                warehousingOrder.setGoodsName(warehouseInOutInfo.getGoodsName());
+                warehousingOrder.setContractNo(warehouseInOutInfo.getContractNo());
+                warehousingOrder.setInWarehouseWeight(Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
+                warehousingOrder.setAmountNotPayable(warehouseInOutInfo.getCost()*warehouseInOutInfo.getNetWeight());
+                warehousingOrder.setAmountEdPayable(0d);
+                warehousingOrder.setIssuingTime(new Date());
+                warehousingOrder.setGrainFund(warehouseInOutInfo.getCost()*warehouseInOutInfo.getNetWeight());
+//                boolean isStartWorkflow = StringUtils.isBlank(warehousingOrder.getWorkflowId());
+//                // 不是退回的单子
+//                if (isStartWorkflow) {
+//                    Workflow workflow = workflowService
+//                            .findLatestWorkflowByBusinessCodeByApp(paymentManagement.getCompId(), "SALE-CONTRACT-APPROVE");
+//                    // 没配置审核流程,直接结束并处理信息
+//                    if (workflow == null) {
+//                        throw new YException(YExceptionEnum.PURCHASE_ORDER_ERROR);
+//                    }
+//                    // 开启审核流
+//                    else {
+//
+//                        // 设置状态 已提交审核
+//                        warehousingOrder.setWorkflowId(workflow.getId());
+//                        this.updateById(warehousingOrder);
+//                        workflowService.startInstance(workflow.getId(), warehousingOrder.getId());
+//                    }
+//                }
+//                // 退回的单子 再启用
+//                else {
+//
+//                    this.updateById(warehousingOrder);
+//                    workflowService.activateInstance(warehousingOrder.getWorkflowId(), warehousingOrder.getId());
+//                }
+                this.insert(warehousingOrder);
+            }
+        }
+
+        //移库入库
+        List<WarehouseInOutInfo> warehouseInOutInfoList1 = warehouseInOutInfoService.selectList(new EntityWrapper<WarehouseInOutInfo>()
+                .eq("status", "已提交")
+                .eq("in_out_type", "移库入库")
+                .ge("update_date", beforeDay));
+        if (!CollectionUtils.isEmpty(warehouseInOutInfoList1)) {
+            for (WarehouseInOutInfo warehouseInOutInfo : warehouseInOutInfoList1) {
+                warehousingOrder.setId(IdGenerator.generateUUID());
+                warehousingOrder.setBaseId(warehouseInOutInfo.getBaseId());
+                InOutWarehouseTask inOutWarehouseTask = inOutWarehouseTaskService.selectOne(new EntityWrapper<InOutWarehouseTask>()
+                        .eq("in_out_task_no", warehouseInOutInfo.getInOutTaskNo()));
+                warehousingOrder.setWarehouseInOutId(warehouseInOutInfo.getId());
+                warehousingOrder.setWarehouseName(warehouseInOutInfo.getWarehouseName());
+                //货源为发货库
+                warehousingOrder.setGoodsSource(inOutWarehouseTask.getSendWarehouse());
+                warehousingOrder.setCarNo(warehouseInOutInfo.getCarNo());
+                warehousingOrder.setIssuingTime(new Date());
+                warehousingOrder.setDeliveryWarehouse(warehouseInOutInfo.getCarNo());
+                warehousingOrder.setGoodsName(warehouseInOutInfo.getGoodsName());
+                warehousingOrder.setContractNo(warehouseInOutInfo.getContractNo());
+                warehousingOrder.setInWarehouseWeight(Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
+//                boolean isStartWorkflow = StringUtils.isBlank(warehousingOrder.getWorkflowId());
+//                // 不是退回的单子
+//                if (isStartWorkflow) {
+//                    Workflow workflow = workflowService
+//                            .findLatestWorkflowByBusinessCodeByApp(paymentManagement.getCompId(), "SALE-CONTRACT-APPROVE");
+//                    // 没配置审核流程,直接结束并处理信息
+//                    if (workflow == null) {
+//                        throw new YException(YExceptionEnum.PURCHASE_ORDER_ERROR);
+//                    }
+//                    // 开启审核流
+//                    else {
+//
+//                        // 设置状态 已提交审核
+//                        warehousingOrder.setWorkflowId(workflow.getId());
+//                        this.updateById(warehousingOrder);
+//                        workflowService.startInstance(workflow.getId(), warehousingOrder.getId());
+//                    }
+//                }
+//                // 退回的单子 再启用
+//                else {
+//
+//                    this.updateById(warehousingOrder);
+//                    workflowService.activateInstance(warehousingOrder.getWorkflowId(), warehousingOrder.getId());
+//                }
+                this.insert(warehousingOrder);
+            }
+        }
+
+        //退库
+        List<WarehouseInOutInfo> warehouseInOutInfoList2 = warehouseInOutInfoService.selectList(new EntityWrapper<WarehouseInOutInfo>()
+                .eq("status", "已提交")
+                .eq("in_out_type", "退库")
+                .ge("update_date", beforeDay));
+        if (!CollectionUtils.isEmpty(warehouseInOutInfoList2)) {
+            for (WarehouseInOutInfo warehouseInOutInfo : warehouseInOutInfoList2) {
+                warehousingOrder.setId(IdGenerator.generateUUID());
+                warehousingOrder.setBaseId(warehouseInOutInfo.getBaseId());
+                InOutWarehouseTask inOutWarehouseTask = inOutWarehouseTaskService.selectOne(new EntityWrapper<InOutWarehouseTask>()
+                        .eq("in_out_task_no", warehouseInOutInfo.getInOutTaskNo()));
+                warehousingOrder.setWarehouseInOutId(warehouseInOutInfo.getId());
+                warehousingOrder.setWarehouseName(warehouseInOutInfo.getWarehouseName());
+                //货源为发货库
+                warehousingOrder.setGoodsSource(inOutWarehouseTask.getAgent()+"(退)");
+                warehousingOrder.setCarNo(warehouseInOutInfo.getCarNo());
+                warehousingOrder.setIssuingTime(new Date());
+                warehousingOrder.setDeliveryWarehouse(inOutWarehouseTask.getSendWarehouse());
+                warehousingOrder.setGoodsName(warehouseInOutInfo.getGoodsName());
+                warehousingOrder.setContractNo(warehouseInOutInfo.getContractNo());
+                warehousingOrder.setInWarehouseWeight(Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
+//                boolean isStartWorkflow = StringUtils.isBlank(warehousingOrder.getWorkflowId());
+//                // 不是退回的单子
+//                if (isStartWorkflow) {
+//                    Workflow workflow = workflowService
+//                            .findLatestWorkflowByBusinessCodeByApp(paymentManagement.getCompId(), "SALE-CONTRACT-APPROVE");
+//                    // 没配置审核流程,直接结束并处理信息
+//                    if (workflow == null) {
+//                        throw new YException(YExceptionEnum.PURCHASE_ORDER_ERROR);
+//                    }
+//                    // 开启审核流
+//                    else {
+//
+//                        // 设置状态 已提交审核
+//                        warehousingOrder.setWorkflowId(workflow.getId());
+//                        this.updateById(warehousingOrder);
+//                        workflowService.startInstance(workflow.getId(), warehousingOrder.getId());
+//                    }
+//                }
+//                // 退回的单子 再启用
+//                else {
+//
+//                    this.updateById(warehousingOrder);
+//                    workflowService.activateInstance(warehousingOrder.getWorkflowId(), warehousingOrder.getId());
+//                }
+                this.insert(warehousingOrder);
+            }
+        }
+        return "OK";
+
+    }
+
+    /**
+     * 编辑
+     * @param warehousingOrder
+     * @return
+     */
+    @Override
+    public String editInfo(WarehousingOrder warehousingOrder) {
+        // 插入操作历史
+        String staffName = this.billOperateHisService.getStaffAndName();
+        if ("0".equals(warehousingOrder.getFlag())) {
+            // 插入操作历史
+            this.billOperateHisService.saveBillOperateHis(warehousingOrder.getId(), NumberConstant.INVENTORY_CHECK, staffName, null,
+                    "盘盈" + "(" + warehousingOrder.getProfitAndLoss() + ")", null, "审核中");
+        }
+        else {
+            this.billOperateHisService.saveBillOperateHis(warehousingOrder.getId(), NumberConstant.INVENTORY_CHECK, staffName, null,
+                    "盘亏" + "(" + warehousingOrder.getProfitAndLoss() + ")", null, "审核中");
+        }
+        // 主表信息编辑
+        boolean one = this.updateById(warehousingOrder);
+        // 假如成功返回ok
+        if (one) {
+            return "OK";
+        } else {
+            return "NG";
+        }
+    }
+
+    @Override
+    public String payMoney(WarehousingOrder warehousingOrder) {
+        List<WarehousingOrder> warehousingOrderList = warehousingOrder.getWarehousingOrderList();
+        if (!CollectionUtils.isEmpty(warehousingOrderList)) {
+            //付款多条
+            if ("0".equals(warehousingOrder.getFlag())) {
+                for (WarehousingOrder warehousingOrder1 : warehousingOrderList) {
+                    warehousingOrder1.setAmountNotPayable(0d);
+                    warehousingOrder1.setAmountEdPayable(warehousingOrder1.getGrainFund());
+                    this.updateById(warehousingOrder1);
+                }
+            }
+            //请款
+            else {
+                for (WarehousingOrder warehousingOrder1 : warehousingOrderList) {
+                    this.updateById(warehousingOrder1);
+                }
+            }
+        }
+        return "OK";
+    }
+
+    private List<String> getResourceIdList() {
+        User currentUser = AuthSecurityUtils.getCurrentUserInfo();
+        // 当前登录人主要角色
+        return roleResourceService.getBindResourcesByUserId(currentUser.getUserId()).stream()
+                .map(CommonRoleResource::getResourceId).collect(Collectors.toList());
+    }
 }

+ 5 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/resources/mapper/ContractExpensesInfoMapper.xml

@@ -0,0 +1,5 @@
+<?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.yh.saas.plugin.yiliangyiyun.mapper.ContractExpensesInfoMapper">
+
+</mapper>

+ 5 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/resources/mapper/ContractInventoryDistributionMapper.xml

@@ -0,0 +1,5 @@
+<?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.yh.saas.plugin.yiliangyiyun.mapper.ContractInventoryDistributionMapper">
+
+</mapper>

+ 2 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/resources/mapper/InOutWarehouseTaskMapper.xml

@@ -44,6 +44,7 @@
         move_task_no as moveTaskNo,
         warehouse_name as warehouseName,
         in_out_type as inOutType,
+        source_id as sourceId,
         goods_name as goodsName,
         weight as weight,
         predict_date as predictDate,
@@ -103,6 +104,7 @@
         a.warehouse_name as warehouseName,
         b.warehouse_name as warehouseNameIn,
         a.in_out_type as inOutType,
+        a.source_id as sourceId,
         a.goods_name as goodsName,
         a.weight as weight,
         b.weight as weightIn,

+ 75 - 1
winsea-haixin-plugin-yiliangyiyun/src/main/resources/mapper/WarehousingOrderMapper.xml

@@ -1,5 +1,79 @@
 <?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.yh.saas.plugin.yiliangyiyun.mapper.WarehousingOrderMapper">
-
+    <!-- 获得入库单信息总数 -->
+    <select id="getCountByCondition" parameterType="Map" resultType="java.lang.Integer">
+        SELECT
+        COUNT(id)
+        FROM warehousing_order
+        WHERE
+        delete_flag = '0'
+        <if test="searchType != null and searchType != ''">
+            <if test="searchType == 1">
+                AND amount_not_payable >0
+            </if>
+        </if>
+        <if test="startDate != null">
+            AND (DATE_FORMAT(create_date,"%Y%m%d") &gt;=
+            DATE_FORMAT(#{startDate},"%Y%m%d"))
+        </if>
+        <if test="endDate != null">
+            AND (DATE_FORMAT(create_date,"%Y%m%d") &lt;=
+            DATE_FORMAT(#{endDate},"%Y%m%d"))
+        </if>
+        <if test="baseId != null and baseId != ''">
+            AND base_id= #{baseId}
+        </if>
+        <if test="searchKeyWord != null and searchKeyWord != ''">
+            AND (lower(goods_source) like lower(CONCAT('%',#{searchKeyWord},'%')))
+        </if>
+    </select>
+    <!-- 入库单列表查询 -->
+    <select id="getListByCondition" parameterType="Map"
+            resultType="com.yh.saas.plugin.yiliangyiyun.entity.WarehousingOrder">
+        SELECT
+        id,
+        goods_source as goodsSource,
+        warehouse_name as warehouseName,
+        contract_no as contractNo,
+        goods_name as goodsName,
+        in_warehouse_weight as inWarehouseWeight,
+        out_warehouse_weight as outWarehouseWeight,
+        profit_and_loss as profitAndLoss,
+        surplus_weight as surplusWeight,
+        grain_fund as grainFund,
+        amount_ed_payable as amountEdPayable,
+        amount_not_payable as amountNotPayable,
+        amount_money as amountMoney,
+        avg_cost as avgCost,
+        request_funds as requestFunds,
+        approve_status as approveStatus,
+        update_date as updateDate
+        FROM warehousing_order
+        WHERE
+        delete_flag = '0'
+        <if test="searchType != null and searchType != ''">
+            <if test="searchType == 1">
+                AND amount_not_payable >0
+            </if>
+        </if>
+        <if test="searchKeyWord != null and searchKeyWord != ''">
+            AND (lower(goods_source) like lower(CONCAT('%',#{searchKeyWord},'%')))
+        </if>
+        <if test="startDate != null">
+            AND (DATE_FORMAT(create_date,"%Y%m%d") &gt;=
+            DATE_FORMAT(#{startDate},"%Y%m%d"))
+        </if>
+        <if test="endDate != null">
+            AND (DATE_FORMAT(create_date,"%Y%m%d") &lt;=
+            DATE_FORMAT(#{endDate},"%Y%m%d"))
+        </if>
+        <if test="baseId != null and baseId != ''">
+            AND base_id= #{baseId}
+        </if>
+        ORDER BY base_id,update_date DESC
+        <if test="currentPage != null and currentPage != ''">
+            LIMIT ${startRecord}, ${pageSize}
+        </if>
+    </select>
 </mapper>