浏览代码

入库单相关接口

zhangyuewww 3 年之前
父节点
当前提交
2a7799d163
共有 12 个文件被更改,包括 614 次插入26 次删除
  1. 2 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/constant/NumberConstant.java
  2. 9 1
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/InOutWarehouseTaskController.java
  3. 41 4
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/WarehousingOrderController.java
  4. 4 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/InOutWarehouseTask.java
  5. 37 3
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/WarehousingOrder.java
  6. 18 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/mapper/WarehousingOrderMapper.java
  7. 6 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/IInOutWarehouseTaskService.java
  8. 30 4
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/IWarehousingOrderService.java
  9. 25 4
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/InOutWarehouseTaskServiceImpl.java
  10. 365 9
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/WarehousingOrderServiceImpl.java
  11. 2 0
      winsea-haixin-plugin-yiliangyiyun/src/main/resources/mapper/InOutWarehouseTaskMapper.xml
  12. 75 1
      winsea-haixin-plugin-yiliangyiyun/src/main/resources/mapper/WarehousingOrderMapper.xml

+ 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() {
 
 	}

+ 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

+ 41 - 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,46 @@ 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("/api/addInfo")
+    public String addInfo(@RequestBody @Valid WarehousingOrder warehousingOrder) {
+        return warehousingOrderService.addInfo(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);
+    }
+
 }
 

+ 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;
     /**
      * 仓位编号
      */

+ 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() {

+ 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);
 
 }

+ 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);
 }

+ 30 - 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,34 @@ 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 addInfo(WarehousingOrder warehousingOrder);
+
+    /**
+     * 编辑
+     *
+     * @param warehousingOrder
+     */
+    String editInfo(WarehousingOrder warehousingOrder);
+    /**
+     * 付款
+     * @param warehousingOrder
+     */
+    String payMoney(WarehousingOrder warehousingOrder);
+
 }

+ 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";
+    }
+
 }

+ 365 - 9
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,30 @@ 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.stereotype.Service;
 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>
@@ -34,6 +51,20 @@ public class WarehousingOrderServiceImpl extends ServiceImpl<WarehousingOrderMap
     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,338 @@ 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;
+    }
+
+    /**
+     * 添加
+     * @param warehousingOrder
+     * @return
+     */
+    @Override
+    public String addInfo(WarehousingOrder 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());
+    }
 }

+ 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>