Procházet zdrojové kódy

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

ccjgmwz před 3 roky
rodič
revize
30f74b9a38
15 změnil soubory, kde provedl 2335 přidání a 241 odebrání
  1. 15 13
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/WarehouseInOutInfoController.java
  2. 9 1
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/WeighingManagementController.java
  3. 10 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/QualityInspectionManagement.java
  4. 7 1
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/WarehouseInOutInfo.java
  5. 10 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/WeighingManagement.java
  6. 8 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/mapper/QualityInspectionManagementMapper.java
  7. 7 1
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/mapper/WeighingManagementMapper.java
  8. 6 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/IQualityInspectionManagementService.java
  9. 12 9
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/IWarehouseInOutInfoService.java
  10. 14 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/IWeighingManagementService.java
  11. 53 3
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/QualityInspectionManagementServiceImpl.java
  12. 2011 213
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/WarehouseInOutInfoServiceImpl.java
  13. 137 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/WeighingManagementServiceImpl.java
  14. 18 0
      winsea-haixin-plugin-yiliangyiyun/src/main/resources/mapper/QualityInspectionManagementMapper.xml
  15. 18 0
      winsea-haixin-plugin-yiliangyiyun/src/main/resources/mapper/WeighingManagementMapper.xml

+ 15 - 13
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/WarehouseInOutInfoController.java

@@ -30,7 +30,6 @@ public class WarehouseInOutInfoController {
 
     /**
      * 待完成页面分页列表查询
-     *
      * @param warehouseInOutInfo
      * @return
      */
@@ -41,7 +40,6 @@ public class WarehouseInOutInfoController {
 
     /**
      * 待完成页面分页列表查询(临时仓库)
-     *
      * @param warehouseInOutInfo
      * @return
      */
@@ -52,7 +50,6 @@ public class WarehouseInOutInfoController {
 
     /**
      * 删除记录
-     *
      * @param example
      */
     @PostMapping("/api/deleteWarehouse")
@@ -62,7 +59,6 @@ public class WarehouseInOutInfoController {
 
     /**
      * 出入库
-     *
      * @param warehouseInOutInfo
      * @return
      */
@@ -70,9 +66,9 @@ public class WarehouseInOutInfoController {
     public String InOutWarehouse(@RequestBody WarehouseInOutInfo warehouseInOutInfo) {
         return warehouseInOutInfoService.InOutWarehouse(warehouseInOutInfo);
     }
+
     /**
      * 退回
-     *
      * @param warehouseInOutInfo
      * @return
      */
@@ -83,7 +79,6 @@ public class WarehouseInOutInfoController {
 
     /**
      * 流转记录查询
-     *
      * @param warehouseInOutInfo
      * @return
      */
@@ -91,9 +86,9 @@ public class WarehouseInOutInfoController {
     public Page<WarehouseInOutInfo> selectInfo(WarehouseInOutInfo warehouseInOutInfo) {
         return warehouseInOutInfoService.selectInfo(warehouseInOutInfo);
     }
+
     /**
      * 关键字查询
-     *
      * @param warehouseInOutInfo
      * @return
      */
@@ -101,9 +96,9 @@ public class WarehouseInOutInfoController {
     public List<WarehouseInOutInfo> selectInfoByKeyWord(WarehouseInOutInfo warehouseInOutInfo) {
         return warehouseInOutInfoService.selectInfoByKeyWord(warehouseInOutInfo);
     }
+
     /**
      * 流转记录查询(临时仓库)
-     *
      * @param warehouseInOutInfo
      * @return
      */
@@ -114,7 +109,6 @@ public class WarehouseInOutInfoController {
 
     /**
      * 临时仓库货名下拉列表
-     *
      * @param baseId
      * @return
      */
@@ -126,7 +120,6 @@ public class WarehouseInOutInfoController {
 
     /**
      * 出入库任务新增 编辑
-     *
      * @param warehouseInOutInfo
      * @return
      */
@@ -134,6 +127,7 @@ public class WarehouseInOutInfoController {
     public String insertOrUpdateInOutTask(@RequestBody WarehouseInOutInfo warehouseInOutInfo) {
         return warehouseInOutInfoService.insertOrUpdateInOutTask(warehouseInOutInfo);
     }
+
     /**
      * 调整
      * @param warehouseInOutInfo
@@ -146,7 +140,6 @@ public class WarehouseInOutInfoController {
 
     /**
      * 判断移库编号
-     *
      * @param moveTaskNo
      * @return
      */
@@ -171,7 +164,6 @@ public class WarehouseInOutInfoController {
         return warehouseInOutInfoService.selectDistributeCar(contractNo);
     }
 
-
     /**
      *查循公司id
      */
@@ -179,6 +171,7 @@ public class WarehouseInOutInfoController {
     public String selectCompId(String contractNo){
         return warehouseInOutInfoService.selectCompId(contractNo);
     }
+
     /**
      * 查看当天出/入数量
      * @param positionId,type
@@ -189,7 +182,6 @@ public class WarehouseInOutInfoController {
         return warehouseInOutInfoService.count(positionId,inOutFlag);
     }
 
-
     /**
      * 修改入库量
      * @param warehouseInOutInfo
@@ -199,5 +191,15 @@ public class WarehouseInOutInfoController {
     public String updateStockQuantity(@RequestBody WarehouseInOutInfo warehouseInOutInfo) {
         return warehouseInOutInfoService.updateStockQuantity(warehouseInOutInfo);
     }
+
+    /**
+     * 新出入库
+     * @param warehouseInOutInfo
+     * @return
+     */
+    @PostMapping("/api/newInOutWarehouse")
+    public String newInOutWarehouse(@RequestBody WarehouseInOutInfo warehouseInOutInfo) {
+        return warehouseInOutInfoService.newInOutWarehouse(warehouseInOutInfo);
+    }
 }
 

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

@@ -117,6 +117,14 @@ public class WeighingManagementController {
     public WeighingManagement getQRcode(WeighingManagement weighingManagement) {
         return weighingManagementService.getQRcode(weighingManagement);
     }
-
+    /**
+     * 退回
+     * @param weighingManagement
+     * @return
+     */
+    @PostMapping("/weightReturn")
+    public String weightReturn(@RequestBody WeighingManagement weighingManagement) {
+        return weighingManagementService.weightReturn(weighingManagement);
+    }
 }
 

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

@@ -424,6 +424,16 @@ public class QualityInspectionManagement extends BaseModel<QualityInspectionMana
      */
     @TableField(exist = false)
     private ContractManagementInfo contractManagement;
+    /**
+     * 业务编号字母
+     */
+    @TableField(exist = false)
+    private String numberLetter;
+    /**
+     * 仓库编号
+     */
+    @TableField(exist = false)
+    private String warehouseNo;
     /**
      *导入
      */

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

@@ -431,9 +431,15 @@ public class WarehouseInOutInfo extends BaseModel<WarehouseInOutInfo> {
     private ContractManagementInfo contractManagementInfo;
     @TableField(exist = false)
     private List<WarehouseInOutInfo> warehouseInOutInfoList;
-
     @TableField(exist = false)
     private String automaticWeightAcquisition;
+    /**
+     * 检斤对象
+     */
+    @TableField(exist = false)
+    private WeighingManagement weighingManagement;
+
+
     @Override
     protected Serializable pkVal() {
         return this.id;

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

@@ -398,6 +398,16 @@ public class WeighingManagement extends BaseModel<WeighingManagement> {
      */
     @TableField(exist = false)
     private String statusType;
+    /**
+     * 业务编号字母
+     */
+    @TableField(exist = false)
+    private String numberLetter;
+    /**
+     * 仓库编号
+     */
+    @TableField(exist = false)
+    private String warehouseNo;
     @Override
     protected Serializable pkVal() {
         return this.id;

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

@@ -30,4 +30,12 @@ public interface QualityInspectionManagementMapper extends BaseMapper<QualityIns
      * @return
      */
     List<QualityInspectionManagement> getListByCondition(Map<String, Object> pageView);
+
+    /**
+     * 根据条件查询业务编号列表
+     *
+     * @param pageView
+     * @return
+     */
+    List<QualityInspectionManagement> getListByConditions(Map<String, Object> pageView);
 }

+ 7 - 1
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/mapper/WeighingManagementMapper.java

@@ -1,6 +1,5 @@
 package com.yh.saas.plugin.yiliangyiyun.mapper;
 
-import com.yh.saas.plugin.yiliangyiyun.entity.SalePlanInfo;
 import com.yh.saas.plugin.yiliangyiyun.entity.WeighingManagement;
 import com.baomidou.mybatisplus.mapper.BaseMapper;
 
@@ -32,4 +31,11 @@ public interface WeighingManagementMapper extends BaseMapper<WeighingManagement>
      * @return
      */
     List<WeighingManagement> getListByCondition(Map<String, Object> pageView);
+    /**
+     * 根据条件查询业务编号列表
+     *
+     * @param pageView
+     * @return
+     */
+    List<WeighingManagement> getListByConditions(Map<String, Object> pageView);
 }

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

@@ -63,4 +63,10 @@ public interface IQualityInspectionManagementService extends IService<QualityIns
      * @param qualityInspectionManagement
      */
     String importQuality(QualityInspectionManagement qualityInspectionManagement);
+    /**
+     * 查询业务编号
+     * @param
+     * @return
+     */
+    List<QualityInspectionManagement> selectQualityInspectionManagementList(QualityInspectionManagement qualityInspectionManagement);
 }

+ 12 - 9
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/IWarehouseInOutInfoService.java

@@ -17,7 +17,6 @@ import java.util.List;
 public interface IWarehouseInOutInfoService extends IService<WarehouseInOutInfo> {
     /**
      * 待完成页面列表
-     *
      * @param warehouseInOutInfo
      * @return
      */
@@ -25,7 +24,6 @@ public interface IWarehouseInOutInfoService extends IService<WarehouseInOutInfo>
 
     /**
      * 待完成页面列表(临时仓库)
-     *
      * @param warehouseInOutInfo
      * @return
      */
@@ -40,6 +38,7 @@ public interface IWarehouseInOutInfoService extends IService<WarehouseInOutInfo>
      * 出入库
      */
     String InOutWarehouse(WarehouseInOutInfo warehouseInOutInfo);
+
     /**
      * 退回
      */
@@ -47,14 +46,13 @@ public interface IWarehouseInOutInfoService extends IService<WarehouseInOutInfo>
 
     /**
      * 流转记录分页查询
-     *
      * @param warehouseInOutInfo
      * @return
      */
     Page<WarehouseInOutInfo> selectInfo(WarehouseInOutInfo warehouseInOutInfo);
+
     /**
      * 关键字查询
-     *
      * @param warehouseInOutInfo
      * @return
      */
@@ -62,7 +60,6 @@ public interface IWarehouseInOutInfoService extends IService<WarehouseInOutInfo>
 
     /**
      * 流转记录分页查询(临时仓库)
-     *
      * @param warehouseInOutInfo
      * @return
      */
@@ -70,7 +67,6 @@ public interface IWarehouseInOutInfoService extends IService<WarehouseInOutInfo>
 
     /**
      * 临时仓库货名下拉
-     *
      * @param baseId
      * @return
      */
@@ -79,7 +75,6 @@ public interface IWarehouseInOutInfoService extends IService<WarehouseInOutInfo>
 
     /**
      * 出入库任务新增 编辑
-     *
      * @param warehouseInOutInfo
      * @return
      */
@@ -87,32 +82,35 @@ public interface IWarehouseInOutInfoService extends IService<WarehouseInOutInfo>
 
     /**
      * 判断移库编号
-     *
      * @param moveTaskNo
      * @return
      */
     boolean selectTaskNo(String moveTaskNo);
+
     /**
      * 查看
-     *
      * @param
      */
     WarehouseInOutInfo getInfo(String id);
+
     /**
      * 查看当天出/入数量
      * @param positionId,type
      * @return
      */
     Integer count(String positionId,String inOutFlag);
+
     /**
      * 调整
      * @param warehouseInOutInfo
      */
     String adjustment(WarehouseInOutInfo warehouseInOutInfo);
+
     /**
      *查看已派车辆
      */
     List<WarehouseInOutInfo> selectDistributeCar(String contractNo);
+
     Integer selectCountByPhone(String phone);
 
     String selectCompId(String contractNo);
@@ -129,4 +127,9 @@ public interface IWarehouseInOutInfoService extends IService<WarehouseInOutInfo>
      */
     String updateStockQuantity(WarehouseInOutInfo warehouseInOutInfo);
 
+    /**
+     * 出入库
+     */
+    String newInOutWarehouse(WarehouseInOutInfo warehouseInOutInfo);
+
 }

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

@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.plugins.Page;
 import com.yh.saas.plugin.yiliangyiyun.entity.WeighingManagement;
 import com.baomidou.mybatisplus.service.IService;
 
+import java.util.List;
+
 /**
  * <p>
  * 检斤管理 服务类
@@ -56,6 +58,18 @@ public interface IWeighingManagementService extends IService<WeighingManagement>
      * @return
      */
     WeighingManagement getQRcode(WeighingManagement weighingManagement);
+    /**
+     * 查询业务编号
+     * @param
+     * @return
+     */
+    List<WeighingManagement> selectWeighingManagementList(WeighingManagement weighingManagement);
 
+    /**
+     * 退回
+     * @param
+     * @return
+     */
+    String weightReturn(WeighingManagement weighingManagement);
 
 }

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

@@ -23,6 +23,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
+import java.text.SimpleDateFormat;
 import java.util.*;
 
 /**
@@ -107,6 +108,8 @@ public class QualityInspectionManagementServiceImpl extends ServiceImpl<QualityI
         page.setSize(qualityInspectionManagement.getPageSize());
         return page;
     }
+
+
     /**
      * 删除质检管理信息
      *  @param id
@@ -132,6 +135,8 @@ public class QualityInspectionManagementServiceImpl extends ServiceImpl<QualityI
             this.deleteById(qualityInspectionManagement.getId());
         }
     }
+
+
     /**
      * 查看质检管理信息
      *  @param id
@@ -180,6 +185,8 @@ public class QualityInspectionManagementServiceImpl extends ServiceImpl<QualityI
         }
         return qualityInspectionManagement;
     }
+
+
     /**
      * 编辑质检管理信息
      * @param qualityInspectionManagement
@@ -263,6 +270,25 @@ public class QualityInspectionManagementServiceImpl extends ServiceImpl<QualityI
         return purchasePriceList;
     }
 
+    /**
+     * 查询业务编号
+     * @param
+     * @return
+     */
+    @Override
+    public List<QualityInspectionManagement> selectQualityInspectionManagementList(QualityInspectionManagement qualityInspectionManagement) {
+        SimpleDateFormat f = new SimpleDateFormat("yyyyMMdd");//设置日期格式
+        String date = f.format(new Date(System.currentTimeMillis()));
+        Map<String, Object> pageView = new HashMap<>(7);
+        pageView.put("date", date);
+        pageView.put("warehouseNo", qualityInspectionManagement.getWarehouseNo());
+        pageView.put("numberLetter", qualityInspectionManagement.getNumberLetter());
+        pageView.put("compId", qualityInspectionManagement.getCompId());
+        List<QualityInspectionManagement> dataList = baseMapper.getListByConditions(pageView);
+        return dataList;
+    }
+
+
     /**
      * 添加质检管理信息
      * @param qualityInspectionManagement
@@ -273,6 +299,33 @@ public class QualityInspectionManagementServiceImpl extends ServiceImpl<QualityI
     public String addQualityInspection(QualityInspectionManagement qualityInspectionManagement) {
         String relationId=IdGenerator.generateUUID();
         qualityInspectionManagement.setId(IdGenerator.generateUUID());
+        if(qualityInspectionManagement.getCompId() == null || qualityInspectionManagement.getCompId().isEmpty()){
+            qualityInspectionManagement.setCompId(AuthSecurityUtils.getStaffById(AuthSecurityUtils.getCurrentUserId()).getCompId());
+        }
+        //获取当前年月日
+        SimpleDateFormat f = new SimpleDateFormat("yyyyMMdd");//设置日期格式
+        String date = f.format(new Date(System.currentTimeMillis()));
+        //查询质检信息数量包括已删除的集合
+        List<QualityInspectionManagement> qualityInspectionManagementList = this.selectQualityInspectionManagementList(qualityInspectionManagement);//调用Service中的方法
+        //生成业务编号
+        if (qualityInspectionManagementList.size() > 0) {
+            //取第一条数据的编号
+            String n = qualityInspectionManagementList.get(0).getQualityNo();
+            //截取编号后4位
+            int intNumber = Integer.parseInt(n.substring(15));
+            intNumber++;
+            String Number = String.valueOf(intNumber);
+            for (int i = 0; i < 4; i++) {
+                Number = Number.length() < 4 ? "0" + Number : Number;
+            }
+            //编号自增
+            Number = qualityInspectionManagement.getNumberLetter() + date + qualityInspectionManagement.getWarehouseNo() + Number;
+            qualityInspectionManagement.setQualityNo(Number);
+        } else {
+            //如果当天数据为空,生成第一条数据
+            String Number = qualityInspectionManagement.getNumberLetter() + date + qualityInspectionManagement.getWarehouseNo() + "0001";
+            qualityInspectionManagement.setQualityNo(Number);
+        }
         //判断质检编号是否唯一
         List<QualityInspectionManagement> qualityInspectionManagements =
                 this.selectList(new EntityWrapper<QualityInspectionManagement>()
@@ -281,9 +334,6 @@ public class QualityInspectionManagementServiceImpl extends ServiceImpl<QualityI
         if (qualityInspectionManagements.size() > 0) {
             throw new YException(YExceptionEnum.QUALITY_NO_ERROR);
         }
-        if(qualityInspectionManagement.getCompId() == null || qualityInspectionManagement.getCompId().isEmpty()){
-            qualityInspectionManagement.setCompId(AuthSecurityUtils.getStaffById(AuthSecurityUtils.getCurrentUserId()).getCompId());
-        }
         qualityInspectionManagement.setRelationId(relationId);
         qualityInspectionManagement.setManagementType("1");
         qualityInspectionManagement.setQualityDate(new Date());

+ 2011 - 213
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/WarehouseInOutInfoServiceImpl.java

@@ -33,6 +33,7 @@ import com.baomidou.mybatisplus.service.impl.ServiceImpl;
 import com.yh.saas.plugin.yiliangyiyun.util.CalculationUtil;
 import com.yh.saas.plugin.yiliangyiyun.util.GeTuiUtils;
 import com.yh.saas.plugin.yiliangyiyun.util.WebSocket;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -104,6 +105,12 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
     private ITranSettlementReportService tranSettlementReportService;
     @Autowired
     private WebSocket webSocket;
+    @Autowired
+    private IWeighingManagementService weighingManagementService;
+    @Autowired
+    private IQualityInspectionManagementService qualityInspectionManagementService;
+    @Autowired
+    private IPaymentManagementService paymentManagementService;
 
     /**
      * 待完成页面列表
@@ -225,8 +232,8 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
                 // 详情
                 warehouseInOutDetail.setInfoId(warehouseInOutInfo.getId());
                 warehouseInOutDetail.setId(IdGenerator.generateUUID());
-                List<WarehouseInOutDetail> ll = warehouseInOutDetailService.selectList(new EntityWrapper<WarehouseInOutDetail>().eq("info_id",warehouseInOutInfo.getId()));
-                if(ll.size() == 0){
+                List<WarehouseInOutDetail> ll = warehouseInOutDetailService.selectList(new EntityWrapper<WarehouseInOutDetail>().eq("info_id", warehouseInOutInfo.getId()));
+                if (ll.size() == 0) {
                     warehouseInOutDetailService.insert(warehouseInOutDetail);
                 }
             }
@@ -238,8 +245,8 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
                     // 详情
                     warehouseInOutDetail.setInfoId(warehouseInOutInfo.getId());
                     warehouseInOutDetail.setId(IdGenerator.generateUUID());
-                    List<WarehouseInOutDetail> ll = warehouseInOutDetailService.selectList(new EntityWrapper<WarehouseInOutDetail>().eq("info_id",warehouseInOutInfo.getId()));
-                    if(ll.size() == 0){
+                    List<WarehouseInOutDetail> ll = warehouseInOutDetailService.selectList(new EntityWrapper<WarehouseInOutDetail>().eq("info_id", warehouseInOutInfo.getId()));
+                    if (ll.size() == 0) {
                         warehouseInOutDetailService.insert(warehouseInOutDetail);
                     }
                 } else {
@@ -247,7 +254,7 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
                 }
             }
             //入库
-            if("2".equals(warehouseInOutInfo.getInOutFlag())) {
+            if ("2".equals(warehouseInOutInfo.getInOutFlag())) {
                 Wrapper wrapper = new EntityWrapper<TranCarInfo>()
                         .eq("contract_no", warehouseInOutInfo.getContractNo())
                         .eq("car_no", warehouseInOutInfo.getCarNo())
@@ -290,40 +297,38 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
                 warehouseInOutInfo.setStatus(StatusEnum.SUBMITTED.getName());
                 this.insert(warehouseInOutInfo);
                 //更新出入库任务表已完成量
-                InOutWarehouseTask inOutWarehouseTask=inOutWarehouseTaskService.selectOne(new EntityWrapper<InOutWarehouseTask>()
-                .eq("in_out_task_no",warehouseInOutInfo.getInOutTaskNo()));
-                if (inOutWarehouseTask!=null){
+                InOutWarehouseTask inOutWarehouseTask = inOutWarehouseTaskService.selectOne(new EntityWrapper<InOutWarehouseTask>()
+                        .eq("in_out_task_no", warehouseInOutInfo.getInOutTaskNo()));
+                if (inOutWarehouseTask != null) {
                     //可超出重量
-                    Float overNeight=0.0f;
-                    ContractManagementInfo contractManagementInfo=contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
-                    .eq("comp_id",inOutWarehouseTask.getCompId())
-                    .eq("contract_no",inOutWarehouseTask.getContractNo()));
+                    Float overNeight = 0.0f;
+                    ContractManagementInfo contractManagementInfo = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
+                            .eq("comp_id", inOutWarehouseTask.getCompId())
+                            .eq("contract_no", inOutWarehouseTask.getContractNo()));
                     //入库
-                    if (contractManagementInfo!=null&&"2".equals(inOutWarehouseTask.getInOutFlag())){
-                        overNeight=inOutWarehouseTask.getWeight()*(contractManagementInfo.getOverShort()/100);
-                    }
-                    else {
-                        contractManagementInfo=contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
-                                .eq("comp_id",inOutWarehouseTask.getCompId())
-                                .eq("contract_no",inOutWarehouseTask.getWarehouseName()));
+                    if (contractManagementInfo != null && "2".equals(inOutWarehouseTask.getInOutFlag())) {
+                        overNeight = inOutWarehouseTask.getWeight() * (contractManagementInfo.getOverShort() / 100);
+                    } else {
+                        contractManagementInfo = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
+                                .eq("comp_id", inOutWarehouseTask.getCompId())
+                                .eq("contract_no", inOutWarehouseTask.getWarehouseName()));
                         //移库入库
-                        if (contractManagementInfo==null&&"2".equals(inOutWarehouseTask.getInOutFlag())){
-                            overNeight=inOutWarehouseTask.getWeight()*0.08f;
+                        if (contractManagementInfo == null && "2".equals(inOutWarehouseTask.getInOutFlag())) {
+                            overNeight = inOutWarehouseTask.getWeight() * 0.08f;
                         }
                     }
-                    inOutWarehouseTask.setCompletedQuantity(inOutWarehouseTask.getCompletedQuantity()+Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
-                    if (inOutWarehouseTask.getCompletedQuantity()>inOutWarehouseTask.getWeight()+overNeight){
+                    inOutWarehouseTask.setCompletedQuantity(inOutWarehouseTask.getCompletedQuantity() + Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
+                    if (inOutWarehouseTask.getCompletedQuantity() > inOutWarehouseTask.getWeight() + overNeight) {
                         throw new YException(YExceptionEnum.TASK_WEIGHT_EXCEEDED_ERROR);
-                    }
-                    else {
+                    } else {
                         inOutWarehouseTaskService.updateById(inOutWarehouseTask);
                     }
                 }
                 // 详情
                 warehouseInOutDetail.setInfoId(warehouseInOutInfo.getId());
                 warehouseInOutDetail.setId(IdGenerator.generateUUID());
-                List<WarehouseInOutDetail> ll = warehouseInOutDetailService.selectList(new EntityWrapper<WarehouseInOutDetail>().eq("info_id",warehouseInOutInfo.getId()));
-                if(ll.size() == 0){
+                List<WarehouseInOutDetail> ll = warehouseInOutDetailService.selectList(new EntityWrapper<WarehouseInOutDetail>().eq("info_id", warehouseInOutInfo.getId()));
+                if (ll.size() == 0) {
                     warehouseInOutDetailService.insert(warehouseInOutDetail);
                 }
 
@@ -331,32 +336,30 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
             // 编辑修改记录
             else {
                 //更新出入库任务表已完成量
-                InOutWarehouseTask inOutWarehouseTask=inOutWarehouseTaskService.selectOne(new EntityWrapper<InOutWarehouseTask>()
-                        .eq("in_out_task_no",warehouseInOutInfo.getInOutTaskNo()));
-                if (inOutWarehouseTask!=null){
+                InOutWarehouseTask inOutWarehouseTask = inOutWarehouseTaskService.selectOne(new EntityWrapper<InOutWarehouseTask>()
+                        .eq("in_out_task_no", warehouseInOutInfo.getInOutTaskNo()));
+                if (inOutWarehouseTask != null) {
                     //可超出重量
-                    Float overNeight=0.0f;
-                    ContractManagementInfo contractManagementInfo=contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
-                            .eq("comp_id",inOutWarehouseTask.getCompId())
-                            .eq("contract_no",inOutWarehouseTask.getContractNo()));
+                    Float overNeight = 0.0f;
+                    ContractManagementInfo contractManagementInfo = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
+                            .eq("comp_id", inOutWarehouseTask.getCompId())
+                            .eq("contract_no", inOutWarehouseTask.getContractNo()));
                     //入库
-                    if (contractManagementInfo!=null&&"2".equals(inOutWarehouseTask.getInOutFlag())){
-                        overNeight=inOutWarehouseTask.getWeight()*(contractManagementInfo.getOverShort()/100);
-                    }
-                    else {
-                        contractManagementInfo=contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
-                                .eq("comp_id",inOutWarehouseTask.getCompId())
-                                .eq("contract_no",inOutWarehouseTask.getWarehouseName()));
+                    if (contractManagementInfo != null && "2".equals(inOutWarehouseTask.getInOutFlag())) {
+                        overNeight = inOutWarehouseTask.getWeight() * (contractManagementInfo.getOverShort() / 100);
+                    } else {
+                        contractManagementInfo = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
+                                .eq("comp_id", inOutWarehouseTask.getCompId())
+                                .eq("contract_no", inOutWarehouseTask.getWarehouseName()));
                         //移库入库
-                        if (contractManagementInfo==null&&"2".equals(inOutWarehouseTask.getInOutFlag())){
-                            overNeight=inOutWarehouseTask.getWeight()*0.08f;
+                        if (contractManagementInfo == null && "2".equals(inOutWarehouseTask.getInOutFlag())) {
+                            overNeight = inOutWarehouseTask.getWeight() * 0.08f;
                         }
                     }
-                    inOutWarehouseTask.setCompletedQuantity(inOutWarehouseTask.getCompletedQuantity()+Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
-                    if (inOutWarehouseTask.getCompletedQuantity()>inOutWarehouseTask.getWeight()+overNeight){
+                    inOutWarehouseTask.setCompletedQuantity(inOutWarehouseTask.getCompletedQuantity() + Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
+                    if (inOutWarehouseTask.getCompletedQuantity() > inOutWarehouseTask.getWeight() + overNeight) {
                         throw new YException(YExceptionEnum.TASK_WEIGHT_EXCEEDED_ERROR);
-                    }
-                    else {
+                    } else {
                         inOutWarehouseTaskService.updateById(inOutWarehouseTask);
                     }
                 }
@@ -399,7 +402,8 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
                                     .eq("delete_flag", "0"));
                             // 判断是否有货
                             if (warehousePositionStorageInfo != null) {
-                                original = Float.valueOf(String.valueOf(warehousePositionStorageInfo.getStorage() + warehouseInOutInfo.getNetWeight()));;
+                                original = Float.valueOf(String.valueOf(warehousePositionStorageInfo.getStorage() + warehouseInOutInfo.getNetWeight()));
+                                ;
                                 // 更新库存量
                                 warehousePositionStorageInfo.setStorage(warehousePositionStorageInfo.getStorage() + Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
                                 warehousePositionStorageInfoService.updateById(warehousePositionStorageInfo);
@@ -597,8 +601,8 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
                         // 插入详情
                         warehouseInOutDetail.setInfoId(warehouseInOutInfo.getId());
                         warehouseInOutDetail.setId(IdGenerator.generateUUID());
-                        List<WarehouseInOutDetail> ll = warehouseInOutDetailService.selectList(new EntityWrapper<WarehouseInOutDetail>().eq("info_id",warehouseInOutInfo.getId()));
-                        if(ll.size() == 0){
+                        List<WarehouseInOutDetail> ll = warehouseInOutDetailService.selectList(new EntityWrapper<WarehouseInOutDetail>().eq("info_id", warehouseInOutInfo.getId()));
+                        if (ll.size() == 0) {
                             warehouseInOutDetailService.insert(warehouseInOutDetail);
                         }
                     }
@@ -768,9 +772,9 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
                             stockPurchaseReceiptReport.setSettlementWeight(Double.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
                             stockPurchaseReceiptReport.setDeductionAmount(warehouseInOutInfo.getDeductionAmount());
 
-                            if(contractManagementInfo.getUnitContractPrice()!=null) {
+                            if (contractManagementInfo.getUnitContractPrice() != null) {
                                 BigDecimal cost = new BigDecimal(contractManagementInfo.getUnitContractPrice());
-                                BigDecimal deductionAmount = new BigDecimal(warehouseInOutInfo.getDeductionAmount()!=null?warehouseInOutInfo.getDeductionAmount():0.0);
+                                BigDecimal deductionAmount = new BigDecimal(warehouseInOutInfo.getDeductionAmount() != null ? warehouseInOutInfo.getDeductionAmount() : 0.0);
                                 stockPurchaseReceiptReport.setSettlementPrice(cost.subtract(deductionAmount).doubleValue());
                                 BigDecimal netWeight = new BigDecimal(warehouseInOutInfo.getNetWeight());
                                 stockPurchaseReceiptReport.setAmountIngPayable(cost.subtract(deductionAmount).multiply(netWeight).doubleValue());
@@ -778,7 +782,7 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
                             //随行就市
                             else {
                                 BigDecimal cost = new BigDecimal(Float.toString(warehouseInOutInfo.getCost()));
-                                BigDecimal deductionAmount = new BigDecimal(warehouseInOutInfo.getDeductionAmount()!=null?warehouseInOutInfo.getDeductionAmount():0.0);
+                                BigDecimal deductionAmount = new BigDecimal(warehouseInOutInfo.getDeductionAmount() != null ? warehouseInOutInfo.getDeductionAmount() : 0.0);
                                 stockPurchaseReceiptReport.setSettlementPrice(cost.subtract(deductionAmount).doubleValue());
                                 BigDecimal netWeight = new BigDecimal(warehouseInOutInfo.getNetWeight());
                                 stockPurchaseReceiptReport.setAmountIngPayable(cost.subtract(deductionAmount).multiply(netWeight).doubleValue());
@@ -853,9 +857,9 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
                                     stockPurchaseReceiptReport.setWarehousingDate(warehouseInOutInfo.getInOutDate());
                                     stockPurchaseReceiptReport.setDeductionWeight(Double.valueOf(String.valueOf(warehouseInOutInfo.getDeductionWeight())));
                                     stockPurchaseReceiptReport.setSettlementWeight(Double.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
-                                    if(contractManagementInfo.getUnitContractPrice()!=null) {
+                                    if (contractManagementInfo.getUnitContractPrice() != null) {
                                         BigDecimal cost = new BigDecimal(contractManagementInfo.getUnitContractPrice());
-                                        BigDecimal deductionAmount = new BigDecimal(warehouseInOutInfo.getDeductionAmount()!=null?warehouseInOutInfo.getDeductionAmount():0.0);
+                                        BigDecimal deductionAmount = new BigDecimal(warehouseInOutInfo.getDeductionAmount() != null ? warehouseInOutInfo.getDeductionAmount() : 0.0);
                                         stockPurchaseReceiptReport.setSettlementPrice(cost.subtract(deductionAmount).doubleValue());
                                         BigDecimal netWeight = new BigDecimal(warehouseInOutInfo.getNetWeight());
                                         stockPurchaseReceiptReport.setAmountIngPayable(cost.subtract(deductionAmount).multiply(netWeight).doubleValue());
@@ -863,7 +867,7 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
                                     //随行就市
                                     else {
                                         BigDecimal cost = new BigDecimal(warehouseInOutInfo.getCost());
-                                        BigDecimal deductionAmount = new BigDecimal(warehouseInOutInfo.getDeductionAmount()!=null?warehouseInOutInfo.getDeductionAmount():0.0);
+                                        BigDecimal deductionAmount = new BigDecimal(warehouseInOutInfo.getDeductionAmount() != null ? warehouseInOutInfo.getDeductionAmount() : 0.0);
                                         stockPurchaseReceiptReport.setSettlementPrice(cost.subtract(deductionAmount).doubleValue());
                                         BigDecimal netWeight = new BigDecimal(warehouseInOutInfo.getNetWeight());
                                         stockPurchaseReceiptReport.setAmountIngPayable(cost.subtract(deductionAmount).multiply(netWeight).doubleValue());
@@ -905,7 +909,7 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
                         ContractManagementInfo contractManagementInfo = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
                                 .eq("contract_no", warehouseInOutInfo.getContractNo())
                                 .eq("deliver_type", "2")
-                                .eq("contract_type","1")
+                                .eq("contract_type", "1")
                                 .eq("delete_flag", "0"));
                         if (contractManagementInfo != null) {
                             //现货销售出库报表
@@ -927,8 +931,8 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
                             stockSaleReceiptReport.setStatusFlag(StatusEnum.TO_BE_RECEIVED.getFlag());
                             stockSaleReceiptReport.setStatus(StatusEnum.TO_BE_RECEIVED.getName());
                             stockSaleReceiptReport.setSettlementWeight(stockSaleReceiptReport.getNetWeight());
-                            CostManagementInfo costManagementInfo = costManagementInfoService.selectOne(new EntityWrapper<CostManagementInfo>().eq("warehouse_id",warehouseInOutInfo.getBaseId()));
-                            if(costManagementInfo != null){
+                            CostManagementInfo costManagementInfo = costManagementInfoService.selectOne(new EntityWrapper<CostManagementInfo>().eq("warehouse_id", warehouseInOutInfo.getBaseId()));
+                            if (costManagementInfo != null) {
                                 stockSaleReceiptReport.setCost(costManagementInfo.getCost());
 
                             }
@@ -937,7 +941,7 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
                         //自运的销售合同
                         ContractManagementInfo contractManagementInfo1 = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
                                 .eq("contract_no", warehouseInOutInfo.getContractNo())
-                                .eq("contract_type","1")
+                                .eq("contract_type", "1")
                                 .eq("deliver_type", "1")
                                 .eq("delete_flag", "0"));
                         if (contractManagementInfo1 != null) {
@@ -951,7 +955,7 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
                             stockSaleReceiptReport.setWarehouseName(warehouseInOutInfo.getWarehouseName());
                             stockSaleReceiptReport.setCarNo(warehouseInOutInfo.getCarNo());
                             stockSaleReceiptReport.setTranCarNo(warehouseInOutInfo.getTranCarNo());
-                            stockSaleReceiptReport.setCaseNo(warehouseInOutInfo.getBoxNo()+","+warehouseInOutInfo.getBoxNoOther());
+                            stockSaleReceiptReport.setCaseNo(warehouseInOutInfo.getBoxNo() + "," + warehouseInOutInfo.getBoxNoOther());
                             stockSaleReceiptReport.setTitleNo(warehouseInOutInfo.getTitleNo());
                             stockSaleReceiptReport.setGrossWeight(Double.valueOf(String.valueOf(warehouseInOutInfo.getGrossWeight())));
                             stockSaleReceiptReport.setTare(Double.valueOf(String.valueOf(warehouseInOutInfo.getTare())));
@@ -963,8 +967,8 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
                             stockSaleReceiptReport.setStatusFlag(StatusEnum.TO_BE_RECEIVED.getFlag());
                             stockSaleReceiptReport.setStatus(StatusEnum.TO_BE_RECEIVED.getName());
                             stockSaleReceiptReport.setSettlementWeight(stockSaleReceiptReport.getNetWeight());
-                            CostManagementInfo costManagementInfo = costManagementInfoService.selectOne(new EntityWrapper<CostManagementInfo>().eq("warehouse_id",warehouseInOutInfo.getBaseId()));
-                            if(costManagementInfo != null){
+                            CostManagementInfo costManagementInfo = costManagementInfoService.selectOne(new EntityWrapper<CostManagementInfo>().eq("warehouse_id", warehouseInOutInfo.getBaseId()));
+                            if (costManagementInfo != null) {
                                 stockSaleReceiptReport.setCost(costManagementInfo.getCost());
 
                             }
@@ -980,16 +984,16 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
                     if (tranCarInfo != null) {
                         //将到货数据同步到派车表
                         tranCarInfo.setUnloadNetWeight(Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
-                        if (warehouseInOutInfo.getAddressUrl()!=null) {
+                        if (warehouseInOutInfo.getAddressUrl() != null) {
                             tranCarInfo.setUnloadPoundImg(warehouseInOutInfo.getAddressUrl());
                         }
                         tranCarInfo.setUnloadingDate(warehouseInOutInfo.getInOutDate());
 //                        if ("2".equals(tranCarInfo.getSubmit())) {
 //                            throw new YException(YExceptionEnum.CARNO_SUBMITTED_ERROR);
 //                        } else {
-                            tranCarInfo.setSubmit("2");
-                            tranCarInfo.setStatusFlag(StatusEnum.DELIVERED.getFlag());
-                            tranCarInfo.setStatus(StatusEnum.DELIVERED.getName());
+                        tranCarInfo.setSubmit("2");
+                        tranCarInfo.setStatusFlag(StatusEnum.DELIVERED.getFlag());
+                        tranCarInfo.setStatus(StatusEnum.DELIVERED.getName());
 //                        }
                         tranCarInfoService.updateById(tranCarInfo);
                     }
@@ -1051,10 +1055,10 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
                     Double newCost = 0d;
                     if (CollectionUtils.isEmpty(weightedDetailsList)) {
                         if ("干粮".equals(warehouseInOutInfo.getType())) {
-                            newCost = ((warehouseInOutInfo.getCost()/1.09 + warehouseInOutInfo.getFreight()) * Double.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight()))) / (Double.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())) + original);
+                            newCost = ((warehouseInOutInfo.getCost() / 1.09 + warehouseInOutInfo.getFreight()) * Double.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight()))) / (Double.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())) + original);
 
                         } else {
-                            newCost = ((warehouseInOutInfo.getCost()/1.09 + warehouseInOutInfo.getFreight()) * Double.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())) ) / (warehouseInOutInfo.getPureWeight() + original);
+                            newCost = ((warehouseInOutInfo.getCost() / 1.09 + warehouseInOutInfo.getFreight()) * Double.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight()))) / (warehouseInOutInfo.getPureWeight() + original);
 
                         }
                         weightedDetails.setCostBefore(Float.valueOf(String.valueOf(newCost)));
@@ -1062,10 +1066,10 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
                     } else {
                         weightedDetails.setCostBefore(weightedDetailsList.get(0).getCostBefore());
                         if ("干粮".equals(warehouseInOutInfo.getType())) {
-                            newCost = ((warehouseInOutInfo.getCost()/1.09 + warehouseInOutInfo.getFreight()) * Double.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())) + original * weightedDetails.getCostBefore()) / (Double.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())) + original);
+                            newCost = ((warehouseInOutInfo.getCost() / 1.09 + warehouseInOutInfo.getFreight()) * Double.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())) + original * weightedDetails.getCostBefore()) / (Double.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())) + original);
 
                         } else {
-                            newCost = ((warehouseInOutInfo.getCost()/1.09 + warehouseInOutInfo.getFreight()) * Double.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())) + original * weightedDetails.getCostBefore()) / (warehouseInOutInfo.getPureWeight() + original);
+                            newCost = ((warehouseInOutInfo.getCost() / 1.09 + warehouseInOutInfo.getFreight()) * Double.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())) + original * weightedDetails.getCostBefore()) / (warehouseInOutInfo.getPureWeight() + original);
 
                         }
                         weightedDetails.setCostAfter(newCost);
@@ -1162,10 +1166,10 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
                         ContractManagementInfo contractManagementInfo = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
                                 .eq("contract_no", warehouseInOutInfo.getContractNo())
                                 .eq("deliver_type", "2")
-                                .eq("contract_type","1")
+                                .eq("contract_type", "1")
                                 .eq("delete_flag", "0"));
                         if (contractManagementInfo != null) {
-                            if(contractManagementInfo.getUnitContractPrice() == null){
+                            if (contractManagementInfo.getUnitContractPrice() == null) {
                                 contractManagementInfo.setUnitContractPrice(0d);
                             }
                             //现货销售出库报表
@@ -1174,18 +1178,17 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
                             stockSaleReceiptReport.setWarehouseRecordId(warehouseInOutInfo.getId());
                             stockSaleReceiptReport.setCompId(warehouseBaseInfo.getCompId());
                             TranTaskInfo tranTaskInfo = tranTaskInfoService.selectOne(new EntityWrapper<TranTaskInfo>()
-                                .eq("contract_no",contractManagementInfo.getContractNo())
-                                .eq("comp_id",contractManagementInfo.getCompId()));
-                            if (tranTaskInfo != null){
+                                    .eq("contract_no", contractManagementInfo.getContractNo())
+                                    .eq("comp_id", contractManagementInfo.getCompId()));
+                            if (tranTaskInfo != null) {
                                 TranProcessInfo tranProcessInfo = tranProcessInfoService.selectOne(new EntityWrapper<TranProcessInfo>()
-                                    .eq("info_id",tranTaskInfo.getId()));
-                                if (tranProcessInfo != null){
-                                    if (tranProcessInfo.getThreeTranType()==null){
+                                        .eq("info_id", tranTaskInfo.getId()));
+                                if (tranProcessInfo != null) {
+                                    if (tranProcessInfo.getThreeTranType() == null) {
                                         tranProcessInfo.setThreeTranType(warehouseInOutInfo.getOutType());
 
-                                    }
-                                    else if (!tranProcessInfo.getThreeTranType().contains(warehouseInOutInfo.getOutType())){
-                                        tranProcessInfo.setThreeTranType(tranProcessInfo.getThreeTranType()+","+warehouseInOutInfo.getOutType());
+                                    } else if (!tranProcessInfo.getThreeTranType().contains(warehouseInOutInfo.getOutType())) {
+                                        tranProcessInfo.setThreeTranType(tranProcessInfo.getThreeTranType() + "," + warehouseInOutInfo.getOutType());
                                     }
                                     tranProcessInfoService.updateById(tranProcessInfo);
                                     stockSaleReceiptReport.setProcessId(tranProcessInfo.getId());
@@ -1200,7 +1203,7 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
                                     tranCarInfo.setLoadNetWeight(Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
                                     tranCarInfo.setStatusFlag(StatusEnum.LOADED.getFlag());
                                     tranCarInfo.setStatus(StatusEnum.LOADED.getName());
-                                    if("汽运".equals(warehouseInOutInfo.getOutType())){
+                                    if ("汽运".equals(warehouseInOutInfo.getOutType())) {
                                         tranCarInfo.setCarNo(warehouseInOutInfo.getCarNo());
                                         tranCarInfo.setCaseNo(warehouseInOutInfo.getBoxNo());
                                         tranCarInfo.setThreeTranType("汽运");
@@ -1212,13 +1215,13 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
                                         stockSaleReceiptReport.setTitleNo(warehouseInOutInfo.getTitleNo());
                                         stockSaleReceiptReport.setCaseNoOther(warehouseInOutInfo.getBoxNoOther());
                                         stockSaleReceiptReport.setTitleNoOther(warehouseInOutInfo.getTitleNoOther());
-                                    }else if("火运".equals(warehouseInOutInfo.getOutType())){
+                                    } else if ("火运".equals(warehouseInOutInfo.getOutType())) {
                                         tranCarInfo.setCarNo(warehouseInOutInfo.getCarNo());
                                         tranCarInfo.setBoxNo(warehouseInOutInfo.getWingNumber());
                                         tranCarInfo.setThreeTranType("火运");
                                         stockSaleReceiptReport.setCarNo(warehouseInOutInfo.getCarNo());
                                         stockSaleReceiptReport.setBoxNo(warehouseInOutInfo.getWingNumber());
-                                    }else if("散船".equals(warehouseInOutInfo.getOutType())){
+                                    } else if ("散船".equals(warehouseInOutInfo.getOutType())) {
                                         tranCarInfo.setShipName(warehouseInOutInfo.getShipName());
                                         tranCarInfo.setShipNo(warehouseInOutInfo.getShipNumber());
                                         tranCarInfo.setThreeTranType("散船");
@@ -1226,7 +1229,7 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
                                         stockSaleReceiptReport.setCarNo(warehouseInOutInfo.getCarNo());
                                         stockSaleReceiptReport.setShipName(warehouseInOutInfo.getShipName());
                                         stockSaleReceiptReport.setShipNo(warehouseInOutInfo.getShipNumber());
-                                    }else if("集装箱船".equals(warehouseInOutInfo.getOutType())){
+                                    } else if ("集装箱船".equals(warehouseInOutInfo.getOutType())) {
                                         tranCarInfo.setCarNo(warehouseInOutInfo.getCarNo());
                                         tranCarInfo.setCaseNo(warehouseInOutInfo.getBoxNo());
                                         tranCarInfo.setTitleNo(warehouseInOutInfo.getTitleNo());
@@ -1247,11 +1250,11 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
                             stockSaleReceiptReport.setNetWeight(warehouseInOutInfo.getNetWeight());
                             stockSaleReceiptReport.setDeliveryDate(warehouseInOutInfo.getInOutDate());
                             //按出库重量结算时
-                            if("1".equals(contractManagementInfo.getSettlementWeightMethod())) {
+                            if ("1".equals(contractManagementInfo.getSettlementWeightMethod())) {
                                 stockSaleReceiptReport.setSettlementWeight(warehouseInOutInfo.getNetWeight());
                             }
                             //定价销售
-                            if(contractManagementInfo.getUnitContractPrice()!=null) {
+                            if (contractManagementInfo.getUnitContractPrice() != null) {
                                 stockSaleReceiptReport.setSettlementPrice(contractManagementInfo.getUnitContractPrice());
                                 stockSaleReceiptReport.setAmountIngReceivable(warehouseInOutInfo.getNetWeight() *
                                         (contractManagementInfo.getUnitContractPrice()));
@@ -1261,8 +1264,8 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
                             stockSaleReceiptReport.setStatusFlag(StatusEnum.TO_BE_RECEIVED.getFlag());
                             stockSaleReceiptReport.setStatus(StatusEnum.TO_BE_RECEIVED.getName());
                             stockSaleReceiptReport.setSettlementWeight(stockSaleReceiptReport.getNetWeight());
-                            CostManagementInfo costManagementInfo = costManagementInfoService.selectOne(new EntityWrapper<CostManagementInfo>().eq("warehouse_id",warehouseInOutInfo.getBaseId()));
-                            if(costManagementInfo != null){
+                            CostManagementInfo costManagementInfo = costManagementInfoService.selectOne(new EntityWrapper<CostManagementInfo>().eq("warehouse_id", warehouseInOutInfo.getBaseId()));
+                            if (costManagementInfo != null) {
                                 stockSaleReceiptReport.setCost(costManagementInfo.getCost());
 
                             }
@@ -1272,7 +1275,7 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
                         ContractManagementInfo contractManagementInfo1 = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
                                 .eq("contract_no", warehouseInOutInfo.getContractNo())
                                 .eq("deliver_type", "1")
-                                .eq("contract_type","1")
+                                .eq("contract_type", "1")
                                 .eq("delete_flag", "0"));
                         if (contractManagementInfo1 != null) {
                             //现货销售出库报表
@@ -1281,29 +1284,29 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
                             stockSaleReceiptReport.setWarehouseRecordId(warehouseInOutInfo.getId());
                             stockSaleReceiptReport.setCompId(warehouseBaseInfo.getCompId());
                             TranTaskInfo tranTaskInfo = tranTaskInfoService.selectOne(new EntityWrapper<TranTaskInfo>()
-                                    .eq("contract_no",contractManagementInfo1.getContractNo())
-                                    .eq("comp_id",contractManagementInfo1.getCompId()));
-                            if (tranTaskInfo != null){
+                                    .eq("contract_no", contractManagementInfo1.getContractNo())
+                                    .eq("comp_id", contractManagementInfo1.getCompId()));
+                            if (tranTaskInfo != null) {
                                 TranProcessInfo tranProcessInfo = tranProcessInfoService.selectOne(new EntityWrapper<TranProcessInfo>()
-                                        .eq("info_id",tranTaskInfo.getId()));
-                                if (tranProcessInfo != null){
+                                        .eq("info_id", tranTaskInfo.getId()));
+                                if (tranProcessInfo != null) {
                                     stockSaleReceiptReport.setProcessId(tranProcessInfo.getId());
                                     stockSaleReceiptReport.setProcessNo(tranProcessInfo.getProcessNo());
-                                    if("汽运".equals(warehouseInOutInfo.getOutType())){
+                                    if ("汽运".equals(warehouseInOutInfo.getOutType())) {
                                         stockSaleReceiptReport.setCarNo(warehouseInOutInfo.getCarNo());
                                         stockSaleReceiptReport.setTranCarNo(warehouseInOutInfo.getTranCarNo());
                                         stockSaleReceiptReport.setCaseNo(warehouseInOutInfo.getBoxNo());
                                         stockSaleReceiptReport.setTitleNo(warehouseInOutInfo.getTitleNo());
                                         stockSaleReceiptReport.setCaseNoOther(warehouseInOutInfo.getBoxNoOther());
                                         stockSaleReceiptReport.setTitleNoOther(warehouseInOutInfo.getTitleNoOther());
-                                    }else if("火运".equals(warehouseInOutInfo.getOutType())){
+                                    } else if ("火运".equals(warehouseInOutInfo.getOutType())) {
                                         stockSaleReceiptReport.setCarNo(warehouseInOutInfo.getCarNo());
                                         stockSaleReceiptReport.setBoxNo(warehouseInOutInfo.getWingNumber());
-                                    }else if("散船".equals(warehouseInOutInfo.getOutType())){
+                                    } else if ("散船".equals(warehouseInOutInfo.getOutType())) {
                                         stockSaleReceiptReport.setCarNo(warehouseInOutInfo.getCarNo());
                                         stockSaleReceiptReport.setShipName(warehouseInOutInfo.getShipName());
                                         stockSaleReceiptReport.setShipNo(warehouseInOutInfo.getShipNumber());
-                                    }else if("集装箱船".equals(warehouseInOutInfo.getOutType())){
+                                    } else if ("集装箱船".equals(warehouseInOutInfo.getOutType())) {
                                         stockSaleReceiptReport.setCaseNo(warehouseInOutInfo.getBoxNo());
                                         stockSaleReceiptReport.setCaseNoOther(warehouseInOutInfo.getBoxNoOther());
                                         stockSaleReceiptReport.setCarNo(warehouseInOutInfo.getCarNo());
@@ -1311,25 +1314,23 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
                                         stockSaleReceiptReport.setTitleNo(warehouseInOutInfo.getTitleNo());
                                     }
                                     //自运出库时手动加的车
-                                    if("1".equals(warehouseInOutInfo.getSelfLoading())) {
+                                    if ("1".equals(warehouseInOutInfo.getSelfLoading())) {
                                         List<TranCarInfo> tranCarInfoList = tranCarInfoService.selectList(new EntityWrapper<TranCarInfo>()
                                                 .eq("contract_no", contractManagementInfo1.getContractNo()).eq("tran_type", "1"));
-                                        TranCarInfo tranCarInfo=new TranCarInfo();
+                                        TranCarInfo tranCarInfo = new TranCarInfo();
                                         tranCarInfo.setProcessId(tranProcessInfo.getId());
-                                        tranCarInfo.setTranPrice(String.valueOf(tranProcessInfo.getTranPrice()!=null?tranProcessInfo.getTranPrice():0f));
+                                        tranCarInfo.setTranPrice(String.valueOf(tranProcessInfo.getTranPrice() != null ? tranProcessInfo.getTranPrice() : 0f));
                                         tranCarInfo.setInfoId(tranTaskInfo.getId());
                                         tranCarInfo.setCompId(warehouseBaseInfo.getCompId());
                                         tranCarInfo.setTranType("1");
                                         tranCarInfo.setCarNo(warehouseInOutInfo.getCarNo());
-                                        String tranCarNo="";
-                                        if ((tranCarInfoList.size()+1)<10){
-                                            tranCarNo="C00"+(tranCarInfoList.size()+1);
-                                        }
-                                        else if(tranCarInfoList.size()+1<100){
-                                            tranCarNo="C0"+(tranCarInfoList.size()+1);
-                                        }
-                                        else {
-                                            tranCarNo="C"+(tranCarInfoList.size()+1);
+                                        String tranCarNo = "";
+                                        if ((tranCarInfoList.size() + 1) < 10) {
+                                            tranCarNo = "C00" + (tranCarInfoList.size() + 1);
+                                        } else if (tranCarInfoList.size() + 1 < 100) {
+                                            tranCarNo = "C0" + (tranCarInfoList.size() + 1);
+                                        } else {
+                                            tranCarNo = "C" + (tranCarInfoList.size() + 1);
                                         }
                                         tranCarInfo.setTranCarNo(tranCarNo);
                                         tranCarInfo.setId(IdGenerator.generateUUID());
@@ -1343,8 +1344,7 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
                                         tranCarInfoService.insert(tranCarInfo);
                                     }
                                 }
-                            }
-                            else{
+                            } else {
                                 throw new YException(YExceptionEnum.TRANTASK_NOT_CREATED_ERROR);
                             }
                             stockSaleReceiptReport.setContractNo(warehouseInOutInfo.getContractNo());
@@ -1355,12 +1355,12 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
                             stockSaleReceiptReport.setDeliveryDate(warehouseInOutInfo.getInOutDate());
                             stockSaleReceiptReport.setSettlementWeight(warehouseInOutInfo.getNetWeight());
                             //按出库重量结算时
-                            if("1".equals(contractManagementInfo1.getSettlementWeightMethod())){
+                            if ("1".equals(contractManagementInfo1.getSettlementWeightMethod())) {
                                 stockSaleReceiptReport.setSettlementWeight(warehouseInOutInfo.getNetWeight());
                                 //定价销售
-                                if(contractManagementInfo1.getUnitContractPrice()!=null) {
+                                if (contractManagementInfo1.getUnitContractPrice() != null) {
                                     stockSaleReceiptReport.setSettlementPrice(contractManagementInfo1.getUnitContractPrice());
-                                    stockSaleReceiptReport.setAmountIngReceivable(warehouseInOutInfo.getNetWeight()*
+                                    stockSaleReceiptReport.setAmountIngReceivable(warehouseInOutInfo.getNetWeight() *
                                             (contractManagementInfo1.getUnitContractPrice()));
                                     stockSaleReceiptReport.setAmountEdReceivable(0.00);
                                     stockSaleReceiptReport.setAmountNotReceivable(stockSaleReceiptReport.getAmountIngReceivable());
@@ -1369,8 +1369,8 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
                             stockSaleReceiptReport.setStatusFlag(StatusEnum.TO_BE_RECEIVED.getFlag());
                             stockSaleReceiptReport.setStatus(StatusEnum.TO_BE_RECEIVED.getName());
                             stockSaleReceiptReport.setSettlementWeight(stockSaleReceiptReport.getNetWeight());
-                            CostManagementInfo costManagementInfo = costManagementInfoService.selectOne(new EntityWrapper<CostManagementInfo>().eq("warehouse_id",warehouseInOutInfo.getBaseId()));
-                            if(costManagementInfo != null){
+                            CostManagementInfo costManagementInfo = costManagementInfoService.selectOne(new EntityWrapper<CostManagementInfo>().eq("warehouse_id", warehouseInOutInfo.getBaseId()));
+                            if (costManagementInfo != null) {
                                 stockSaleReceiptReport.setCost(costManagementInfo.getCost());
 
                             }
@@ -1383,44 +1383,41 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
                                 .eq("move_task_no", warehouseInOutInfo.getContractNo())
                                 .eq("in_out_flag", "1")
                                 .eq("delete_flag", "0"));
-                        if (inOutWarehouseTask!=null){
+                        if (inOutWarehouseTask != null) {
                             //自运出库时手动加的车
-                            if("1".equals(warehouseInOutInfo.getSelfLoading())) {
+                            if ("1".equals(warehouseInOutInfo.getSelfLoading())) {
                                 List<TranCarInfo> tranCarInfoList = tranCarInfoService.selectList(new EntityWrapper<TranCarInfo>()
                                         .eq("contract_no", warehouseInOutInfo.getContractNo()).eq("tran_type", "1")
-                                        .orderBy("create_date",false));
-                                TranCarInfo tranCarInfo=new TranCarInfo();
-                                TranTaskInfo tranTaskInfo=tranTaskInfoService.selectOne(new EntityWrapper<TranTaskInfo>()
-                                    .eq("comp_id",warehouseBaseInfo.getCompId())
-                                    .eq("contract_no",warehouseInOutInfo.getContractNo()));
-                                if (tranTaskInfo!=null){
+                                        .orderBy("create_date", false));
+                                TranCarInfo tranCarInfo = new TranCarInfo();
+                                TranTaskInfo tranTaskInfo = tranTaskInfoService.selectOne(new EntityWrapper<TranTaskInfo>()
+                                        .eq("comp_id", warehouseBaseInfo.getCompId())
+                                        .eq("contract_no", warehouseInOutInfo.getContractNo()));
+                                if (tranTaskInfo != null) {
                                     TranProcessInfo tranProcessInfo = tranProcessInfoService.selectOne(new EntityWrapper<TranProcessInfo>()
-                                            .eq("info_id",tranTaskInfo.getId()));
+                                            .eq("info_id", tranTaskInfo.getId()));
                                     tranCarInfo.setProcessId(tranProcessInfo.getId());
                                     tranCarInfo.setInfoId(tranTaskInfo.getId());
-                                    tranCarInfo.setTranPrice(String.valueOf(tranProcessInfo.getTranPrice()!=null?tranProcessInfo.getTranPrice():0f));
-                                }
-                                else {
+                                    tranCarInfo.setTranPrice(String.valueOf(tranProcessInfo.getTranPrice() != null ? tranProcessInfo.getTranPrice() : 0f));
+                                } else {
                                     throw new YException(YExceptionEnum.TRANTASK_NOT_CREATED_ERROR);
                                 }
                                 //出库时打入成本
                                 CostManagementInfo costManagementInfo = costManagementInfoService.selectOne(new EntityWrapper<CostManagementInfo>().eq("warehouse_id", warehouseInOutInfo.getBaseId())
                                         .eq("goods_name", warehouseInOutInfo.getGoodsName()));
-                                if(costManagementInfo != null) {
+                                if (costManagementInfo != null) {
                                     tranCarInfo.setCost(costManagementInfo.getCost());
                                 }
                                 tranCarInfo.setCompId(warehouseBaseInfo.getCompId());
                                 tranCarInfo.setTranType("1");
                                 tranCarInfo.setCarNo(warehouseInOutInfo.getCarNo());
-                                String tranCarNo="";
-                                if ((tranCarInfoList.size()+1)<10){
-                                    tranCarNo="C00"+(tranCarInfoList.size()+1);
-                                }
-                                else if(tranCarInfoList.size()+1<100){
-                                    tranCarNo="C0"+(tranCarInfoList.size()+1);
-                                }
-                                else {
-                                    tranCarNo="C"+(tranCarInfoList.size()+1);
+                                String tranCarNo = "";
+                                if ((tranCarInfoList.size() + 1) < 10) {
+                                    tranCarNo = "C00" + (tranCarInfoList.size() + 1);
+                                } else if (tranCarInfoList.size() + 1 < 100) {
+                                    tranCarNo = "C0" + (tranCarInfoList.size() + 1);
+                                } else {
+                                    tranCarNo = "C" + (tranCarInfoList.size() + 1);
                                 }
                                 tranCarInfo.setTranCarNo(tranCarNo);
                                 tranCarInfo.setId(IdGenerator.generateUUID());
@@ -1435,21 +1432,19 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
                         }
                     }
                     //运费大于0生成运费结算报表数据
-                    if (warehouseInOutInfo.getFreight()!=null&&warehouseInOutInfo.getFreight()>0){
+                    if (warehouseInOutInfo.getFreight() != null && warehouseInOutInfo.getFreight() > 0) {
                         //生成汽运报表
                         TranSettlementReport tranSettlementReport = new TranSettlementReport();
                         tranSettlementReport.setCompId(warehouseBaseInfo.getCompId());
                         tranSettlementReport.setCarId(warehouseInOutInfo.getCarId());
                         tranSettlementReport.setId(IdGenerator.generateUUID());
-                        if ("汽运".equals(warehouseInOutInfo.getOutType())){
+                        if ("汽运".equals(warehouseInOutInfo.getOutType())) {
                             tranSettlementReport.setTranType("汽运");
                             tranSettlementReport.setTranTypeKey("1");
-                        }
-                        else if ("火运".equals(warehouseInOutInfo.getOutType())){
+                        } else if ("火运".equals(warehouseInOutInfo.getOutType())) {
                             tranSettlementReport.setTranType("火运");
                             tranSettlementReport.setTranTypeKey("2");
-                        }
-                        else {
+                        } else {
                             tranSettlementReport.setTranType("船运");
                             tranSettlementReport.setTranTypeKey("3");
                         }
@@ -1493,14 +1488,14 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
                     if (tranCarInfo != null) {
                         //将发货数据同步到派车表
                         tranCarInfo.setLoadNetWeight(Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
-                        if (warehouseInOutInfo.getAddressUrl()!=null) {
+                        if (warehouseInOutInfo.getAddressUrl() != null) {
                             tranCarInfo.setLoadPoundImg(warehouseInOutInfo.getAddressUrl());
                         }
-                        if ("移库出库".equals(warehouseInOutInfo.getInOutType())){
-                        //移库出库时打入成本
-                        CostManagementInfo costManagementInfo = costManagementInfoService.selectOne(new EntityWrapper<CostManagementInfo>().eq("warehouse_id", warehouseInOutInfo.getBaseId())
-                                .eq("goods_name", warehouseInOutInfo.getGoodsName()));
-                            if(costManagementInfo != null) {
+                        if ("移库出库".equals(warehouseInOutInfo.getInOutType())) {
+                            //移库出库时打入成本
+                            CostManagementInfo costManagementInfo = costManagementInfoService.selectOne(new EntityWrapper<CostManagementInfo>().eq("warehouse_id", warehouseInOutInfo.getBaseId())
+                                    .eq("goods_name", warehouseInOutInfo.getGoodsName()));
+                            if (costManagementInfo != null) {
                                 tranCarInfo.setCost(costManagementInfo.getCost());
                             }
                         }
@@ -1588,7 +1583,7 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
                             stockPurchaseReceiptReport.setWarehousingDate(warehouseInOutInfo.getInOutDate());
                             stockPurchaseReceiptReport.setSettlementWeight(Double.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
                             stockPurchaseReceiptReport.setSettlementPrice(contractManagementInfo.getUnitContractPrice());
-                            if(contractManagementInfo.getUnitContractPrice()!=null) {
+                            if (contractManagementInfo.getUnitContractPrice() != null) {
                                 stockPurchaseReceiptReport.setAmountIngPayable(warehouseInOutInfo.getNetWeight() *
                                         (contractManagementInfo.getUnitContractPrice()));
                             }
@@ -1619,9 +1614,9 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
                                 stockPurchaseReceiptReportService.updateById(stockPurchaseReceiptReport);
                                 workflowService.activateInstance(stockPurchaseReceiptReport.getWorkflowId(), stockPurchaseReceiptReport.getId());
                             }
-                         }
+                        }
                         ContractManagementInfo contractManagementInfo1 = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
-                                .eq("contract_no", contractManagementInfo.getContractNo()).eq("delete_flag","0"));
+                                .eq("contract_no", contractManagementInfo.getContractNo()).eq("delete_flag", "0"));
                         if (contractManagementInfo1 == null) {
                             throw new YException(YExceptionEnum.CONTRACT_NO_NOT_EXSITS_ERROR);
                         }
@@ -1677,7 +1672,7 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
                         if (tranCarInfo != null) {
                             //将发货数据同步到派车表
                             tranCarInfo.setLoadNetWeight(Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
-                            if (warehouseInOutInfo.getAddressUrl()!=null) {
+                            if (warehouseInOutInfo.getAddressUrl() != null) {
                                 tranCarInfo.setLoadPoundImg(warehouseInOutInfo.getAddressUrl());
                             }
                             tranCarInfo.setLoadingDate(warehouseInOutInfo.getInOutDate());
@@ -1716,7 +1711,7 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
                             stockPurchaseReceiptReport.setWarehousingDate(warehouseInOutInfo.getInOutDate());
                             stockPurchaseReceiptReport.setSettlementWeight(Double.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
                             stockPurchaseReceiptReport.setSettlementPrice(contractManagementInfo.getUnitContractPrice());
-                            if(contractManagementInfo.getUnitContractPrice()!=null) {
+                            if (contractManagementInfo.getUnitContractPrice() != null) {
                                 stockPurchaseReceiptReport.setAmountIngPayable(warehouseInOutInfo.getNetWeight() *
                                         (contractManagementInfo.getUnitContractPrice()));
                             }
@@ -1749,7 +1744,7 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
                             }
                         }
                         ContractManagementInfo contractManagementInfo1 = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
-                                .eq("contract_no", contractManagementInfo.getContractNo()).eq("delete_flag","0"));
+                                .eq("contract_no", contractManagementInfo.getContractNo()).eq("delete_flag", "0"));
                         if (contractManagementInfo1 == null) {
                             throw new YException(YExceptionEnum.CONTRACT_NO_NOT_EXSITS_ERROR);
                         }
@@ -1762,15 +1757,14 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
                         if (tranCarInfo != null) {
                             //将发货数据同步到派车表
                             tranCarInfo.setLoadNetWeight(Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
-                            if (warehouseInOutInfo.getAddressUrl()!=null) {
+                            if (warehouseInOutInfo.getAddressUrl() != null) {
                                 tranCarInfo.setLoadPoundImg(warehouseInOutInfo.getAddressUrl());
                             }
                             tranCarInfo.setLoadingDate(warehouseInOutInfo.getInOutDate());
                             tranCarInfo.setContractNo(warehouseInOutInfo.getContractNo());
-                            if(contractManagementInfo!=null){
+                            if (contractManagementInfo != null) {
                                 tranCarInfo.setCost(contractManagementInfo.getUnitContractPrice());
-                            }
-                            else {
+                            } else {
                                 //出库时打入成本
                                 CostManagementInfo costManagementInfo = costManagementInfoService.selectOne(new EntityWrapper<CostManagementInfo>().eq("warehouse_id", warehouseInOutInfo.getBaseId())
                                         .eq("goods_name", warehouseInOutInfo.getGoodsName()));
@@ -1793,35 +1787,33 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
                     inOutWarehouseTaskWrapper.andNew().eq("move_task_no", warehouseInOutInfo.getContractNo()).or()
                             .eq("contract_no", warehouseInOutInfo.getContractNo());
                     InOutWarehouseTask inOutWarehouseTask = inOutWarehouseTaskService.selectOne(inOutWarehouseTaskWrapper);
-                    if (inOutWarehouseTask!=null){
+                    if (inOutWarehouseTask != null) {
                         //自运出库时手动加的车
-                        if("1".equals(warehouseInOutInfo.getSelfLoading())||warehouseInOutInfo.getTranCarNo() == null||warehouseInOutInfo.getCarId() == null) {
+                        if ("1".equals(warehouseInOutInfo.getSelfLoading()) || warehouseInOutInfo.getTranCarNo() == null || warehouseInOutInfo.getCarId() == null) {
                             List<TranCarInfo> tranCarInfoList = tranCarInfoService.selectList(new EntityWrapper<TranCarInfo>()
                                     .eq("contract_no", warehouseInOutInfo.getContractNo()).eq("tran_type", "1")
-                                    .orderBy("create_date",false));
-                            TranCarInfo tranCarInfo=new TranCarInfo();
-                            TranTaskInfo tranTaskInfo=tranTaskInfoService.selectOne(new EntityWrapper<TranTaskInfo>()
-                                    .eq("comp_id",warehouseBaseInfo.getCompId())
-                                    .eq("contract_no",warehouseInOutInfo.getContractNo()));
-                            if (tranTaskInfo!=null){
+                                    .orderBy("create_date", false));
+                            TranCarInfo tranCarInfo = new TranCarInfo();
+                            TranTaskInfo tranTaskInfo = tranTaskInfoService.selectOne(new EntityWrapper<TranTaskInfo>()
+                                    .eq("comp_id", warehouseBaseInfo.getCompId())
+                                    .eq("contract_no", warehouseInOutInfo.getContractNo()));
+                            if (tranTaskInfo != null) {
                                 TranProcessInfo tranProcessInfo = tranProcessInfoService.selectOne(new EntityWrapper<TranProcessInfo>()
-                                        .eq("info_id",tranTaskInfo.getId()));
+                                        .eq("info_id", tranTaskInfo.getId()));
                                 tranCarInfo.setProcessId(tranProcessInfo.getId());
-                                tranCarInfo.setTranPrice(String.valueOf(tranProcessInfo.getTranPrice()!=null?tranProcessInfo.getTranPrice():0f));
+                                tranCarInfo.setTranPrice(String.valueOf(tranProcessInfo.getTranPrice() != null ? tranProcessInfo.getTranPrice() : 0f));
                                 tranCarInfo.setInfoId(tranTaskInfo.getId());
-                            }
-                            else {
+                            } else {
                                 throw new YException(YExceptionEnum.TRANTASK_NOT_CREATED_ERROR);
                             }
                             tranCarInfo.setCompId(warehouseBaseInfo.getCompId());
                             tranCarInfo.setTranType("1");
                             tranCarInfo.setSubmit("1");
                             ContractManagementInfo contractManagementInfo1 = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
-                                    .eq("contract_no", warehouseInOutInfo.getContractNo()).eq("delete_flag","0"));
+                                    .eq("contract_no", warehouseInOutInfo.getContractNo()).eq("delete_flag", "0"));
                             if (contractManagementInfo1 != null) {
                                 tranCarInfo.setCost(contractManagementInfo1.getUnitContractPrice());
-                            }
-                            else {
+                            } else {
                                 //出库时打入成本
                                 CostManagementInfo costManagementInfo = costManagementInfoService.selectOne(new EntityWrapper<CostManagementInfo>().eq("warehouse_id", warehouseInOutInfo.getBaseId())
                                         .eq("goods_name", warehouseInOutInfo.getGoodsName()));
@@ -1832,15 +1824,13 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
                             tranCarInfo.setLoadNetWeight(Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
                             tranCarInfo.setLoadingDate(new Date());
                             tranCarInfo.setCarNo(warehouseInOutInfo.getCarNo());
-                            String tranCarNo="";
-                            if ((tranCarInfoList.size()+1)<10){
-                                tranCarNo="C00"+(tranCarInfoList.size()+1);
-                            }
-                            else if(tranCarInfoList.size()+1<100){
-                                tranCarNo="C0"+(tranCarInfoList.size()+1);
-                            }
-                            else {
-                                tranCarNo="C"+(tranCarInfoList.size()+1);
+                            String tranCarNo = "";
+                            if ((tranCarInfoList.size() + 1) < 10) {
+                                tranCarNo = "C00" + (tranCarInfoList.size() + 1);
+                            } else if (tranCarInfoList.size() + 1 < 100) {
+                                tranCarNo = "C0" + (tranCarInfoList.size() + 1);
+                            } else {
+                                tranCarNo = "C" + (tranCarInfoList.size() + 1);
                             }
                             tranCarInfo.setTranCarNo(tranCarNo);
                             tranCarInfo.setId(IdGenerator.generateUUID());
@@ -1882,35 +1872,33 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
 
     @Override
     public String returnWarehouse(WarehouseInOutInfo warehouseInOutInfo) {
-        WarehouseInOutInfo warehouseInOutInfo1=this.selectById(warehouseInOutInfo.getId());
+        WarehouseInOutInfo warehouseInOutInfo1 = this.selectById(warehouseInOutInfo.getId());
         warehouseInOutInfo.setStatusFlag(StatusEnum.TEMPORARILY_STORED.getFlag());
         warehouseInOutInfo.setStatus(StatusEnum.TEMPORARILY_STORED.getName());
         this.updateById(warehouseInOutInfo);
-        if ("销售出库".equals(warehouseInOutInfo1.getInOutType())){
-            StockSaleReceiptReport stockSaleReceiptReport=stockSaleReceiptReportService.selectOne(new EntityWrapper<StockSaleReceiptReport>()
-            .eq("warehouse_record_id",warehouseInOutInfo.getId()));
-            if (stockSaleReceiptReport!=null){
+        if ("销售出库".equals(warehouseInOutInfo1.getInOutType())) {
+            StockSaleReceiptReport stockSaleReceiptReport = stockSaleReceiptReportService.selectOne(new EntityWrapper<StockSaleReceiptReport>()
+                    .eq("warehouse_record_id", warehouseInOutInfo.getId()));
+            if (stockSaleReceiptReport != null) {
                 stockSaleReceiptReportService.deleteById(stockSaleReceiptReport.getId());
             }
-        }
-        else if ("采购入库".equals(warehouseInOutInfo1.getInOutType())){
-            StockPurchaseReceiptReport stockPurchaseReceiptReport=stockPurchaseReceiptReportService.selectOne(new EntityWrapper<StockPurchaseReceiptReport>()
-                    .eq("warehouse_record_id",warehouseInOutInfo.getId()));
-            if (stockPurchaseReceiptReport!=null){
+        } else if ("采购入库".equals(warehouseInOutInfo1.getInOutType())) {
+            StockPurchaseReceiptReport stockPurchaseReceiptReport = stockPurchaseReceiptReportService.selectOne(new EntityWrapper<StockPurchaseReceiptReport>()
+                    .eq("warehouse_record_id", warehouseInOutInfo.getId()));
+            if (stockPurchaseReceiptReport != null) {
                 stockPurchaseReceiptReportService.deleteById(stockPurchaseReceiptReport.getId());
             }
-        }
-        else if ("移库入库".equals(warehouseInOutInfo1.getInOutType())){
-            StockPurchaseReceiptReport stockPurchaseReceiptReport=stockPurchaseReceiptReportService.selectOne(new EntityWrapper<StockPurchaseReceiptReport>()
-                    .eq("warehouse_record_id",warehouseInOutInfo.getId()));
-            if (stockPurchaseReceiptReport!=null){
+        } else if ("移库入库".equals(warehouseInOutInfo1.getInOutType())) {
+            StockPurchaseReceiptReport stockPurchaseReceiptReport = stockPurchaseReceiptReportService.selectOne(new EntityWrapper<StockPurchaseReceiptReport>()
+                    .eq("warehouse_record_id", warehouseInOutInfo.getId()));
+            if (stockPurchaseReceiptReport != null) {
                 stockPurchaseReceiptReportService.deleteById(stockPurchaseReceiptReport.getId());
             }
         }
-        InOutWarehouseTask inOutWarehouseTask=inOutWarehouseTaskService.selectOne(new EntityWrapper<InOutWarehouseTask>()
-                .eq("in_out_task_no",warehouseInOutInfo1.getInOutTaskNo()));
-        if (inOutWarehouseTask!=null){
-            inOutWarehouseTask.setCompletedQuantity(inOutWarehouseTask.getCompletedQuantity()-Float.valueOf(String.valueOf(warehouseInOutInfo1.getNetWeight())));
+        InOutWarehouseTask inOutWarehouseTask = inOutWarehouseTaskService.selectOne(new EntityWrapper<InOutWarehouseTask>()
+                .eq("in_out_task_no", warehouseInOutInfo1.getInOutTaskNo()));
+        if (inOutWarehouseTask != null) {
+            inOutWarehouseTask.setCompletedQuantity(inOutWarehouseTask.getCompletedQuantity() - Float.valueOf(String.valueOf(warehouseInOutInfo1.getNetWeight())));
         }
         return "OK";
 
@@ -2054,8 +2042,8 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
                 warehouseInOutDetail.setId(IdGenerator.generateUUID());
                 warehouseInOutDetail.setInfoId(warehouseInOutInfo.getId());
                 // 操作详情数据库
-                List<WarehouseInOutDetail> ll = warehouseInOutDetailService.selectList(new EntityWrapper<WarehouseInOutDetail>().eq("info_id",warehouseInOutInfo.getId()));
-                if(ll.size() == 0){
+                List<WarehouseInOutDetail> ll = warehouseInOutDetailService.selectList(new EntityWrapper<WarehouseInOutDetail>().eq("info_id", warehouseInOutInfo.getId()));
+                if (ll.size() == 0) {
                     warehouseInOutDetailService.insert(warehouseInOutDetail);
                 }
             }
@@ -2115,6 +2103,7 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
 
     /**
      * 查当天出/入库数量
+     *
      * @param positionId,type
      * @param inOutFlag
      * @return
@@ -2137,14 +2126,15 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
 
     /**
      * 调整
+     *
      * @param warehouseInOutInfo
      * @return
      */
     @Override
     public String adjustment(WarehouseInOutInfo warehouseInOutInfo) {
         List<WarehouseInOutInfo> warehouseInOutInfoList = warehouseInOutInfo.getWarehouseInOutInfoList();
-        if (!CollectionUtils.isEmpty(warehouseInOutInfoList)){
-            for (WarehouseInOutInfo warehouseInOutInfo1:warehouseInOutInfoList){
+        if (!CollectionUtils.isEmpty(warehouseInOutInfoList)) {
+            for (WarehouseInOutInfo warehouseInOutInfo1 : warehouseInOutInfoList) {
                 warehouseInOutInfo1.setAdjustment(warehouseInOutInfo.getAdjustment());
                 this.updateById(warehouseInOutInfo1);
             }
@@ -2225,7 +2215,7 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
 
 
     @Override
-    public Integer selectCountCompany(String compId,String type) {
+    public Integer selectCountCompany(String compId, String type) {
         Map<String, Object> pageView = new HashMap<>();
         pageView.put("compId", compId);
         //  仓库ID
@@ -2235,17 +2225,1825 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
 
     /**
      * 修改入库量
+     *
      * @param warehouseInOutInfo
      * @return
      */
     @Override
-    public String updateStockQuantity(WarehouseInOutInfo warehouseInOutInfo){
+    public String updateStockQuantity(WarehouseInOutInfo warehouseInOutInfo) {
         WarehouseInOutInfo warehouseInOutInfos = this.selectOne(new EntityWrapper<WarehouseInOutInfo>()
-                .eq("base_id",warehouseInOutInfo.getBaseId()).eq("in_out_type","采购入库"));
+                .eq("base_id", warehouseInOutInfo.getBaseId()).eq("in_out_type", "采购入库"));
         warehouseInOutInfos.setNetWeight(warehouseInOutInfo.getNetWeight());
         this.updateById(warehouseInOutInfos);
         return "ok";
 
     }
 
+
+    /**
+     * 新出入库
+     *
+     * @param warehouseInOutInfo
+     * @return
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public String newInOutWarehouse(WarehouseInOutInfo warehouseInOutInfo) {
+        CommonStaff commonStaff = staffService.getInfo(AuthSecurityUtils.getCurrentUserId());
+        warehouseInOutInfo.setBackOffice(commonStaff.getStaffName());
+        WarehouseInOutDetail warehouseInOutDetail = warehouseInOutInfo.getWarehouseInOutDetail();
+        // 查询仓库
+        WarehouseBaseInfo warehouseBaseInfo = warehouseBaseInfoService.selectById(warehouseInOutInfo.getBaseId());
+        //判断暂存提交(前端传参1暂存3提交)
+        if ("1".equals(warehouseInOutInfo.getStatusFlag())) {
+            //插入记录
+            if (StringUtils.isEmpty(warehouseInOutInfo.getId())) {
+                warehouseInOutInfo.setId(IdGenerator.generateUUID());
+                warehouseInOutInfo.setStatusFlag(StatusEnum.TEMPORARILY_STORED.getFlag());
+                warehouseInOutInfo.setStatus(StatusEnum.TEMPORARILY_STORED.getName());
+                this.insert(warehouseInOutInfo);
+                // 详情
+                warehouseInOutDetail.setInfoId(warehouseInOutInfo.getId());
+                warehouseInOutDetail.setId(IdGenerator.generateUUID());
+                List<WarehouseInOutDetail> ll = warehouseInOutDetailService.selectList(new EntityWrapper<WarehouseInOutDetail>().eq("info_id", warehouseInOutInfo.getId()));
+                if (ll.size() == 0) {
+                    warehouseInOutDetailService.insert(warehouseInOutDetail);
+                }
+            }
+            // 编辑修改记录
+            else {
+                this.updateById(warehouseInOutInfo);
+                //app暂存判断详情表是否存在
+                if (StringUtils.isEmpty(warehouseInOutDetail.getId())) {
+                    // 详情
+                    warehouseInOutDetail.setInfoId(warehouseInOutInfo.getId());
+                    warehouseInOutDetail.setId(IdGenerator.generateUUID());
+                    List<WarehouseInOutDetail> ll = warehouseInOutDetailService.selectList(new EntityWrapper<WarehouseInOutDetail>().eq("info_id", warehouseInOutInfo.getId()));
+                    if (ll.size() == 0) {
+                        warehouseInOutDetailService.insert(warehouseInOutDetail);
+                    }
+                } else {
+                    warehouseInOutDetailService.updateById(warehouseInOutDetail);
+                }
+            }
+            //入库
+            if ("2".equals(warehouseInOutInfo.getInOutFlag())) {
+                Wrapper wrapper = new EntityWrapper<TranCarInfo>()
+                        .eq("contract_no", warehouseInOutInfo.getContractNo())
+                        .eq("car_no", warehouseInOutInfo.getCarNo())
+                        .eq(TranCarInfo.QueryFiles.DELETE_FLAG, NumberConstant.CONSTANT0)
+                        .eq("tran_car_no", warehouseInOutInfo.getTranCarNo());
+                TranCarInfo tranCarInfo = tranCarInfoService.selectOne(wrapper);
+                if (tranCarInfo != null) {
+                    //将车改成已被选
+                    tranCarInfo.setSubmit("2");
+                    tranCarInfo.setStatusFlag(StatusEnum.DELIVERED.getFlag());
+                    tranCarInfo.setStatus(StatusEnum.DELIVERED.getName());
+                    tranCarInfoService.updateById(tranCarInfo);
+                }
+                //毛重检斤
+                //状态改为已称毛重
+                if (warehouseInOutInfo.getWeighingManagement() != null) {
+                    WeighingManagement weighingManagement = warehouseInOutInfo.getWeighingManagement();
+                    weighingManagement.setStatus(StatusEnum.WEIGHED_GROSS_WEIGHT.getName());
+                    weighingManagement.setStatusFlag(StatusEnum.WEIGHED_GROSS_WEIGHT.getFlag());
+                    weighingManagement.setGrossDate(new Date());
+                    weighingManagement.setSecretaryWeigher(commonStaff.getStaffName());
+                    //质检信息
+                    QualityInspectionManagement qualityInspectionManagement = qualityInspectionManagementService.selectOne(new EntityWrapper<QualityInspectionManagement>()
+                            .eq("relation_id", weighingManagement.getRelationId())
+                            .eq("comp_id", commonStaff.getCompId()));
+                    if (qualityInspectionManagement != null) {
+                        //状态改为已称毛重
+//                      qualityInspectionManagement.setStatus(StatusEnum.WEIGHED_GROSS_WEIGHT.getName());
+//                      qualityInspectionManagement.setStatusFlag(StatusEnum.WEIGHED_GROSS_WEIGHT.getFlag());
+                        qualityInspectionManagementService.updateById(qualityInspectionManagement);
+                    }
+                    if (weighingManagement.getGrossWeight() == null || weighingManagement.getGrossWeight() == 0) {
+                        throw new YException(YExceptionEnum.GROSSWEIGHT_NULL);
+                    }
+                    weighingManagementService.updateById(weighingManagement);
+                }
+            }
+            //出库
+            else {
+                Wrapper wrapper = new EntityWrapper<TranCarInfo>()
+                        .eq("contract_no", warehouseInOutInfo.getContractNo())
+                        .eq("car_no", warehouseInOutInfo.getCarNo())
+                        .eq(TranCarInfo.QueryFiles.DELETE_FLAG, NumberConstant.CONSTANT0)
+                        .eq("tran_car_no", warehouseInOutInfo.getTranCarNo());
+                TranCarInfo tranCarInfo = tranCarInfoService.selectOne(wrapper);
+                if (tranCarInfo != null) {
+                    if ("1".equals(tranCarInfo.getSubmit())) {
+                        throw new YException(YExceptionEnum.CARNO_SUBMITTED_ERROR);
+                    } else {
+                        tranCarInfo.setSubmit("1");
+                    }
+                    tranCarInfo.setStatusFlag(StatusEnum.LOADED.getFlag());
+                    tranCarInfo.setStatus(StatusEnum.LOADED.getName());
+                    tranCarInfoService.updateById(tranCarInfo);
+                }
+                if (warehouseInOutInfo.getWeighingManagement() != null) {
+                    if (warehouseInOutInfo.getWeighingManagement().getId() == null) {
+                        //皮重检斤
+                        WeighingManagement weighingManagement = warehouseInOutInfo.getWeighingManagement();
+                        String relationId = IdGenerator.generateUUID();
+                        weighingManagement.setId(IdGenerator.generateUUID());
+                        if (weighingManagement.getCompId() == null || weighingManagement.getCompId().isEmpty()) {
+                            weighingManagement.setCompId(AuthSecurityUtils.getStaffById(AuthSecurityUtils.getCurrentUserId()).getCompId());
+                        }
+                        //获取当前年月日
+                        SimpleDateFormat f = new SimpleDateFormat("yyyyMMdd");//设置日期格式
+                        String date = f.format(new Date(System.currentTimeMillis()));
+                        //查询质检信息数量包括已删除的集合
+                        List<WeighingManagement> weighingManagementList1 = weighingManagementService.selectWeighingManagementList(weighingManagement);//调用Service中的方法
+                        //生成业务编号
+                        if (weighingManagementList1.size() > 0) {
+                            //取第一条数据的编号
+                            String n = weighingManagementList1.get(0).getNumber();
+                            //截取编号后4位
+                            int intNumber = Integer.parseInt(n.substring(15));
+                            intNumber++;
+                            String businessNumber = String.valueOf(intNumber);
+                            for (int i = 0; i < 4; i++) {
+                                businessNumber = businessNumber.length() < 4 ? "0" + businessNumber : businessNumber;
+                            }
+                            //编号自增
+                            businessNumber = weighingManagement.getNumberLetter() + date + weighingManagement.getWarehouseNo() + businessNumber;
+                            weighingManagement.setNumber(businessNumber);
+                        } else {
+                            //如果当天数据为空,生成第一条数据
+                            String businessNumber = weighingManagement.getNumberLetter() + date + weighingManagement.getWarehouseNo() + "0001";
+                            weighingManagement.setNumber(businessNumber);
+                        }
+                        //判断质检编号是否唯一
+                        List<WeighingManagement> weighingManagementList = weighingManagementService.selectList(new EntityWrapper<WeighingManagement>()
+                                .eq("comp_id", weighingManagement.getCompId())
+                                .eq("number", weighingManagement.getNumber()));
+                        if (weighingManagementList.size() > 0) {
+                            throw new YException(YExceptionEnum.QUALITY_NO_ERROR);
+                        }
+                        weighingManagement.setWarehouseInOutId(warehouseInOutInfo.getId());
+                        weighingManagement.setRelationId(relationId);
+                        weighingManagement.setTareDate(new Date());
+                        weighingManagement.setManagementType("3");
+                        //出库类型
+                        weighingManagement.setServiceManagementType("2");
+                        //状态改为已称皮重
+                        weighingManagement.setStatus(StatusEnum.TARED.getName());
+                        weighingManagement.setStatusFlag(StatusEnum.TARED.getFlag());
+                        //生成质检信息
+                        QualityInspectionManagement qualityInspectionManagement = new QualityInspectionManagement();
+                        qualityInspectionManagement.setId(IdGenerator.generateUUID());
+                        qualityInspectionManagement.setRelationId(weighingManagement.getRelationId());
+                        qualityInspectionManagement.setContractNo(weighingManagement.getContractNo());
+                        qualityInspectionManagement.setQualityNo(weighingManagement.getNumber());
+                        qualityInspectionManagement.setWarehouseInOutId(weighingManagement.getWarehouseInOutId());
+                        qualityInspectionManagement.setCarNumber(weighingManagement.getCarNumber());
+                        qualityInspectionManagement.setCompId(weighingManagement.getCompId());
+                        qualityInspectionManagement.setGoodsName(weighingManagement.getGoodsName());
+                        qualityInspectionManagement.setBinNumber(weighingManagement.getBinNumber());
+                        qualityInspectionManagement.setStatus(StatusEnum.TARED.getName());
+                        qualityInspectionManagement.setStatusFlag(StatusEnum.TARED.getFlag());
+                        qualityInspectionManagement.setManagementType("3");
+                        qualityInspectionManagement.setServiceManagementType("2");
+                        qualityInspectionManagement.setQualityDate(new Date());
+                        qualityInspectionManagement.setWarehouseName(weighingManagement.getWarehouseName());
+                        qualityInspectionManagement.setStorageTagNo(weighingManagement.getStorageNumber());
+                        qualityInspectionManagementService.insert(qualityInspectionManagement);
+                        weighingManagementService.insert(weighingManagement);
+                    } else {
+                        //编辑皮重检斤
+                        WeighingManagement weighingManagement = warehouseInOutInfo.getWeighingManagement();
+                        //状态改为已称皮重
+                        weighingManagement.setStatus(StatusEnum.TARED.getName());
+                        weighingManagement.setStatusFlag(StatusEnum.TARED.getFlag());
+                        //更新检斤信息
+                        weighingManagementService.updateById(weighingManagement);
+                        //更新质检信息
+                        qualityInspectionManagementService.updateById(weighingManagement.getQualityInspectionManagement());
+                    }
+                }
+            }
+
+        } else {
+            //插入记录
+            if (StringUtils.isEmpty(warehouseInOutInfo.getId())) {
+                warehouseInOutInfo.setId(IdGenerator.generateUUID());
+                warehouseInOutInfo.setStatusFlag(StatusEnum.SUBMITTED.getFlag());
+                warehouseInOutInfo.setStatus(StatusEnum.SUBMITTED.getName());
+                this.insert(warehouseInOutInfo);
+                //更新出入库任务表已完成量
+                InOutWarehouseTask inOutWarehouseTask = inOutWarehouseTaskService.selectOne(new EntityWrapper<InOutWarehouseTask>()
+                        .eq("in_out_task_no", warehouseInOutInfo.getInOutTaskNo()));
+                if (inOutWarehouseTask != null) {
+                    //可超出重量
+                    Float overNeight = 0.0f;
+                    ContractManagementInfo contractManagementInfo = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
+                            .eq("comp_id", inOutWarehouseTask.getCompId())
+                            .eq("contract_no", inOutWarehouseTask.getContractNo()));
+                    //入库
+                    if (contractManagementInfo != null && "2".equals(inOutWarehouseTask.getInOutFlag())) {
+                        overNeight = inOutWarehouseTask.getWeight() * (contractManagementInfo.getOverShort() / 100);
+                    } else {
+                        contractManagementInfo = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
+                                .eq("comp_id", inOutWarehouseTask.getCompId())
+                                .eq("contract_no", inOutWarehouseTask.getWarehouseName()));
+                        //移库入库
+                        if (contractManagementInfo == null && "2".equals(inOutWarehouseTask.getInOutFlag())) {
+                            overNeight = inOutWarehouseTask.getWeight() * 0.08f;
+                        }
+                    }
+                    inOutWarehouseTask.setCompletedQuantity(inOutWarehouseTask.getCompletedQuantity() + Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
+                    if (inOutWarehouseTask.getCompletedQuantity() > inOutWarehouseTask.getWeight() + overNeight) {
+                        throw new YException(YExceptionEnum.TASK_WEIGHT_EXCEEDED_ERROR);
+                    } else {
+                        inOutWarehouseTaskService.updateById(inOutWarehouseTask);
+                    }
+                }
+                // 详情
+                warehouseInOutDetail.setInfoId(warehouseInOutInfo.getId());
+                warehouseInOutDetail.setId(IdGenerator.generateUUID());
+                List<WarehouseInOutDetail> ll = warehouseInOutDetailService.selectList(new EntityWrapper<WarehouseInOutDetail>().eq("info_id", warehouseInOutInfo.getId()));
+                if (ll.size() == 0) {
+                    warehouseInOutDetailService.insert(warehouseInOutDetail);
+                }
+
+            }
+            // 编辑修改记录
+            else {
+                //更新出入库任务表已完成量
+                InOutWarehouseTask inOutWarehouseTask = inOutWarehouseTaskService.selectOne(new EntityWrapper<InOutWarehouseTask>()
+                        .eq("in_out_task_no", warehouseInOutInfo.getInOutTaskNo()));
+                if (inOutWarehouseTask != null) {
+                    //可超出重量
+                    Float overNeight = 0.0f;
+                    ContractManagementInfo contractManagementInfo = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
+                            .eq("comp_id", inOutWarehouseTask.getCompId())
+                            .eq("contract_no", inOutWarehouseTask.getContractNo()));
+                    //入库
+                    if (contractManagementInfo != null && "2".equals(inOutWarehouseTask.getInOutFlag())) {
+                        overNeight = inOutWarehouseTask.getWeight() * (contractManagementInfo.getOverShort() / 100);
+                    } else {
+                        contractManagementInfo = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
+                                .eq("comp_id", inOutWarehouseTask.getCompId())
+                                .eq("contract_no", inOutWarehouseTask.getWarehouseName()));
+                        //移库入库
+                        if (contractManagementInfo == null && "2".equals(inOutWarehouseTask.getInOutFlag())) {
+                            overNeight = inOutWarehouseTask.getWeight() * 0.08f;
+                        }
+                    }
+                    inOutWarehouseTask.setCompletedQuantity(inOutWarehouseTask.getCompletedQuantity() + Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
+                    if (inOutWarehouseTask.getCompletedQuantity() > inOutWarehouseTask.getWeight() + overNeight) {
+                        throw new YException(YExceptionEnum.TASK_WEIGHT_EXCEEDED_ERROR);
+                    } else {
+                        inOutWarehouseTaskService.updateById(inOutWarehouseTask);
+                    }
+                }
+                warehouseInOutInfo.setInOutDate(new Date());
+                warehouseInOutInfo.setStatusFlag(StatusEnum.SUBMITTED.getFlag());
+                warehouseInOutInfo.setStatus(StatusEnum.SUBMITTED.getName());
+                this.updateById(warehouseInOutInfo);
+                warehouseInOutDetailService.updateById(warehouseInOutDetail);
+            }
+            // 采购订单
+            PurchaseOrder purchaseOrder = purchaseOrderService.selectOne(new EntityWrapper<PurchaseOrder>().eq("contract_no", warehouseInOutInfo.getContractNo())
+                    .eq("delete_flag", "0"));
+            // 销售订单
+            SaleOrder saleOrder = saleOrderService.selectOne(new EntityWrapper<SaleOrder>().eq("contract_no", warehouseInOutInfo.getContractNo())
+                    .eq("delete_flag", "0"));
+            //APP线上订单
+            if (purchaseOrder != null || saleOrder != null) {
+                // 先删除任务
+                noticeService.removeNotice(BaseNotice.NoticeStatus.TASK, "INOUTTASK-TASK-APPROVE",
+                        warehouseInOutInfo.getId(), null);
+                //APP线上订单入库
+                if ("2".equals(warehouseInOutInfo.getInOutFlag())) {
+                    TranCarInfo tranCarInfo = tranCarInfoService.selectOne(new EntityWrapper<TranCarInfo>()
+                            .eq("contract_no", warehouseInOutInfo.getContractNo())
+                            .eq("car_no", warehouseInOutInfo.getCarNo())
+                            .eq(TranCarInfo.QueryFiles.DELETE_FLAG, NumberConstant.CONSTANT0));
+                    // 合同表
+                    ContractManagementInfo contractManagementInfo = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>().eq("contract_no", warehouseInOutInfo.getContractNo())
+                            .eq("delete_flag", "0"));
+                    //更新库存量
+                    if (warehouseBaseInfo != null) {
+                        float original = 0f;
+                        //  查询库位
+                        WarehousePositionInfo warehousePositionInfo = warehousePositionInfoService.selectById(warehouseInOutInfo.getPositionId());
+                        if (warehousePositionInfo != null) {
+                            // 查询货物库存量
+                            WarehousePositionStorageInfo warehousePositionStorageInfo = warehousePositionStorageInfoService.selectOne(new EntityWrapper<WarehousePositionStorageInfo>()
+                                    .eq("position_id", warehouseInOutInfo.getPositionId())
+                                    .eq("goods_name", warehouseInOutInfo.getGoodsName())
+                                    .eq("delete_flag", "0"));
+                            // 判断是否有货
+                            if (warehousePositionStorageInfo != null) {
+                                original = Float.valueOf(String.valueOf(warehousePositionStorageInfo.getStorage() + warehouseInOutInfo.getNetWeight()));
+                                ;
+                                // 更新库存量
+                                warehousePositionStorageInfo.setStorage(warehousePositionStorageInfo.getStorage() + Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
+                                warehousePositionStorageInfoService.updateById(warehousePositionStorageInfo);
+                            }
+                            // 没有货
+                            else {
+                                original = 0f;
+                                WarehousePositionStorageInfo warehousePositionStorageInfo1 = new WarehousePositionStorageInfo();
+                                warehousePositionStorageInfo1.setId(IdGenerator.generateUUID());
+                                warehousePositionStorageInfo1.setPositionId(warehouseInOutInfo.getPositionId());
+                                warehousePositionStorageInfo1.setBinNumber(warehouseInOutInfo.getBinNumber());
+                                warehousePositionStorageInfo1.setGoodsName(warehouseInOutInfo.getGoodsName());
+                                warehousePositionStorageInfo1.setGoodsNameKey(warehouseInOutInfo.getGoodsNameKey());
+                                warehousePositionStorageInfo1.setStorage(warehouseInOutInfo.getNetWeight());
+                                warehousePositionStorageInfoService.insert(warehousePositionStorageInfo1);
+                            }
+                        }
+//                    // 生成加权成本数据
+//                    WeightedDetails weightedDetails = new WeightedDetails();
+//                    weightedDetails.setCompId(AuthSecurityUtils.getCurrentUserInfo().getCompId());
+//                    weightedDetails.setId(IdGenerator.generateUUID());
+//                    weightedDetails.setWarehouseId(warehouseInOutInfo.getBaseId());
+//                    weightedDetails.setWarehouseName(warehouseInOutInfo.getWarehouseName());
+//                    weightedDetails.setGoodsNameKey(warehouseInOutInfo.getGoodsNameKey());
+//                    weightedDetails.setGoodsName(warehouseInOutInfo.getGoodsName());
+//                    weightedDetails.setGrainType(warehouseInOutInfo.getType());
+//                    weightedDetails.setInTypeKey(warehouseInOutInfo.getTaskTypeKey());
+//                    weightedDetails.setInType(warehouseInOutInfo.getTaskType());
+//                    weightedDetails.setNetWeight(warehouseInOutInfo.getNetWeight());
+//                    weightedDetails.setPureWeight(warehouseInOutInfo.getPureWeight());
+//                    weightedDetails.setUnitPrice(warehouseInOutInfo.getUnitPrice());
+//                    weightedDetails.setDeductionAmount(warehouseInOutInfo.getDeductionAmount());
+//                    weightedDetails.setFreight(warehouseInOutInfo.getFreight());
+//                    weightedDetails.setOriginalStock(original);
+//                    // 查询入库全加权成本
+//                    List<WeightedDetails> weightedDetailsList = weightedDetailsService.selectList(new EntityWrapper<WeightedDetails>().eq("warehouse_id", warehouseInOutInfo.getWarehouseName())
+//                            .eq("goods_name_key", warehouseInOutInfo.getGoodsNameKey()).orderBy("update_date", false));
+//                    if (CollectionUtils.isEmpty(weightedDetailsList)) {
+//                        weightedDetails.setCostBefore(0f);
+//                    } else {
+//                        weightedDetails.setCostBefore(weightedDetailsList.get(0).getCostBefore());
+//                    }
+//                    // 计算新加权成本
+//                    Float newCost = 0f;
+//                    if ("干粮".equals(warehouseInOutInfo.getType())) {
+//                        newCost = ((warehouseInOutInfo.getCost() + warehouseInOutInfo.getFreight()) * warehouseInOutInfo.getNetWeight() + original * weightedDetails.getCostBefore()) / (warehouseInOutInfo.getNetWeight() + original);
+//
+//                    } else {
+//                        newCost = ((warehouseInOutInfo.getCost() + warehouseInOutInfo.getFreight()) * warehouseInOutInfo.getNetWeight() + original * weightedDetails.getCostBefore()) / (warehouseInOutInfo.getPureWeight() + original);
+//
+//                    }
+//                    weightedDetails.setCostAfter(newCost);
+//                    weightedDetailsService.insert(weightedDetails);
+//                    // 修改成本信息表
+//                    CostManagementInfo costManagementInfo = costManagementInfoService.selectOne(new EntityWrapper<CostManagementInfo>().eq("warehouse_id", weightedDetails.getWarehouseId())
+//                            .eq("goods_name_key", weightedDetails.getGoodsNameKey()));
+//                    List<WeightedDetails> weightedDetailsLists = weightedDetailsService.selectList(new EntityWrapper<WeightedDetails>().eq("warehouse_id", warehouseInOutInfo.getWarehouseName())
+//                            .eq("goods_name_key", warehouseInOutInfo.getGoodsNameKey()).orderBy("update_date", false));
+//                    Float net = 0f;
+//                    for(int i=0;i<weightedDetailsLists.size();i++){
+//                        net = net +weightedDetailsLists.get(i).getNetWeight();
+//                    }
+//                    if(costManagementInfo ==null){
+//                        CostManagementInfo costManagementInfo1= new CostManagementInfo();
+//                        costManagementInfo1.setCompId(AuthSecurityUtils.getCurrentUserInfo().getCompId());
+//                        costManagementInfo1.setId(IdGenerator.generateUUID());
+//                        costManagementInfo1.setWarehouseId(weightedDetails.getWarehouseId());
+//                        costManagementInfo1.setWarehouseName(weightedDetails.getWarehouseName());
+//                        costManagementInfo1.setGoodsNameKey(weightedDetails.getGoodsNameKey());
+//                        costManagementInfo1.setGoodsName(weightedDetails.getGoodsName());
+//                        costManagementInfo1.setWarehouseType(warehouseBaseInfo.getWarehouseType());
+//
+//                        costManagementInfo1.setStorage(net);
+//                        costManagementInfo1.setCost(weightedDetails.getCostAfter());
+//                        costManagementInfoService.insert(costManagementInfo1);
+//                    }
+//                    else{
+//                        costManagementInfo.setCost(weightedDetails.getCostAfter());
+//                        costManagementInfo.setStorage(net);
+//                        costManagementInfoService.updateById(costManagementInfo);
+//                    }
+                    }
+                    // 期货采购入库统计
+                    if (contractManagementInfo != null && "2".equals(contractManagementInfo.getGoodsType())) {
+                        PurchaseReceiptReport purchaseReceiptReport = new PurchaseReceiptReport();
+                        purchaseReceiptReport.setId(IdGenerator.generateUUID());
+                        purchaseReceiptReport.setCompId(warehouseBaseInfo.getCompId());
+                        purchaseReceiptReport.setContractNo(warehouseInOutInfo.getContractNo());
+                        purchaseReceiptReport.setGoodsName(warehouseInOutInfo.getGoodsName());
+                        purchaseReceiptReport.setGoodsNameKey(warehouseInOutInfo.getGoodsNameKey());
+                        purchaseReceiptReport.setPositionNumber(warehouseInOutInfo.getBinNumber());
+                        purchaseReceiptReport.setCarNo(warehouseInOutInfo.getCarNo());
+                        purchaseReceiptReport.setTranCarNo(warehouseInOutInfo.getTranCarNo());
+                        purchaseReceiptReport.setWarehousingDate(warehouseInOutInfo.getInOutDate());
+                        purchaseReceiptReport.setProtein(warehouseInOutDetail.getProtein());
+                        purchaseReceiptReport.setWaterContent(warehouseInOutDetail.getWaterContent());
+                        purchaseReceiptReport.setDeductionAmount(warehouseInOutInfo.getDeductionAmount());
+                        purchaseReceiptReport.setNetWeight(Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
+                        purchaseReceiptReport.setDeductionItems(warehouseInOutInfo.getDeductionItems());
+                        purchaseReceiptReport.setWarehouseName(warehouseInOutInfo.getWarehouseName());
+                        purchaseReceiptReport.setStatusFlag(StatusEnum.FORM_REVIEWED.getFlag());
+                        purchaseReceiptReport.setStatus(StatusEnum.FORM_REVIEWED.getName());
+                        if (purchaseOrder != null) {
+                            purchaseReceiptReport.setUnitPrice(purchaseOrder.getUnitPrice());
+                            purchaseReceiptReport.setUnloadingCharge(purchaseOrder.getUnloadingCharge());
+                            purchaseReceiptReport.setInvoiceFee(purchaseOrder.getInvoiceFee());
+                            //期货
+                            if (purchaseOrder.getBasis() != null) {
+                                purchaseReceiptReport.setBasisPrice(purchaseOrder.getBasis());
+                                BigDecimal unitPrice = new BigDecimal(Float.toString(purchaseReceiptReport.getUnitPrice()));
+                                BigDecimal basis = new BigDecimal(Float.toString(purchaseReceiptReport.getBasisPrice()));
+                                BigDecimal unloadingCharge = new BigDecimal(Float.toString(purchaseReceiptReport.getUnloadingCharge()));
+                                BigDecimal invoiceFee = new BigDecimal(Float.toString(purchaseReceiptReport.getInvoiceFee()));
+                                BigDecimal deductionAmount = new BigDecimal(purchaseReceiptReport.getDeductionAmount());
+                                purchaseReceiptReport.setSettlementPrice(unitPrice.add(basis).add(unloadingCharge).add(invoiceFee).add(deductionAmount).floatValue());
+                            }
+                            purchaseReceiptReport.setCustomerName(purchaseOrder.getSeller());
+                            purchaseReceiptReport.setInvoiceType(purchaseOrder.getType());
+                            purchaseReceiptReport.setInvoiceTypeKey(purchaseOrder.getType());
+                            purchaseReceiptReport.setAmountIngPayable(CalculationUtil.mulToFloat(purchaseReceiptReport.getSettlementPrice(), purchaseReceiptReport.getNetWeight()));
+                            purchaseReceiptReport.setAmountEdPayable(0f);
+                            purchaseReceiptReport.setAmountNotPayable(purchaseReceiptReport.getAmountIngPayable());
+                            if (tranCarInfo != null) {
+                                //将到货数据同步到派车表
+                                tranCarInfo.setUnloadNetWeight(Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
+                                tranCarInfo.setUnloadPoundImg(warehouseInOutInfo.getAddressUrl());
+                                tranCarInfo.setDeductionAmount(warehouseInOutInfo.getDeductionAmount());
+                                tranCarInfo.setDeductionItems(warehouseInOutInfo.getDeductionItems());
+                                tranCarInfo.setStatus(StatusEnum.DELIVERED.getName());
+                                tranCarInfo.setStatusFlag(StatusEnum.DELIVERED.getFlag());
+                                if (purchaseOrder != null) {
+                                    tranCarInfo.setSettlementPrice(purchaseReceiptReport.getSettlementPrice());
+                                }
+                                tranCarInfoService.updateById(tranCarInfo);
+                            }
+                        }
+                        // 客户确认
+                        TranCarInfo tranCarInfo1 = tranCarInfoService.selectOne(new EntityWrapper<TranCarInfo>()
+                                .eq("contract_no", warehouseInOutInfo.getContractNo())
+                                .eq("car_no", warehouseInOutInfo.getCarNo())
+                                .eq("delete_flag", "0"));
+                        if (tranCarInfo1 != null && "3".equals(tranCarInfo1.getConfirmFlag())) {
+                            purchaseReceiptReport.setCustomerConfirmationStatusFlag("1");
+                            purchaseReceiptReport.setCustomerConfirmationStatus("是");
+                            tesk(warehouseInOutInfo, "2");
+                            geTuiUtils.pushByCid("卸货提醒", "您的合同车辆:" + warehouseInOutInfo.getCarNo() + "申请卸货,请及时确认", purchaseOrder.getCommonId());
+
+                            UnimallMessage messageDO = new UnimallMessage();
+                            messageDO.setAdminId(purchaseOrder.getCommonId());
+                            messageDO.setCustomer(purchaseOrder.getCustomer());
+                            messageDO.setOperation("卸货提醒");
+                            messageDO.setResult("您的合同车辆:" + warehouseInOutInfo.getCarNo() + "申请卸货,请及时确认");
+                            messageDO.setGmtUpdate(new java.util.Date());
+                            messageDO.setGmtCreate(new Date());
+                            messageDO.setTaskId(IdGenerator.generateUUID());
+                            messageDO.setCompanyId(AuthSecurityUtils.getCurrentUserInfo().getCompId());
+                            messageDO.setPath("XXXXX");
+                            webSocket.sendOneMessage(messageDO);
+                        } else {
+                            purchaseReceiptReport.setCustomerConfirmationStatusFlag("3");
+                            purchaseReceiptReport.setCustomerConfirmationStatus("否");
+                        }
+                        purchaseReceiptReportService.insert(purchaseReceiptReport);
+                        boolean isStartWorkflow = org.apache.commons.lang3.StringUtils.isBlank(purchaseReceiptReport.getWorkflowId());
+                        // 不是退回的单子
+                        if (isStartWorkflow) {
+                            Workflow workflow = workflowService
+                                    .findLatestWorkflowByBusinessCodeByApp(purchaseReceiptReport.getCompId(), "PROCUREMENT-RECEIPT-REPORT");
+                            // 没配置审核流程,直接结束并处理信息
+                            if (workflow == null) {
+                                throw new YException(YExceptionEnum.PURCHASE_ORDER_ERROR);
+                            }
+                            // 开启审核流
+                            else {
+                                // 设置状态 已提交审核
+                                purchaseReceiptReport.setWorkflowId(workflow.getId());
+                                purchaseReceiptReportService.updateById(purchaseReceiptReport);
+                                workflowService.startInstance(workflow.getId(), purchaseReceiptReport.getId());
+                            }
+                        }
+                        // 退回的单子 再启用
+                        else {
+                            purchaseReceiptReportService.updateById(purchaseReceiptReport);
+                            workflowService.activateInstance(purchaseReceiptReport.getWorkflowId(), purchaseReceiptReport.getId());
+                        }
+                    }
+                }
+                //App线上订单出库
+                else if ("1".equals(warehouseInOutInfo.getTaskType())) {
+                    //状态改为已发车
+                    warehouseInOutInfo.setTranFlag("1");
+
+                    //判断是否第一次提交
+                    if (StringUtils.isEmpty(warehouseInOutDetail.getId())) {
+                        // 插入详情
+                        warehouseInOutDetail.setInfoId(warehouseInOutInfo.getId());
+                        warehouseInOutDetail.setId(IdGenerator.generateUUID());
+                        List<WarehouseInOutDetail> ll = warehouseInOutDetailService.selectList(new EntityWrapper<WarehouseInOutDetail>().eq("info_id", warehouseInOutInfo.getId()));
+                        if (ll.size() == 0) {
+                            warehouseInOutDetailService.insert(warehouseInOutDetail);
+                        }
+                    }
+                    //更新库存量
+                    //判断是否有货
+                    if (warehouseBaseInfo != null) {
+                        //  查询库位
+                        WarehousePositionInfo warehousePositionInfo = warehousePositionInfoService.selectById(warehouseInOutInfo.getPositionId());
+                        if (warehousePositionInfo != null) {
+                            // 查询货物库存量
+                            WarehousePositionStorageInfo warehousePositionStorageInfo = warehousePositionStorageInfoService.selectOne(new EntityWrapper<WarehousePositionStorageInfo>()
+                                    .eq("position_id", warehouseInOutInfo.getPositionId())
+                                    .eq("goods_name", warehouseInOutInfo.getGoodsName())
+                                    .eq("delete_flag", "0"));
+                            // 判断是否有货
+                            if (warehousePositionStorageInfo != null) {
+                                if (warehouseInOutInfo.getNetWeight() <= warehousePositionStorageInfo.getStorage()) {
+                                    // 更新库存量
+                                    warehousePositionStorageInfo.setStorage(warehousePositionStorageInfo.getStorage() - Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
+                                    warehousePositionStorageInfoService.updateById(warehousePositionStorageInfo);
+                                }
+                                //出库量大于库存量
+                                else {
+                                    throw new YException(YExceptionEnum.INVENTORY_NO_ERROR);
+                                }
+                            }
+                            // 没有储存量
+                            else {
+                                throw new YException(YExceptionEnum.POSITIONSTORAGE_NO_ERROR);
+                            }
+                        }
+                        //库位不存在
+                        else {
+                            throw new YException(YExceptionEnum.POSITION_NO_ERROR);
+                        }
+                    }
+                    //仓库不存在
+                    else {
+                        throw new YException(YExceptionEnum.WAREHOUSE_NO_ERROR);
+                    }
+                    //查询期货现货合同
+                    ContractManagementInfo contractManagementInfo = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
+                            .eq("contract_no", warehouseInOutInfo.getContractNo()));
+                    if (contractManagementInfo != null && "2".equals(contractManagementInfo.getGoodsType())) {
+                        //客户生成收货信息
+                        TranCarInfo tranCarInfo = new TranCarInfo();
+                        tranCarInfo.setId(IdGenerator.generateUUID());
+                        tranCarInfo.setCarNo(warehouseInOutInfo.getCarNo());
+                        tranCarInfo.setContractNo(warehouseInOutInfo.getContractNo());
+                        tranCarInfo.setTranCarNo(warehouseInOutInfo.getTranCarNo());
+                        tranCarInfo.setLoadNetWeight(Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
+                        tranCarInfo.setLoadPoundImg(warehouseInOutInfo.getAddressUrl());
+                        tranCarInfo.setConfirmFlag(StatusEnum.NOT_CONFIRM.getFlag());
+                        // 期货销售出库统计
+                        SalesDeliveryReport salesDeliveryReport = new SalesDeliveryReport();
+                        salesDeliveryReport.setId(IdGenerator.generateUUID());
+                        salesDeliveryReport.setCompId(warehouseBaseInfo.getCompId());
+                        salesDeliveryReport.setContractNo(warehouseInOutInfo.getContractNo());
+                        salesDeliveryReport.setGoodsName(warehouseInOutInfo.getGoodsName());
+                        salesDeliveryReport.setGoodsNameKey(warehouseInOutInfo.getGoodsNameKey());
+                        salesDeliveryReport.setPositionNumber(warehouseInOutInfo.getBinNumber());
+                        salesDeliveryReport.setCarNo(warehouseInOutInfo.getCarNo());
+                        salesDeliveryReport.setTranCarNo(warehouseInOutInfo.getTranCarNo());
+                        salesDeliveryReport.setRetrievalDate(warehouseInOutInfo.getInOutDate());
+                        salesDeliveryReport.setProtein(warehouseInOutDetail.getProtein());
+                        salesDeliveryReport.setWaterContent(warehouseInOutDetail.getWaterContent());
+                        salesDeliveryReport.setNetWeight(Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
+                        salesDeliveryReport.setWarehouseName(warehouseInOutInfo.getWarehouseName());
+                        salesDeliveryReport.setStatusFlag(StatusEnum.FORM_REVIEWED.getFlag());
+                        salesDeliveryReport.setStatus(StatusEnum.FORM_REVIEWED.getName());
+                        if (saleOrder != null) {
+                            salesDeliveryReport.setUnitPrice(saleOrder.getUnitPrice());
+                            salesDeliveryReport.setInvoiceFee(saleOrder.getInvoiceFee());
+                            //期货
+                            if (saleOrder.getBasis() != null) {
+                                salesDeliveryReport.setBasisPrice(saleOrder.getBasis());
+                                BigDecimal unitPrice = new BigDecimal(Float.toString(salesDeliveryReport.getUnitPrice()));
+                                BigDecimal basis = new BigDecimal(Float.toString(salesDeliveryReport.getBasisPrice()));
+                                BigDecimal invoiceFee = new BigDecimal(Float.toString(salesDeliveryReport.getInvoiceFee()));
+                                salesDeliveryReport.setSettlementPrice(unitPrice.add(basis).add(invoiceFee).floatValue());
+                                tranCarInfo.setSettlementPrice(saleOrder.getUnitPrice() + saleOrder.getBasis() + saleOrder.getInvoiceFee());
+                            }
+                            salesDeliveryReport.setCustomerName(saleOrder.getBuyer());
+                            salesDeliveryReport.setCollectionIngPayable(CalculationUtil.mulToFloat(salesDeliveryReport.getSettlementPrice(), salesDeliveryReport.getNetWeight()));
+                            salesDeliveryReport.setCollectionEdPayable(0f);
+                            salesDeliveryReport.setCollectionNotPayable(salesDeliveryReport.getCollectionIngPayable());
+                            tranCarInfoService.insert(tranCarInfo);
+                        }
+
+                        // 客户确认
+                        TranCarInfo tranCarInfo1 = tranCarInfoService.selectOne(new EntityWrapper<TranCarInfo>()
+                                .eq("contract_no", warehouseInOutInfo.getContractNo())
+                                .eq("car_no", warehouseInOutInfo.getCarNo())
+                                .eq("delete_flag", "0"));
+                        if (tranCarInfo1 != null && "3".equals(tranCarInfo1.getConfirmFlag())) {
+                            salesDeliveryReport.setCustomerConfirmationStatusFlag("1");
+                            salesDeliveryReport.setCustomerConfirmationStatus("是");
+                            geTuiUtils.pushByCid("发货通知", "您的合同车辆:" + warehouseInOutInfo.getCarNo() + "已发出", saleOrder.getCommonId());
+                            tesk(warehouseInOutInfo, "1");
+                            UnimallMessage messageDO = new UnimallMessage();
+                            messageDO.setAdminId(saleOrder.getCommonId());
+                            messageDO.setCustomer(saleOrder.getCustomer());
+                            messageDO.setOperation("发货通知");
+                            messageDO.setResult("您的合同车辆:" + warehouseInOutInfo.getCarNo() + "已发出");
+                            messageDO.setGmtUpdate(new java.util.Date());
+                            messageDO.setGmtCreate(new Date());
+                            messageDO.setTaskId(IdGenerator.generateUUID());
+                            messageDO.setCompanyId(AuthSecurityUtils.getCurrentUserInfo().getCompId());
+                            messageDO.setPath("XXXXX");
+                            webSocket.sendOneMessage(messageDO);
+                        } else {
+                            salesDeliveryReport.setCustomerConfirmationStatusFlag("3");
+                            salesDeliveryReport.setCustomerConfirmationStatus("否");
+                        }
+                        salesDeliveryReportService.insert(salesDeliveryReport);
+
+                        boolean isStartWorkflow = org.apache.commons.lang3.StringUtils.isBlank(salesDeliveryReport.getWorkflowId());
+                        // 不是退回的单子
+                        if (isStartWorkflow) {
+                            Workflow workflow = workflowService
+                                    .findLatestWorkflowByBusinessCodeByApp(salesDeliveryReport.getCompId(), "SALE-RECEIPT-REPORT");
+                            // 没配置审核流程,直接结束并处理信息
+                            if (workflow == null) {
+                                throw new YException(YExceptionEnum.PURCHASE_ORDER_ERROR);
+                            }
+                            // 开启审核流
+                            else {
+
+                                // 设置状态 已提交审核
+                                salesDeliveryReport.setWorkflowId(workflow.getId());
+                                salesDeliveryReportService.updateById(salesDeliveryReport);
+                                workflowService.startInstance(workflow.getId(), salesDeliveryReport.getId());
+                            }
+                        }
+                        // 退回的单子 再启用
+                        else {
+
+                            salesDeliveryReportService.updateById(salesDeliveryReport);
+                            workflowService.activateInstance(salesDeliveryReport.getWorkflowId(), salesDeliveryReport.getId());
+                        }
+                    }
+                }
+            } else {
+                //常用库入库
+                if ("2".equals(warehouseInOutInfo.getInOutFlag()) && "1".equals(warehouseBaseInfo.getWarehouseType())) {
+                    //常用库采购入库类型
+                    if ("1".equals(warehouseInOutInfo.getInOutTypeKey())) {
+                        //他运的采购合同
+                        ContractManagementInfo contractManagementInfo = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
+                                .eq("contract_no", warehouseInOutInfo.getContractNo())
+                                .eq("deliver_type", "2")
+                                .eq("delete_flag", "0"));
+                        if (contractManagementInfo != null) {
+                            //现货采购入库报表
+                            StockPurchaseReceiptReport stockPurchaseReceiptReport = new StockPurchaseReceiptReport();
+                            stockPurchaseReceiptReport.setId(IdGenerator.generateUUID());
+                            stockPurchaseReceiptReport.setCompId(warehouseBaseInfo.getCompId());
+                            stockPurchaseReceiptReport.setWarehouseRecordId(warehouseInOutInfo.getId());
+                            stockPurchaseReceiptReport.setContractNo(warehouseInOutInfo.getContractNo());
+                            stockPurchaseReceiptReport.setWarehouseName(warehouseInOutInfo.getWarehouseName());
+                            stockPurchaseReceiptReport.setCarNo(warehouseInOutInfo.getCarNo());
+                            stockPurchaseReceiptReport.setGrossWeight(Double.valueOf(String.valueOf(warehouseInOutInfo.getGrossWeight())));
+                            stockPurchaseReceiptReport.setTare(Double.valueOf(String.valueOf(warehouseInOutInfo.getTare())));
+                            stockPurchaseReceiptReport.setNetWeight(Double.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
+                            stockPurchaseReceiptReport.setWarehousingDate(warehouseInOutInfo.getInOutDate());
+                            stockPurchaseReceiptReport.setDeductionWeight(Double.valueOf(String.valueOf(warehouseInOutInfo.getDeductionWeight())));
+                            stockPurchaseReceiptReport.setSettlementWeight(Double.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
+                            stockPurchaseReceiptReport.setDeductionAmount(warehouseInOutInfo.getDeductionAmount());
+
+                            if (contractManagementInfo.getUnitContractPrice() != null) {
+                                BigDecimal cost = new BigDecimal(contractManagementInfo.getUnitContractPrice());
+                                BigDecimal deductionAmount = new BigDecimal(warehouseInOutInfo.getDeductionAmount() != null ? warehouseInOutInfo.getDeductionAmount() : 0.0);
+                                stockPurchaseReceiptReport.setSettlementPrice(cost.subtract(deductionAmount).doubleValue());
+                                BigDecimal netWeight = new BigDecimal(warehouseInOutInfo.getNetWeight());
+                                stockPurchaseReceiptReport.setAmountIngPayable(cost.subtract(deductionAmount).multiply(netWeight).doubleValue());
+                            }
+                            //随行就市
+                            else {
+                                BigDecimal cost = new BigDecimal(Float.toString(warehouseInOutInfo.getCost()));
+                                BigDecimal deductionAmount = new BigDecimal(warehouseInOutInfo.getDeductionAmount() != null ? warehouseInOutInfo.getDeductionAmount() : 0.0);
+                                stockPurchaseReceiptReport.setSettlementPrice(cost.subtract(deductionAmount).doubleValue());
+                                BigDecimal netWeight = new BigDecimal(warehouseInOutInfo.getNetWeight());
+                                stockPurchaseReceiptReport.setAmountIngPayable(cost.subtract(deductionAmount).multiply(netWeight).doubleValue());
+                            }
+                            stockPurchaseReceiptReport.setAmountEdPayable(0.0d);
+                            stockPurchaseReceiptReport.setAmountNotPayable(stockPurchaseReceiptReport.getAmountIngPayable());
+                            stockPurchaseReceiptReport.setStatusFlag(StatusEnum.FORM_REVIEWED.getFlag());
+                            stockPurchaseReceiptReport.setStatus(StatusEnum.FORM_REVIEWED.getName());
+
+                            stockPurchaseReceiptReportService.insert(stockPurchaseReceiptReport);
+                            boolean isStartWorkflow = org.apache.commons.lang3.StringUtils.isBlank(stockPurchaseReceiptReport.getWorkflowId());
+                            // 不是退回的单子
+                            if (isStartWorkflow) {
+                                Workflow workflow = workflowService
+                                        .findLatestWorkflowByBusinessCodeByApp(stockPurchaseReceiptReport.getCompId(), "STOCK-PROCUREMENT-RECEIPT-REPORT");
+                                // 没配置审核流程,直接结束并处理信息
+                                if (workflow == null) {
+                                    throw new YException(YExceptionEnum.PURCHASE_ORDER_ERROR);
+                                }
+                                // 开启审核流
+                                else {
+                                    // 设置状态 已提交审核
+                                    stockPurchaseReceiptReport.setWorkflowId(workflow.getId());
+                                    stockPurchaseReceiptReportService.updateById(stockPurchaseReceiptReport);
+                                    workflowService.startInstance(workflow.getId(), stockPurchaseReceiptReport.getId());
+                                }
+                            }
+                            // 退回的单子 再启用
+                            else {
+                                stockPurchaseReceiptReportService.updateById(stockPurchaseReceiptReport);
+                                workflowService.activateInstance(stockPurchaseReceiptReport.getWorkflowId(), stockPurchaseReceiptReport.getId());
+                            }
+                        }
+                    }
+                    //常用库移库入库类型
+                    else if ("3".equals(warehouseInOutInfo.getInOutTypeKey())) {
+                        InOutWarehouseTask inOutWarehouseTask = inOutWarehouseTaskService.selectOne(new EntityWrapper<InOutWarehouseTask>()
+                                .eq("move_task_no", warehouseInOutInfo.getContractNo())
+                                .eq("in_out_flag", "1")
+                                .eq("delete_flag", "0"));
+                        if (inOutWarehouseTask == null) {
+                            throw new YException(YExceptionEnum.TASK_NO_NOT_EXSITS_ERROR);
+                        } else {
+                            //若移库的发货库为自动创建的临时库时
+                            WarehouseBaseInfo warehouseBaseInfo1 = warehouseBaseInfoService.selectOne(new EntityWrapper<WarehouseBaseInfo>()
+                                    .eq("warehouse_name", inOutWarehouseTask.getWarehouseName())
+                                    .eq("create_type", "1")
+                                    .eq("warehouse_type", "2")
+                                    .eq("delete_flag", "0"));
+                            if (warehouseBaseInfo1 != null) {
+                                //按入库重量结算
+                                ContractManagementInfo contractManagementInfo = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
+                                        .eq("contract_no", warehouseBaseInfo1.getWarehouseName())
+                                        .eq("settlement_weight_method", "2")
+                                        .eq("deliver_type", "1")
+                                        .eq("delete_flag", "0"));
+//                                if (contractManagementInfo == null) {
+//                                    throw new YException(YExceptionEnum.CONTRACT_NO_NOT_EXSITS_ERROR);
+//                                }
+                                if (contractManagementInfo != null) {
+                                    //现货采购入库报表
+                                    StockPurchaseReceiptReport stockPurchaseReceiptReport = new StockPurchaseReceiptReport();
+                                    stockPurchaseReceiptReport.setId(IdGenerator.generateUUID());
+                                    stockPurchaseReceiptReport.setCompId(warehouseBaseInfo.getCompId());
+                                    stockPurchaseReceiptReport.setWarehouseRecordId(warehouseInOutInfo.getId());
+                                    stockPurchaseReceiptReport.setContractNo(warehouseBaseInfo1.getWarehouseName());
+                                    stockPurchaseReceiptReport.setWarehouseName(warehouseInOutInfo.getWarehouseName());
+                                    stockPurchaseReceiptReport.setCarNo(warehouseInOutInfo.getCarNo());
+                                    stockPurchaseReceiptReport.setGrossWeight(Double.valueOf(String.valueOf(warehouseInOutInfo.getGrossWeight())));
+                                    stockPurchaseReceiptReport.setTare(Double.valueOf(String.valueOf(warehouseInOutInfo.getTare())));
+                                    stockPurchaseReceiptReport.setNetWeight(Double.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
+                                    stockPurchaseReceiptReport.setWarehousingDate(warehouseInOutInfo.getInOutDate());
+                                    stockPurchaseReceiptReport.setDeductionWeight(Double.valueOf(String.valueOf(warehouseInOutInfo.getDeductionWeight())));
+                                    stockPurchaseReceiptReport.setSettlementWeight(Double.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
+                                    if (contractManagementInfo.getUnitContractPrice() != null) {
+                                        BigDecimal cost = new BigDecimal(contractManagementInfo.getUnitContractPrice());
+                                        BigDecimal deductionAmount = new BigDecimal(warehouseInOutInfo.getDeductionAmount() != null ? warehouseInOutInfo.getDeductionAmount() : 0.0);
+                                        stockPurchaseReceiptReport.setSettlementPrice(cost.subtract(deductionAmount).doubleValue());
+                                        BigDecimal netWeight = new BigDecimal(warehouseInOutInfo.getNetWeight());
+                                        stockPurchaseReceiptReport.setAmountIngPayable(cost.subtract(deductionAmount).multiply(netWeight).doubleValue());
+                                    }
+                                    //随行就市
+                                    else {
+                                        BigDecimal cost = new BigDecimal(warehouseInOutInfo.getCost());
+                                        BigDecimal deductionAmount = new BigDecimal(warehouseInOutInfo.getDeductionAmount() != null ? warehouseInOutInfo.getDeductionAmount() : 0.0);
+                                        stockPurchaseReceiptReport.setSettlementPrice(cost.subtract(deductionAmount).doubleValue());
+                                        BigDecimal netWeight = new BigDecimal(warehouseInOutInfo.getNetWeight());
+                                        stockPurchaseReceiptReport.setAmountIngPayable(cost.subtract(deductionAmount).multiply(netWeight).doubleValue());
+                                    }
+                                    stockPurchaseReceiptReport.setAmountEdPayable(0.0d);
+                                    stockPurchaseReceiptReport.setAmountNotPayable(stockPurchaseReceiptReport.getAmountIngPayable());
+                                    stockPurchaseReceiptReport.setStatusFlag(StatusEnum.FORM_REVIEWED.getFlag());
+                                    stockPurchaseReceiptReport.setStatus(StatusEnum.FORM_REVIEWED.getName());
+                                    stockPurchaseReceiptReportService.insert(stockPurchaseReceiptReport);
+                                    boolean isStartWorkflow = org.apache.commons.lang3.StringUtils.isBlank(stockPurchaseReceiptReport.getWorkflowId());
+                                    // 不是退回的单子
+                                    if (isStartWorkflow) {
+                                        Workflow workflow = workflowService
+                                                .findLatestWorkflowByBusinessCodeByApp(stockPurchaseReceiptReport.getCompId(), "STOCK-PROCUREMENT-RECEIPT-REPORT");
+                                        // 没配置审核流程,直接结束并处理信息
+                                        if (workflow == null) {
+                                            throw new YException(YExceptionEnum.PURCHASE_ORDER_ERROR);
+                                        }
+                                        // 开启审核流
+                                        else {
+                                            // 设置状态 已提交审核
+                                            stockPurchaseReceiptReport.setWorkflowId(workflow.getId());
+                                            stockPurchaseReceiptReportService.updateById(stockPurchaseReceiptReport);
+                                            workflowService.startInstance(workflow.getId(), stockPurchaseReceiptReport.getId());
+                                        }
+                                    }
+                                    // 退回的单子 再启用
+                                    else {
+                                        stockPurchaseReceiptReportService.updateById(stockPurchaseReceiptReport);
+                                        workflowService.activateInstance(stockPurchaseReceiptReport.getWorkflowId(), stockPurchaseReceiptReport.getId());
+                                    }
+                                }
+                            }
+                        }
+                    }
+                    //常用库退库入库类型
+                    else if ("退库".equals(warehouseInOutInfo.getInOutType())) {
+                        //他运的销售合同
+                        ContractManagementInfo contractManagementInfo = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
+                                .eq("contract_no", warehouseInOutInfo.getContractNo())
+                                .eq("deliver_type", "2")
+                                .eq("contract_type", "1")
+                                .eq("delete_flag", "0"));
+                        if (contractManagementInfo != null) {
+                            //现货销售出库报表
+                            StockSaleReceiptReport stockSaleReceiptReport = new StockSaleReceiptReport();
+                            stockSaleReceiptReport.setId(IdGenerator.generateUUID());
+                            stockSaleReceiptReport.setCompId(warehouseBaseInfo.getCompId());
+                            stockSaleReceiptReport.setWarehouseRecordId(warehouseInOutInfo.getId());
+                            stockSaleReceiptReport.setContractNo(warehouseInOutInfo.getContractNo());
+                            stockSaleReceiptReport.setWarehouseName(warehouseInOutInfo.getWarehouseName());
+                            stockSaleReceiptReport.setCarNo(warehouseInOutInfo.getCarNo());
+                            stockSaleReceiptReport.setGrossWeight(Double.valueOf(String.valueOf(warehouseInOutInfo.getGrossWeight())));
+                            stockSaleReceiptReport.setTare(Double.valueOf(String.valueOf(warehouseInOutInfo.getTare())));
+                            stockSaleReceiptReport.setNetWeight(-warehouseInOutInfo.getNetWeight());
+                            stockSaleReceiptReport.setSettlementPrice(contractManagementInfo.getUnitContractPrice());
+                            stockSaleReceiptReport.setReturnDate(warehouseInOutInfo.getInOutDate());
+                            stockSaleReceiptReport.setAmountIngReceivable(-warehouseInOutInfo.getNetWeight() * contractManagementInfo.getUnitContractPrice());
+                            stockSaleReceiptReport.setSettlementWeight(-warehouseInOutInfo.getNetWeight());
+                            stockSaleReceiptReport.setReturnFlag("1");
+                            stockSaleReceiptReport.setStatusFlag(StatusEnum.TO_BE_RECEIVED.getFlag());
+                            stockSaleReceiptReport.setStatus(StatusEnum.TO_BE_RECEIVED.getName());
+                            stockSaleReceiptReport.setSettlementWeight(stockSaleReceiptReport.getNetWeight());
+                            CostManagementInfo costManagementInfo = costManagementInfoService.selectOne(new EntityWrapper<CostManagementInfo>().eq("warehouse_id", warehouseInOutInfo.getBaseId()));
+                            if (costManagementInfo != null) {
+                                stockSaleReceiptReport.setCost(costManagementInfo.getCost());
+
+                            }
+                            stockSaleReceiptReportService.insert(stockSaleReceiptReport);
+                        }
+                        //自运的销售合同
+                        ContractManagementInfo contractManagementInfo1 = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
+                                .eq("contract_no", warehouseInOutInfo.getContractNo())
+                                .eq("contract_type", "1")
+                                .eq("deliver_type", "1")
+                                .eq("delete_flag", "0"));
+                        if (contractManagementInfo1 != null) {
+                            //现货销售出库报表
+                            StockSaleReceiptReport stockSaleReceiptReport = new StockSaleReceiptReport();
+                            stockSaleReceiptReport.setId(IdGenerator.generateUUID());
+                            stockSaleReceiptReport.setWarehouseRecordId(warehouseInOutInfo.getId());
+                            stockSaleReceiptReport.setCompId(warehouseBaseInfo.getCompId());
+                            stockSaleReceiptReport.setProcessNo("退库");
+                            stockSaleReceiptReport.setContractNo(warehouseInOutInfo.getContractNo());
+                            stockSaleReceiptReport.setWarehouseName(warehouseInOutInfo.getWarehouseName());
+                            stockSaleReceiptReport.setCarNo(warehouseInOutInfo.getCarNo());
+                            stockSaleReceiptReport.setTranCarNo(warehouseInOutInfo.getTranCarNo());
+                            stockSaleReceiptReport.setCaseNo(warehouseInOutInfo.getBoxNo() + "," + warehouseInOutInfo.getBoxNoOther());
+                            stockSaleReceiptReport.setTitleNo(warehouseInOutInfo.getTitleNo());
+                            stockSaleReceiptReport.setGrossWeight(Double.valueOf(String.valueOf(warehouseInOutInfo.getGrossWeight())));
+                            stockSaleReceiptReport.setTare(Double.valueOf(String.valueOf(warehouseInOutInfo.getTare())));
+                            stockSaleReceiptReport.setNetWeight(-warehouseInOutInfo.getNetWeight());
+                            stockSaleReceiptReport.setReturnDate(warehouseInOutInfo.getInOutDate());
+                            stockSaleReceiptReport.setAmountIngReceivable(-warehouseInOutInfo.getNetWeight() * contractManagementInfo1.getUnitContractPrice());
+                            stockSaleReceiptReport.setSettlementWeight(-warehouseInOutInfo.getNetWeight());
+                            stockSaleReceiptReport.setReturnFlag("1");
+                            stockSaleReceiptReport.setStatusFlag(StatusEnum.TO_BE_RECEIVED.getFlag());
+                            stockSaleReceiptReport.setStatus(StatusEnum.TO_BE_RECEIVED.getName());
+                            stockSaleReceiptReport.setSettlementWeight(stockSaleReceiptReport.getNetWeight());
+                            CostManagementInfo costManagementInfo = costManagementInfoService.selectOne(new EntityWrapper<CostManagementInfo>().eq("warehouse_id", warehouseInOutInfo.getBaseId()));
+                            if (costManagementInfo != null) {
+                                stockSaleReceiptReport.setCost(costManagementInfo.getCost());
+
+                            }
+                            stockSaleReceiptReportService.insert(stockSaleReceiptReport);
+                        }
+                    }
+                    if (warehouseInOutInfo.getWeighingManagement() != null) {
+                        //皮重检斤
+                        WeighingManagement weighingManagement = warehouseInOutInfo.getWeighingManagement();
+                        WeighingManagement weighingManagement1 = weighingManagementService.selectById(weighingManagement.getId());
+                        //状态改为已称皮重
+                        weighingManagement.setStatus(StatusEnum.TARED.getName());
+                        weighingManagement.setStatusFlag(StatusEnum.TARED.getFlag());
+                        weighingManagement.setTareDate(new Date());
+                        weighingManagement.setSkinInspector(commonStaff.getStaffName());
+                        //质检信息
+                        QualityInspectionManagement qualityInspectionManagement1 = qualityInspectionManagementService.selectOne(new EntityWrapper<QualityInspectionManagement>()
+                                .eq("relation_id", weighingManagement1.getRelationId())
+                                .eq("comp_id", weighingManagement1.getCompId()));
+                        if (qualityInspectionManagement1 != null) {
+                            //状态改为已称皮重
+//                      qualityInspectionManagement1.setStatus(StatusEnum.TARED.getName());
+//                      qualityInspectionManagement1.setStatusFlag(StatusEnum.TARED.getFlag());
+                            qualityInspectionManagementService.updateById(qualityInspectionManagement1);
+                        }
+                        //收购业务
+                        if ("1".equals(weighingManagement1.getManagementType()) && "3".equals(weighingManagement1.getServiceManagementType())) {
+                            //查关联的付款信息
+                            PaymentManagement paymentManagement = paymentManagementService.selectOne(new EntityWrapper<PaymentManagement>()
+                                    .eq("relation_id", weighingManagement1.getRelationId())
+                                    .eq("comp_id", weighingManagement1.getCompId()));
+                            if (paymentManagement != null) {
+                                paymentManagement.setNetWeight(weighingManagement.getNetWeight());
+                                paymentManagement.setGrossWeight(weighingManagement1.getGrossWeight());
+                                paymentManagement.setTare(weighingManagement.getTare());
+                                paymentManagementService.updateById(paymentManagement);
+                            } else {
+                                //生成付款信息
+                                PaymentManagement paymentManagement1 = new PaymentManagement();
+                                paymentManagement1.setId(IdGenerator.generateUUID());
+                                paymentManagement1.setRelationId(weighingManagement1.getRelationId());
+                                paymentManagement1.setCompId(weighingManagement1.getCompId());
+                                paymentManagement1.setCustomerNumberCard(weighingManagement1.getCustomerNumberCard());
+                                paymentManagement1.setPaymentNo(weighingManagement1.getNumber());
+                                paymentManagement1.setContractNo(weighingManagement1.getContractNo());
+                                paymentManagement1.setCustomerName(weighingManagement1.getCustomer());
+                                paymentManagement1.setCustomerPhone(weighingManagement1.getCustomerPhone());
+                                paymentManagement1.setCarNo(weighingManagement1.getCarNumber());
+                                paymentManagement1.setType(weighingManagement1.getType());
+                                paymentManagement1.setGoodsName(weighingManagement1.getGoodsName());
+                                paymentManagement1.setStatus(StatusEnum.TO_BE_SETTLED.getName());
+                                paymentManagement1.setStatusFlag(StatusEnum.TO_BE_SETTLED.getFlag());
+                                paymentManagement1.setNetWeight(weighingManagement.getNetWeight());
+                                paymentManagement1.setManagementType("1");
+                                paymentManagement1.setGrossWeight(weighingManagement1.getGrossWeight());
+                                paymentManagement1.setTare(weighingManagement.getTare());
+                                paymentManagement1.setWarehouseName(weighingManagement1.getWarehouseName());
+                                //质检信息
+                                QualityInspectionManagement qualityInspectionManagement = qualityInspectionManagementService.selectOne(new EntityWrapper<QualityInspectionManagement>()
+                                        .eq("relation_id", weighingManagement1.getRelationId())
+                                        .eq("comp_id", weighingManagement1.getCompId()));
+                                if (qualityInspectionManagement != null) {
+                                    if ("潮粮".equals(weighingManagement1.getType())) {
+                                        paymentManagement1.setTidalGrainPrice(qualityInspectionManagement.getTidalGrainPrice());
+                                    } else {
+                                        paymentManagement1.setTidalGrainPrice(qualityInspectionManagement.getDryGrainPrice());
+                                    }
+                                }
+                                paymentManagementService.insert(paymentManagement1);
+                            }
+                        }
+                        if (weighingManagement.getTare() == null || weighingManagement.getTare() == 0) {
+                            throw new YException(YExceptionEnum.TARE_NULL);
+                        }
+                        weighingManagementService.updateById(weighingManagement);
+                    }
+                    Wrapper wrapper = new EntityWrapper<TranCarInfo>()
+                            .eq("contract_no", warehouseInOutInfo.getContractNo())
+                            .eq("car_no", warehouseInOutInfo.getCarNo())
+                            .eq(TranCarInfo.QueryFiles.DELETE_FLAG, NumberConstant.CONSTANT0)
+                            .eq("tran_car_no", warehouseInOutInfo.getTranCarNo());
+                    TranCarInfo tranCarInfo = tranCarInfoService.selectOne(wrapper);
+                    if (tranCarInfo != null) {
+                        //将到货数据同步到派车表
+                        tranCarInfo.setUnloadNetWeight(Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
+                        if (warehouseInOutInfo.getAddressUrl() != null) {
+                            tranCarInfo.setUnloadPoundImg(warehouseInOutInfo.getAddressUrl());
+                        }
+                        tranCarInfo.setUnloadingDate(warehouseInOutInfo.getInOutDate());
+//                        if ("2".equals(tranCarInfo.getSubmit())) {
+//                            throw new YException(YExceptionEnum.CARNO_SUBMITTED_ERROR);
+//                        } else {
+                        tranCarInfo.setSubmit("2");
+                        tranCarInfo.setStatusFlag(StatusEnum.DELIVERED.getFlag());
+                        tranCarInfo.setStatus(StatusEnum.DELIVERED.getName());
+//                        }
+                        tranCarInfoService.updateById(tranCarInfo);
+                    }
+                    //更新库存量
+                    float original = 0f;
+                    //判断是否有库
+                    if (warehouseBaseInfo != null) {
+                        //  查询库位
+                        WarehousePositionInfo warehousePositionInfo = warehousePositionInfoService.selectById(warehouseInOutInfo.getPositionId());
+                        if (warehousePositionInfo != null) {
+                            // 查询货物库存量
+                            WarehousePositionStorageInfo warehousePositionStorageInfo = warehousePositionStorageInfoService.selectOne(new EntityWrapper<WarehousePositionStorageInfo>()
+                                    .eq("position_id", warehouseInOutInfo.getPositionId())
+                                    .eq("goods_name", warehouseInOutInfo.getGoodsName())
+                                    .eq("delete_flag", "0"));
+                            // 判断是否有货
+                            if (warehousePositionStorageInfo != null) {
+                                original = Float.valueOf(String.valueOf(warehousePositionStorageInfo.getStorage()));
+                                // 更新库存量
+                                warehousePositionStorageInfo.setStorage(warehousePositionStorageInfo.getStorage() + Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
+                                warehousePositionStorageInfoService.updateById(warehousePositionStorageInfo);
+                            }
+                            // 没有货
+                            else {
+                                WarehousePositionStorageInfo warehousePositionStorageInfo1 = new WarehousePositionStorageInfo();
+                                warehousePositionStorageInfo1.setId(IdGenerator.generateUUID());
+                                warehousePositionStorageInfo1.setPositionId(warehouseInOutInfo.getPositionId());
+                                warehousePositionStorageInfo1.setBinNumber(warehouseInOutInfo.getBinNumber());
+                                warehousePositionStorageInfo1.setGoodsNameKey(warehouseInOutInfo.getGoodsNameKey());
+                                warehousePositionStorageInfo1.setGoodsName(warehouseInOutInfo.getGoodsName());
+                                warehousePositionStorageInfo1.setStorage(warehouseInOutInfo.getNetWeight());
+                                warehousePositionStorageInfoService.insert(warehousePositionStorageInfo1);
+                            }
+                        }
+                    }
+
+                    // 生成加权成本数据
+                    WeightedDetails weightedDetails = new WeightedDetails();
+                    weightedDetails.setCompId(AuthSecurityUtils.getCurrentUserInfo().getCompId());
+                    weightedDetails.setId(IdGenerator.generateUUID());
+                    weightedDetails.setWarehouseId(warehouseInOutInfo.getBaseId());
+                    weightedDetails.setWarehouseName(warehouseInOutInfo.getWarehouseName());
+                    weightedDetails.setGoodsNameKey(warehouseInOutInfo.getGoodsNameKey());
+                    weightedDetails.setGoodsName(warehouseInOutInfo.getGoodsName());
+                    weightedDetails.setGrainType(warehouseInOutInfo.getType());
+                    weightedDetails.setInTypeKey(warehouseInOutInfo.getInOutTypeKey());
+                    weightedDetails.setInType(warehouseInOutInfo.getInOutType());
+                    weightedDetails.setNetWeight(Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
+                    weightedDetails.setPureWeight(warehouseInOutInfo.getPureWeight());
+                    weightedDetails.setUnitPrice(warehouseInOutInfo.getCost());
+                    weightedDetails.setDeductionAmount(warehouseInOutInfo.getDeductionAmount());
+                    weightedDetails.setFreight(warehouseInOutInfo.getFreight());
+                    weightedDetails.setOriginalStock(original);
+                    // 查询入库全加权成本
+                    List<WeightedDetails> weightedDetailsList = weightedDetailsService.selectList(new EntityWrapper<WeightedDetails>().eq("warehouse_id", warehouseInOutInfo.getBaseId())
+                            .eq("goods_name", warehouseInOutInfo.getGoodsName()).orderBy("update_date", false));
+
+                    // 计算新加权成本
+                    Double newCost = 0d;
+                    if (CollectionUtils.isEmpty(weightedDetailsList)) {
+                        if ("干粮".equals(warehouseInOutInfo.getType())) {
+                            newCost = ((warehouseInOutInfo.getCost() / 1.09 + warehouseInOutInfo.getFreight()) * Double.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight()))) / (Double.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())) + original);
+
+                        } else {
+                            newCost = ((warehouseInOutInfo.getCost() / 1.09 + warehouseInOutInfo.getFreight()) * Double.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight()))) / (warehouseInOutInfo.getPureWeight() + original);
+
+                        }
+                        weightedDetails.setCostBefore(Float.valueOf(String.valueOf(newCost)));
+                        weightedDetails.setCostAfter(newCost);
+                    } else {
+                        weightedDetails.setCostBefore(weightedDetailsList.get(0).getCostBefore());
+                        if ("干粮".equals(warehouseInOutInfo.getType())) {
+                            newCost = ((warehouseInOutInfo.getCost() / 1.09 + warehouseInOutInfo.getFreight()) * Double.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())) + original * weightedDetails.getCostBefore()) / (Double.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())) + original);
+
+                        } else {
+                            newCost = ((warehouseInOutInfo.getCost() / 1.09 + warehouseInOutInfo.getFreight()) * Double.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())) + original * weightedDetails.getCostBefore()) / (warehouseInOutInfo.getPureWeight() + original);
+
+                        }
+                        weightedDetails.setCostAfter(newCost);
+                    }
+
+                    weightedDetails.setCostAfter(newCost);
+                    if (CollectionUtils.isEmpty(weightedDetailsList)) {
+                        weightedDetails.setCostBefore(Float.valueOf(String.valueOf(newCost)));
+                    } else {
+                        weightedDetails.setCostBefore(weightedDetailsList.get(0).getCostBefore());
+                    }
+                    weightedDetailsService.insert(weightedDetails);
+                    // 修改成本信息表
+                    CostManagementInfo costManagementInfo = costManagementInfoService.selectOne(new EntityWrapper<CostManagementInfo>().eq("warehouse_id", weightedDetails.getWarehouseId())
+                            .eq("comp_id", weightedDetails.getCompId())
+                            .eq("goods_name", weightedDetails.getGoodsName()));
+//                    List<WeightedDetails> weightedDetailsLists = weightedDetailsService.selectList(new EntityWrapper<WeightedDetails>().eq("warehouse_id", warehouseInOutInfo.getWarehouseName())
+//                            .eq("goods_name_key", warehouseInOutInfo.getGoodsNameKey()).orderBy("update_date", false));
+                    Double net = 0d;
+//                    for (int i = 0; i < weightedDetailsLists.size(); i++) {
+//                        net = net + weightedDetailsLists.get(i).getNetWeight();
+//                    }
+                    List<WarehousePositionInfo> warehousePositionInfos = warehousePositionInfoService.selectList(new EntityWrapper<WarehousePositionInfo>()
+                            .eq("base_id", warehouseInOutInfo.getBaseId()));
+                    if (!CollectionUtils.isEmpty(warehousePositionInfos)) {
+                        for (int i = 0; i < warehousePositionInfos.size(); i++) {
+                            List<WarehousePositionStorageInfo> warehousePositionStorageInfos = warehousePositionStorageInfoService.selectList(new EntityWrapper<WarehousePositionStorageInfo>()
+                                    .eq("position_id", warehousePositionInfos.get(i).getId())
+                                    .eq("goods_name", warehouseInOutInfo.getGoodsName()));
+                            for (int j = 0; j < warehousePositionStorageInfos.size(); j++) {
+                                net = net + warehousePositionStorageInfos.get(j).getStorage();
+                            }
+                        }
+                    }
+                    if (costManagementInfo == null) {
+                        CostManagementInfo costManagementInfo1 = new CostManagementInfo();
+                        costManagementInfo1.setCompId(AuthSecurityUtils.getCurrentUserInfo().getCompId());
+                        costManagementInfo1.setId(IdGenerator.generateUUID());
+                        costManagementInfo1.setWarehouseId(weightedDetails.getWarehouseId());
+                        costManagementInfo1.setWarehouseName(weightedDetails.getWarehouseName());
+                        costManagementInfo1.setGoodsNameKey(weightedDetails.getGoodsNameKey());
+                        costManagementInfo1.setGoodsName(weightedDetails.getGoodsName());
+                        costManagementInfo1.setWarehouseType(warehouseBaseInfo.getWarehouseType());
+
+                        costManagementInfo1.setStorage(net);
+                        costManagementInfo1.setCost(weightedDetails.getCostAfter());
+                        costManagementInfoService.insert(costManagementInfo1);
+                    } else {
+                        costManagementInfo.setCost(weightedDetails.getCostAfter());
+                        costManagementInfo.setStorage(net);
+                        costManagementInfoService.updateById(costManagementInfo);
+                    }
+                }
+                //临时库入库
+                else if ("2".equals(warehouseInOutInfo.getInOutFlag()) && "2".equals(warehouseBaseInfo.getWarehouseType())) {
+                    //更新库存量
+                    float original = 0f;
+                    //判断是否有库
+                    if (warehouseBaseInfo != null) {
+                        //  查询库位
+                        WarehousePositionInfo warehousePositionInfo = warehousePositionInfoService.selectById(warehouseInOutInfo.getPositionId());
+                        if (warehousePositionInfo != null) {
+                            // 查询货物库存量
+                            WarehousePositionStorageInfo warehousePositionStorageInfo = warehousePositionStorageInfoService.selectOne(new EntityWrapper<WarehousePositionStorageInfo>()
+                                    .eq("position_id", warehouseInOutInfo.getPositionId())
+                                    .eq("goods_name", warehouseInOutInfo.getGoodsName())
+                                    .eq("delete_flag", "0"));
+                            // 判断是否有货
+                            if (warehousePositionStorageInfo != null) {
+                                original = Float.valueOf(String.valueOf(warehousePositionStorageInfo.getStorage()));
+                                // 更新库存量
+                                warehousePositionStorageInfo.setStorage(warehousePositionStorageInfo.getStorage() + Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
+                                warehousePositionStorageInfoService.updateById(warehousePositionStorageInfo);
+                            }
+                            // 没有货
+                            else {
+                                WarehousePositionStorageInfo warehousePositionStorageInfo1 = new WarehousePositionStorageInfo();
+                                warehousePositionStorageInfo1.setId(IdGenerator.generateUUID());
+                                warehousePositionStorageInfo1.setPositionId(warehouseInOutInfo.getPositionId());
+                                warehousePositionStorageInfo1.setBinNumber(warehouseInOutInfo.getBinNumber());
+                                warehousePositionStorageInfo1.setGoodsNameKey(warehouseInOutInfo.getGoodsNameKey());
+                                warehousePositionStorageInfo1.setGoodsName(warehouseInOutInfo.getGoodsName());
+                                warehousePositionStorageInfo1.setStorage(warehouseInOutInfo.getNetWeight());
+                                warehousePositionStorageInfoService.insert(warehousePositionStorageInfo1);
+                            }
+                        }
+                    }
+                }
+                //常用库出库
+                else if ("1".equals(warehouseInOutInfo.getInOutFlag()) && "1".equals(warehouseBaseInfo.getWarehouseType())) {
+                    //常用库销售出库类型
+                    if ("1".equals(warehouseInOutInfo.getInOutTypeKey())) {
+                        //他运的销售合同
+                        ContractManagementInfo contractManagementInfo = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
+                                .eq("contract_no", warehouseInOutInfo.getContractNo())
+                                .eq("deliver_type", "2")
+                                .eq("contract_type", "1")
+                                .eq("delete_flag", "0"));
+                        if (contractManagementInfo != null) {
+                            if (contractManagementInfo.getUnitContractPrice() == null) {
+                                contractManagementInfo.setUnitContractPrice(0d);
+                            }
+                            //现货销售出库报表
+                            StockSaleReceiptReport stockSaleReceiptReport = new StockSaleReceiptReport();
+                            stockSaleReceiptReport.setId(IdGenerator.generateUUID());
+                            stockSaleReceiptReport.setWarehouseRecordId(warehouseInOutInfo.getId());
+                            stockSaleReceiptReport.setCompId(warehouseBaseInfo.getCompId());
+                            TranTaskInfo tranTaskInfo = tranTaskInfoService.selectOne(new EntityWrapper<TranTaskInfo>()
+                                    .eq("contract_no", contractManagementInfo.getContractNo())
+                                    .eq("comp_id", contractManagementInfo.getCompId()));
+                            if (tranTaskInfo != null) {
+                                TranProcessInfo tranProcessInfo = tranProcessInfoService.selectOne(new EntityWrapper<TranProcessInfo>()
+                                        .eq("info_id", tranTaskInfo.getId()));
+                                if (tranProcessInfo != null) {
+                                    if (tranProcessInfo.getThreeTranType() == null) {
+                                        tranProcessInfo.setThreeTranType(warehouseInOutInfo.getOutType());
+
+                                    } else if (!tranProcessInfo.getThreeTranType().contains(warehouseInOutInfo.getOutType())) {
+                                        tranProcessInfo.setThreeTranType(tranProcessInfo.getThreeTranType() + "," + warehouseInOutInfo.getOutType());
+                                    }
+                                    tranProcessInfoService.updateById(tranProcessInfo);
+                                    stockSaleReceiptReport.setProcessId(tranProcessInfo.getId());
+                                    TranCarInfo tranCarInfo = new TranCarInfo();
+                                    tranCarInfo.setId(IdGenerator.generateUUID());
+                                    tranCarInfo.setProcessId(tranProcessInfo.getId());
+                                    tranCarInfo.setCompId(tranTaskInfo.getCompId());
+                                    tranCarInfo.setInfoId(tranProcessInfo.getInfoId());
+                                    tranCarInfo.setTranType("4");
+                                    tranCarInfo.setSubmit("1");
+                                    tranCarInfo.setContractNo(warehouseInOutInfo.getContractNo());
+                                    tranCarInfo.setLoadNetWeight(Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
+                                    tranCarInfo.setStatusFlag(StatusEnum.LOADED.getFlag());
+                                    tranCarInfo.setStatus(StatusEnum.LOADED.getName());
+                                    if ("汽运".equals(warehouseInOutInfo.getOutType())) {
+                                        tranCarInfo.setCarNo(warehouseInOutInfo.getCarNo());
+                                        tranCarInfo.setCaseNo(warehouseInOutInfo.getBoxNo());
+                                        tranCarInfo.setThreeTranType("汽运");
+                                        tranCarInfo.setTitleNo(warehouseInOutInfo.getTitleNo());
+                                        tranCarInfo.setCaseNoOther(warehouseInOutInfo.getBoxNoOther());
+                                        tranCarInfo.setTitleNoOther(warehouseInOutInfo.getTitleNoOther());
+                                        stockSaleReceiptReport.setCarNo(warehouseInOutInfo.getCarNo());
+                                        stockSaleReceiptReport.setCaseNo(warehouseInOutInfo.getBoxNo());
+                                        stockSaleReceiptReport.setTitleNo(warehouseInOutInfo.getTitleNo());
+                                        stockSaleReceiptReport.setCaseNoOther(warehouseInOutInfo.getBoxNoOther());
+                                        stockSaleReceiptReport.setTitleNoOther(warehouseInOutInfo.getTitleNoOther());
+                                    } else if ("火运".equals(warehouseInOutInfo.getOutType())) {
+                                        tranCarInfo.setCarNo(warehouseInOutInfo.getCarNo());
+                                        tranCarInfo.setBoxNo(warehouseInOutInfo.getWingNumber());
+                                        tranCarInfo.setThreeTranType("火运");
+                                        stockSaleReceiptReport.setCarNo(warehouseInOutInfo.getCarNo());
+                                        stockSaleReceiptReport.setBoxNo(warehouseInOutInfo.getWingNumber());
+                                    } else if ("散船".equals(warehouseInOutInfo.getOutType())) {
+                                        tranCarInfo.setShipName(warehouseInOutInfo.getShipName());
+                                        tranCarInfo.setShipNo(warehouseInOutInfo.getShipNumber());
+                                        tranCarInfo.setThreeTranType("散船");
+                                        tranCarInfo.setCarNo(warehouseInOutInfo.getCarNo());
+                                        stockSaleReceiptReport.setCarNo(warehouseInOutInfo.getCarNo());
+                                        stockSaleReceiptReport.setShipName(warehouseInOutInfo.getShipName());
+                                        stockSaleReceiptReport.setShipNo(warehouseInOutInfo.getShipNumber());
+                                    } else if ("集装箱船".equals(warehouseInOutInfo.getOutType())) {
+                                        tranCarInfo.setCarNo(warehouseInOutInfo.getCarNo());
+                                        tranCarInfo.setCaseNo(warehouseInOutInfo.getBoxNo());
+                                        tranCarInfo.setTitleNo(warehouseInOutInfo.getTitleNo());
+                                        tranCarInfo.setThreeTranType("集装箱船");
+                                        stockSaleReceiptReport.setCarNo(warehouseInOutInfo.getCarNo());
+                                        stockSaleReceiptReport.setCaseNoOther(warehouseInOutInfo.getBoxNoOther());
+                                        stockSaleReceiptReport.setTitleNoOther(warehouseInOutInfo.getTitleNoOther());
+                                        stockSaleReceiptReport.setCaseNo(warehouseInOutInfo.getBoxNo());
+                                        stockSaleReceiptReport.setTitleNo(warehouseInOutInfo.getTitleNo());
+                                    }
+                                    tranCarInfoService.insert(tranCarInfo);
+                                }
+                            }
+                            stockSaleReceiptReport.setContractNo(warehouseInOutInfo.getContractNo());
+                            stockSaleReceiptReport.setWarehouseName(warehouseInOutInfo.getWarehouseName());
+                            stockSaleReceiptReport.setGrossWeight(Double.valueOf(String.valueOf(warehouseInOutInfo.getGrossWeight())));
+                            stockSaleReceiptReport.setTare(Double.valueOf(String.valueOf(warehouseInOutInfo.getTare())));
+                            stockSaleReceiptReport.setNetWeight(warehouseInOutInfo.getNetWeight());
+                            stockSaleReceiptReport.setDeliveryDate(warehouseInOutInfo.getInOutDate());
+                            //按出库重量结算时
+                            if ("1".equals(contractManagementInfo.getSettlementWeightMethod())) {
+                                stockSaleReceiptReport.setSettlementWeight(warehouseInOutInfo.getNetWeight());
+                            }
+                            //定价销售
+                            if (contractManagementInfo.getUnitContractPrice() != null) {
+                                stockSaleReceiptReport.setSettlementPrice(contractManagementInfo.getUnitContractPrice());
+                                stockSaleReceiptReport.setAmountIngReceivable(warehouseInOutInfo.getNetWeight() *
+                                        (contractManagementInfo.getUnitContractPrice()));
+                                stockSaleReceiptReport.setAmountEdReceivable(0.00);
+                                stockSaleReceiptReport.setAmountNotReceivable(stockSaleReceiptReport.getAmountIngReceivable());
+                            }
+                            stockSaleReceiptReport.setStatusFlag(StatusEnum.TO_BE_RECEIVED.getFlag());
+                            stockSaleReceiptReport.setStatus(StatusEnum.TO_BE_RECEIVED.getName());
+                            stockSaleReceiptReport.setSettlementWeight(stockSaleReceiptReport.getNetWeight());
+                            CostManagementInfo costManagementInfo = costManagementInfoService.selectOne(new EntityWrapper<CostManagementInfo>().eq("warehouse_id", warehouseInOutInfo.getBaseId()));
+                            if (costManagementInfo != null) {
+                                stockSaleReceiptReport.setCost(costManagementInfo.getCost());
+
+                            }
+                            stockSaleReceiptReportService.insert(stockSaleReceiptReport);
+                        }
+                        //自运的销售合同
+                        ContractManagementInfo contractManagementInfo1 = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
+                                .eq("contract_no", warehouseInOutInfo.getContractNo())
+                                .eq("deliver_type", "1")
+                                .eq("contract_type", "1")
+                                .eq("delete_flag", "0"));
+                        if (contractManagementInfo1 != null) {
+                            //现货销售出库报表
+                            StockSaleReceiptReport stockSaleReceiptReport = new StockSaleReceiptReport();
+                            stockSaleReceiptReport.setId(IdGenerator.generateUUID());
+                            stockSaleReceiptReport.setWarehouseRecordId(warehouseInOutInfo.getId());
+                            stockSaleReceiptReport.setCompId(warehouseBaseInfo.getCompId());
+                            TranTaskInfo tranTaskInfo = tranTaskInfoService.selectOne(new EntityWrapper<TranTaskInfo>()
+                                    .eq("contract_no", contractManagementInfo1.getContractNo())
+                                    .eq("comp_id", contractManagementInfo1.getCompId()));
+                            if (tranTaskInfo != null) {
+                                TranProcessInfo tranProcessInfo = tranProcessInfoService.selectOne(new EntityWrapper<TranProcessInfo>()
+                                        .eq("info_id", tranTaskInfo.getId()));
+                                if (tranProcessInfo != null) {
+                                    stockSaleReceiptReport.setProcessId(tranProcessInfo.getId());
+                                    stockSaleReceiptReport.setProcessNo(tranProcessInfo.getProcessNo());
+                                    if ("汽运".equals(warehouseInOutInfo.getOutType())) {
+                                        stockSaleReceiptReport.setCarNo(warehouseInOutInfo.getCarNo());
+                                        stockSaleReceiptReport.setTranCarNo(warehouseInOutInfo.getTranCarNo());
+                                        stockSaleReceiptReport.setCaseNo(warehouseInOutInfo.getBoxNo());
+                                        stockSaleReceiptReport.setTitleNo(warehouseInOutInfo.getTitleNo());
+                                        stockSaleReceiptReport.setCaseNoOther(warehouseInOutInfo.getBoxNoOther());
+                                        stockSaleReceiptReport.setTitleNoOther(warehouseInOutInfo.getTitleNoOther());
+                                    } else if ("火运".equals(warehouseInOutInfo.getOutType())) {
+                                        stockSaleReceiptReport.setCarNo(warehouseInOutInfo.getCarNo());
+                                        stockSaleReceiptReport.setBoxNo(warehouseInOutInfo.getWingNumber());
+                                    } else if ("散船".equals(warehouseInOutInfo.getOutType())) {
+                                        stockSaleReceiptReport.setCarNo(warehouseInOutInfo.getCarNo());
+                                        stockSaleReceiptReport.setShipName(warehouseInOutInfo.getShipName());
+                                        stockSaleReceiptReport.setShipNo(warehouseInOutInfo.getShipNumber());
+                                    } else if ("集装箱船".equals(warehouseInOutInfo.getOutType())) {
+                                        stockSaleReceiptReport.setCaseNo(warehouseInOutInfo.getBoxNo());
+                                        stockSaleReceiptReport.setCaseNoOther(warehouseInOutInfo.getBoxNoOther());
+                                        stockSaleReceiptReport.setCarNo(warehouseInOutInfo.getCarNo());
+                                        stockSaleReceiptReport.setTitleNoOther(warehouseInOutInfo.getTitleNoOther());
+                                        stockSaleReceiptReport.setTitleNo(warehouseInOutInfo.getTitleNo());
+                                    }
+                                    //自运出库时手动加的车
+                                    if ("1".equals(warehouseInOutInfo.getSelfLoading())) {
+                                        List<TranCarInfo> tranCarInfoList = tranCarInfoService.selectList(new EntityWrapper<TranCarInfo>()
+                                                .eq("contract_no", contractManagementInfo1.getContractNo()).eq("tran_type", "1"));
+                                        TranCarInfo tranCarInfo = new TranCarInfo();
+                                        tranCarInfo.setProcessId(tranProcessInfo.getId());
+                                        tranCarInfo.setTranPrice(String.valueOf(tranProcessInfo.getTranPrice() != null ? tranProcessInfo.getTranPrice() : 0f));
+                                        tranCarInfo.setInfoId(tranTaskInfo.getId());
+                                        tranCarInfo.setCompId(warehouseBaseInfo.getCompId());
+                                        tranCarInfo.setTranType("1");
+                                        tranCarInfo.setCarNo(warehouseInOutInfo.getCarNo());
+                                        String tranCarNo = "";
+                                        if ((tranCarInfoList.size() + 1) < 10) {
+                                            tranCarNo = "C00" + (tranCarInfoList.size() + 1);
+                                        } else if (tranCarInfoList.size() + 1 < 100) {
+                                            tranCarNo = "C0" + (tranCarInfoList.size() + 1);
+                                        } else {
+                                            tranCarNo = "C" + (tranCarInfoList.size() + 1);
+                                        }
+                                        tranCarInfo.setTranCarNo(tranCarNo);
+                                        tranCarInfo.setId(IdGenerator.generateUUID());
+                                        tranCarInfo.setContractNo(contractManagementInfo1.getContractNo());
+                                        tranCarInfo.setStatusFlag(StatusEnum.LOADED.getFlag());
+                                        tranCarInfo.setStatus(StatusEnum.LOADED.getName());
+                                        warehouseInOutInfo.setCarId(tranCarInfo.getId());
+                                        warehouseInOutInfo.setTranCarNo(tranCarNo);
+                                        stockSaleReceiptReport.setTranCarNo(tranCarNo);
+                                        warehouseInOutInfoService.updateById(warehouseInOutInfo);
+                                        tranCarInfoService.insert(tranCarInfo);
+                                    }
+                                }
+                            } else {
+                                throw new YException(YExceptionEnum.TRANTASK_NOT_CREATED_ERROR);
+                            }
+                            stockSaleReceiptReport.setContractNo(warehouseInOutInfo.getContractNo());
+                            stockSaleReceiptReport.setWarehouseName(warehouseInOutInfo.getWarehouseName());
+                            stockSaleReceiptReport.setGrossWeight(Double.valueOf(String.valueOf(warehouseInOutInfo.getGrossWeight())));
+                            stockSaleReceiptReport.setTare(Double.valueOf(String.valueOf(warehouseInOutInfo.getTare())));
+                            stockSaleReceiptReport.setNetWeight(warehouseInOutInfo.getNetWeight());
+                            stockSaleReceiptReport.setDeliveryDate(warehouseInOutInfo.getInOutDate());
+                            stockSaleReceiptReport.setSettlementWeight(warehouseInOutInfo.getNetWeight());
+                            //按出库重量结算时
+                            if ("1".equals(contractManagementInfo1.getSettlementWeightMethod())) {
+                                stockSaleReceiptReport.setSettlementWeight(warehouseInOutInfo.getNetWeight());
+                                //定价销售
+                                if (contractManagementInfo1.getUnitContractPrice() != null) {
+                                    stockSaleReceiptReport.setSettlementPrice(contractManagementInfo1.getUnitContractPrice());
+                                    stockSaleReceiptReport.setAmountIngReceivable(warehouseInOutInfo.getNetWeight() *
+                                            (contractManagementInfo1.getUnitContractPrice()));
+                                    stockSaleReceiptReport.setAmountEdReceivable(0.00);
+                                    stockSaleReceiptReport.setAmountNotReceivable(stockSaleReceiptReport.getAmountIngReceivable());
+                                }
+                            }
+                            stockSaleReceiptReport.setStatusFlag(StatusEnum.TO_BE_RECEIVED.getFlag());
+                            stockSaleReceiptReport.setStatus(StatusEnum.TO_BE_RECEIVED.getName());
+                            stockSaleReceiptReport.setSettlementWeight(stockSaleReceiptReport.getNetWeight());
+                            CostManagementInfo costManagementInfo = costManagementInfoService.selectOne(new EntityWrapper<CostManagementInfo>().eq("warehouse_id", warehouseInOutInfo.getBaseId()));
+                            if (costManagementInfo != null) {
+                                stockSaleReceiptReport.setCost(costManagementInfo.getCost());
+
+                            }
+                            stockSaleReceiptReportService.insert(stockSaleReceiptReport);
+                        }
+                    }
+                    //常用库移库出库类型
+                    if ("移库出库".equals(warehouseInOutInfo.getInOutType())) {
+                        InOutWarehouseTask inOutWarehouseTask = inOutWarehouseTaskService.selectOne(new EntityWrapper<InOutWarehouseTask>()
+                                .eq("move_task_no", warehouseInOutInfo.getContractNo())
+                                .eq("in_out_flag", "1")
+                                .eq("delete_flag", "0"));
+                        if (inOutWarehouseTask != null) {
+                            //自运出库时手动加的车
+                            if ("1".equals(warehouseInOutInfo.getSelfLoading())) {
+                                List<TranCarInfo> tranCarInfoList = tranCarInfoService.selectList(new EntityWrapper<TranCarInfo>()
+                                        .eq("contract_no", warehouseInOutInfo.getContractNo()).eq("tran_type", "1")
+                                        .orderBy("create_date", false));
+                                TranCarInfo tranCarInfo = new TranCarInfo();
+                                TranTaskInfo tranTaskInfo = tranTaskInfoService.selectOne(new EntityWrapper<TranTaskInfo>()
+                                        .eq("comp_id", warehouseBaseInfo.getCompId())
+                                        .eq("contract_no", warehouseInOutInfo.getContractNo()));
+                                if (tranTaskInfo != null) {
+                                    TranProcessInfo tranProcessInfo = tranProcessInfoService.selectOne(new EntityWrapper<TranProcessInfo>()
+                                            .eq("info_id", tranTaskInfo.getId()));
+                                    tranCarInfo.setProcessId(tranProcessInfo.getId());
+                                    tranCarInfo.setInfoId(tranTaskInfo.getId());
+                                    tranCarInfo.setTranPrice(String.valueOf(tranProcessInfo.getTranPrice() != null ? tranProcessInfo.getTranPrice() : 0f));
+                                } else {
+                                    throw new YException(YExceptionEnum.TRANTASK_NOT_CREATED_ERROR);
+                                }
+                                //出库时打入成本
+                                CostManagementInfo costManagementInfo = costManagementInfoService.selectOne(new EntityWrapper<CostManagementInfo>().eq("warehouse_id", warehouseInOutInfo.getBaseId())
+                                        .eq("goods_name", warehouseInOutInfo.getGoodsName()));
+                                if (costManagementInfo != null) {
+                                    tranCarInfo.setCost(costManagementInfo.getCost());
+                                }
+                                tranCarInfo.setCompId(warehouseBaseInfo.getCompId());
+                                tranCarInfo.setTranType("1");
+                                tranCarInfo.setCarNo(warehouseInOutInfo.getCarNo());
+                                String tranCarNo = "";
+                                if ((tranCarInfoList.size() + 1) < 10) {
+                                    tranCarNo = "C00" + (tranCarInfoList.size() + 1);
+                                } else if (tranCarInfoList.size() + 1 < 100) {
+                                    tranCarNo = "C0" + (tranCarInfoList.size() + 1);
+                                } else {
+                                    tranCarNo = "C" + (tranCarInfoList.size() + 1);
+                                }
+                                tranCarInfo.setTranCarNo(tranCarNo);
+                                tranCarInfo.setId(IdGenerator.generateUUID());
+                                tranCarInfo.setContractNo(warehouseInOutInfo.getContractNo());
+                                tranCarInfo.setStatusFlag(StatusEnum.LOADED.getFlag());
+                                tranCarInfo.setStatus(StatusEnum.LOADED.getName());
+                                warehouseInOutInfo.setCarId(tranCarInfo.getId());
+                                warehouseInOutInfo.setTranCarNo(tranCarNo);
+                                warehouseInOutInfoService.updateById(warehouseInOutInfo);
+                                tranCarInfoService.insert(tranCarInfo);
+                            }
+                        }
+                    }
+                    if (warehouseInOutInfo.getWeighingManagement() != null) {
+                        //毛重检斤
+                        //状态改为已称毛重
+                        WeighingManagement weighingManagement = warehouseInOutInfo.getWeighingManagement();
+                        weighingManagement.setStatus(StatusEnum.WEIGHED_GROSS_WEIGHT.getName());
+                        weighingManagement.setStatusFlag(StatusEnum.WEIGHED_GROSS_WEIGHT.getFlag());
+                        weighingManagement.setGrossDate(new Date());
+                        weighingManagement.setSecretaryWeigher(commonStaff.getStaffName());
+                        //质检信息
+                        QualityInspectionManagement qualityInspectionManagement = qualityInspectionManagementService.selectOne(new EntityWrapper<QualityInspectionManagement>()
+                                .eq("relation_id", weighingManagement.getRelationId())
+                                .eq("comp_id", commonStaff.getCompId()));
+                        if (qualityInspectionManagement != null) {
+                            //状态改为已称毛重
+//                      qualityInspectionManagement.setStatus(StatusEnum.WEIGHED_GROSS_WEIGHT.getName());
+//                      qualityInspectionManagement.setStatusFlag(StatusEnum.WEIGHED_GROSS_WEIGHT.getFlag());
+                            qualityInspectionManagementService.updateById(qualityInspectionManagement);
+                        }
+                        if (weighingManagement.getGrossWeight() == null || weighingManagement.getGrossWeight() == 0) {
+                            throw new YException(YExceptionEnum.GROSSWEIGHT_NULL);
+                        }
+                        weighingManagementService.updateById(weighingManagement);
+                    }
+                    //运费大于0生成运费结算报表数据
+                    if (warehouseInOutInfo.getFreight() != null && warehouseInOutInfo.getFreight() > 0) {
+                        //生成汽运报表
+                        TranSettlementReport tranSettlementReport = new TranSettlementReport();
+                        tranSettlementReport.setCompId(warehouseBaseInfo.getCompId());
+                        tranSettlementReport.setCarId(warehouseInOutInfo.getCarId());
+                        tranSettlementReport.setId(IdGenerator.generateUUID());
+                        if ("汽运".equals(warehouseInOutInfo.getOutType())) {
+                            tranSettlementReport.setTranType("汽运");
+                            tranSettlementReport.setTranTypeKey("1");
+                        } else if ("火运".equals(warehouseInOutInfo.getOutType())) {
+                            tranSettlementReport.setTranType("火运");
+                            tranSettlementReport.setTranTypeKey("2");
+                        } else {
+                            tranSettlementReport.setTranType("船运");
+                            tranSettlementReport.setTranTypeKey("3");
+                        }
+                        tranSettlementReport.setContractNo(warehouseInOutInfo.getContractNo());
+                        tranSettlementReport.setCarNo(warehouseInOutInfo.getCarNo());
+                        tranSettlementReport.setSettlementWeight(Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
+                        //应付
+                        tranSettlementReport.setAmountIngPayable(Float.valueOf(warehouseInOutInfo.getFreight()) * tranSettlementReport.getSettlementWeight());
+                        //未付
+                        tranSettlementReport.setAmountNotPayable(Float.valueOf(warehouseInOutInfo.getFreight()) * tranSettlementReport.getSettlementWeight());
+                        tranSettlementReport.setLoadingWeight(Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
+                        tranSettlementReport.setLoadingImg(warehouseInOutInfo.getAddressUrl());
+                        tranSettlementReport.setTransportPrice(Float.valueOf(warehouseInOutInfo.getFreight()));
+                        tranSettlementReportService.insert(tranSettlementReport);
+                        boolean isStartWorkflow = org.apache.commons.lang3.StringUtils.isBlank(tranSettlementReport.getWorkflowId());
+                        // 不是退回的单子
+                        if (isStartWorkflow) {
+                            Workflow workflow = workflowService
+                                    .findLatestWorkflowByBusinessCodeByApp(tranSettlementReport.getCompId(), "TRANSPORTATION-SETTLEMENT-REPORT");
+                            // 没配置审核流程,直接结束并处理信息
+                            if (workflow == null) {
+                                throw new YException(YExceptionEnum.PURCHASE_ORDER_ERROR);
+                            }
+                            // 开启审核流
+                            else {
+
+                                // 设置状态 已提交审核
+                                tranSettlementReport.setWorkflowId(workflow.getId());
+                                tranSettlementReportService.updateById(tranSettlementReport);
+                                workflowService.startInstance(workflow.getId(), tranSettlementReport.getId());
+                            }
+                        }
+                        // 退回的单子 再启用
+                        else {
+
+                            tranSettlementReportService.updateById(tranSettlementReport);
+                            workflowService.activateInstance(tranSettlementReport.getWorkflowId(), tranSettlementReport.getId());
+                        }
+                    }
+                    TranCarInfo tranCarInfo = tranCarInfoService.selectById(warehouseInOutInfo.getCarId());
+                    if (tranCarInfo != null) {
+                        //将发货数据同步到派车表
+                        tranCarInfo.setLoadNetWeight(Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
+                        if (warehouseInOutInfo.getAddressUrl() != null) {
+                            tranCarInfo.setLoadPoundImg(warehouseInOutInfo.getAddressUrl());
+                        }
+                        if ("移库出库".equals(warehouseInOutInfo.getInOutType())) {
+                            //移库出库时打入成本
+                            CostManagementInfo costManagementInfo = costManagementInfoService.selectOne(new EntityWrapper<CostManagementInfo>().eq("warehouse_id", warehouseInOutInfo.getBaseId())
+                                    .eq("goods_name", warehouseInOutInfo.getGoodsName()));
+                            if (costManagementInfo != null) {
+                                tranCarInfo.setCost(costManagementInfo.getCost());
+                            }
+                        }
+                        tranCarInfo.setLoadingDate(warehouseInOutInfo.getInOutDate());
+                        tranCarInfo.setContractNo(warehouseInOutInfo.getContractNo());
+                        tranCarInfo.setStatus(StatusEnum.LOADED.getName());
+                        tranCarInfo.setStatusFlag(StatusEnum.LOADED.getFlag());
+                        if ("1".equals(tranCarInfo.getSubmit())) {
+                            throw new YException(YExceptionEnum.CARNO_SUBMITTED_ERROR);
+                        } else {
+                            tranCarInfo.setSubmit("1");
+                        }
+                        tranCarInfoService.updateById(tranCarInfo);
+                    }
+                    //判断是否有货
+                    if (warehouseBaseInfo != null) {
+                        //  查询库位
+                        WarehousePositionInfo warehousePositionInfo = warehousePositionInfoService.selectById(warehouseInOutInfo.getPositionId());
+                        if (warehousePositionInfo != null) {
+                            // 查询货物库存量
+                            WarehousePositionStorageInfo warehousePositionStorageInfo = warehousePositionStorageInfoService.selectOne(new EntityWrapper<WarehousePositionStorageInfo>()
+                                    .eq("position_id", warehouseInOutInfo.getPositionId())
+                                    .eq("goods_name", warehouseInOutInfo.getGoodsName())
+                                    .eq("delete_flag", "0"));
+                            // 判断是否有货
+                            if (warehousePositionStorageInfo != null) {
+                                if (warehouseInOutInfo.getNetWeight() <= warehousePositionStorageInfo.getStorage()) {
+                                    // 更新库存量
+                                    warehousePositionStorageInfo.setStorage(warehousePositionStorageInfo.getStorage() - Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
+                                    warehousePositionStorageInfoService.updateById(warehousePositionStorageInfo);
+                                }
+                                //出库量大于库存量
+                                else {
+                                    throw new YException(YExceptionEnum.INVENTORY_NO_ERROR);
+                                }
+                            }
+                            // 没有储存量
+                            else {
+                                throw new YException(YExceptionEnum.POSITIONSTORAGE_NO_ERROR);
+                            }
+                        }
+                        //库位不存在
+                        else {
+                            throw new YException(YExceptionEnum.POSITION_NO_ERROR);
+                        }
+                        //出库时打入成本
+                        CostManagementInfo costManagementInfo = costManagementInfoService.selectOne(new EntityWrapper<CostManagementInfo>().eq("warehouse_id", warehouseInOutInfo.getBaseId())
+                                .eq("goods_name", warehouseInOutInfo.getGoodsName()));
+                        if (costManagementInfo != null) {
+                            warehouseInOutInfo.setWeightedCost(Float.valueOf(String.valueOf(costManagementInfo.getCost())));
+                            warehouseInOutInfoService.updateById(warehouseInOutInfo);
+                            TranCarInfo tranCarInfo1 = tranCarInfoService.selectById(warehouseInOutInfo.getCarId());
+                            if (tranCarInfo1 != null) {
+                                //打入出库成本
+                                tranCarInfo1.setCost(costManagementInfo.getCost());
+                                tranCarInfoService.updateById(tranCarInfo1);
+                            }
+                        }
+                    }
+                    //仓库不存在
+                    else {
+                        throw new YException(YExceptionEnum.WAREHOUSE_NO_ERROR);
+                    }
+                }
+                //临时库出库
+                else if ("1".equals(warehouseInOutInfo.getInOutFlag()) && "2".equals(warehouseBaseInfo.getWarehouseType())) {
+                    //临时库销售出库类型 且为自动创建的临时库时(采购报表进数据,销售报表也进数据)
+                    if ("1".equals(warehouseInOutInfo.getInOutTypeKey()) && "1".equals(warehouseBaseInfo.getCreateType())) {
+                        ContractManagementInfo contractManagementInfo = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
+                                .eq("contract_no", warehouseBaseInfo.getWarehouseName())
+                                .eq("deliver_type", "1")
+                                .eq("delete_flag", "0"));
+                        if (contractManagementInfo != null) {
+                            //现货采购入库报表
+                            StockPurchaseReceiptReport stockPurchaseReceiptReport = new StockPurchaseReceiptReport();
+                            stockPurchaseReceiptReport.setId(IdGenerator.generateUUID());
+                            stockPurchaseReceiptReport.setCompId(warehouseBaseInfo.getCompId());
+                            stockPurchaseReceiptReport.setWarehouseRecordId(warehouseInOutInfo.getId());
+                            stockPurchaseReceiptReport.setContractNo(contractManagementInfo.getContractNo());
+                            stockPurchaseReceiptReport.setWarehouseName(warehouseInOutInfo.getWarehouseName());
+                            stockPurchaseReceiptReport.setCarNo(warehouseInOutInfo.getCarNo());
+                            stockPurchaseReceiptReport.setGrossWeight(Double.valueOf(String.valueOf(warehouseInOutInfo.getGrossWeight())));
+                            stockPurchaseReceiptReport.setTare(Double.valueOf(String.valueOf(warehouseInOutInfo.getTare())));
+                            stockPurchaseReceiptReport.setNetWeight(Double.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
+                            stockPurchaseReceiptReport.setWarehousingDate(warehouseInOutInfo.getInOutDate());
+                            stockPurchaseReceiptReport.setSettlementWeight(Double.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
+                            stockPurchaseReceiptReport.setSettlementPrice(contractManagementInfo.getUnitContractPrice());
+                            if (contractManagementInfo.getUnitContractPrice() != null) {
+                                stockPurchaseReceiptReport.setAmountIngPayable(warehouseInOutInfo.getNetWeight() *
+                                        (contractManagementInfo.getUnitContractPrice()));
+                            }
+                            stockPurchaseReceiptReport.setAmountEdPayable(0.0d);
+                            stockPurchaseReceiptReport.setAmountNotPayable(stockPurchaseReceiptReport.getAmountIngPayable());
+                            stockPurchaseReceiptReport.setStatusFlag(StatusEnum.FORM_REVIEWED.getFlag());
+                            stockPurchaseReceiptReport.setStatus(StatusEnum.FORM_REVIEWED.getName());
+                            stockPurchaseReceiptReportService.insert(stockPurchaseReceiptReport);
+                            boolean isStartWorkflow = org.apache.commons.lang3.StringUtils.isBlank(stockPurchaseReceiptReport.getWorkflowId());
+                            // 不是退回的单子
+                            if (isStartWorkflow) {
+                                Workflow workflow = workflowService
+                                        .findLatestWorkflowByBusinessCodeByApp(stockPurchaseReceiptReport.getCompId(), "STOCK-PROCUREMENT-RECEIPT-REPORT");
+                                // 没配置审核流程,直接结束并处理信息
+                                if (workflow == null) {
+                                    throw new YException(YExceptionEnum.PURCHASE_ORDER_ERROR);
+                                }
+                                // 开启审核流
+                                else {
+                                    // 设置状态 已提交审核
+                                    stockPurchaseReceiptReport.setWorkflowId(workflow.getId());
+                                    stockPurchaseReceiptReportService.updateById(stockPurchaseReceiptReport);
+                                    workflowService.startInstance(workflow.getId(), stockPurchaseReceiptReport.getId());
+                                }
+                            }
+                            // 退回的单子 再启用
+                            else {
+                                stockPurchaseReceiptReportService.updateById(stockPurchaseReceiptReport);
+                                workflowService.activateInstance(stockPurchaseReceiptReport.getWorkflowId(), stockPurchaseReceiptReport.getId());
+                            }
+                        }
+                        ContractManagementInfo contractManagementInfo1 = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
+                                .eq("contract_no", contractManagementInfo.getContractNo()).eq("delete_flag", "0"));
+                        if (contractManagementInfo1 == null) {
+                            throw new YException(YExceptionEnum.CONTRACT_NO_NOT_EXSITS_ERROR);
+                        }
+
+                        Wrapper wrapper = new EntityWrapper<TranCarInfo>()
+                                .eq("contract_no", warehouseInOutInfo.getContractNo())
+                                .eq("car_no", warehouseInOutInfo.getCarNo())
+                                .eq(TranCarInfo.QueryFiles.DELETE_FLAG, NumberConstant.CONSTANT0)
+                                .eq("tran_car_no", warehouseInOutInfo.getTranCarNo());
+                        TranCarInfo tranCarInfo = tranCarInfoService.selectOne(wrapper);
+                        if (tranCarInfo != null) {
+                            //将发货数据同步到派车表
+                            tranCarInfo.setLoadNetWeight(Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
+                            if (warehouseInOutInfo.getAddressUrl() != null) {
+                                tranCarInfo.setLoadPoundImg(warehouseInOutInfo.getAddressUrl());
+                            }
+                            tranCarInfo.setLoadingDate(warehouseInOutInfo.getInOutDate());
+                            tranCarInfo.setContractNo(warehouseInOutInfo.getContractNo());
+                            tranCarInfo.setStatus(StatusEnum.LOADED.getName());
+                            tranCarInfo.setStatusFlag(StatusEnum.LOADED.getFlag());
+                            if ("1".equals(tranCarInfo.getSubmit())) {
+                                throw new YException(YExceptionEnum.CARNO_SUBMITTED_ERROR);
+                            } else {
+                                tranCarInfo.setSubmit("1");
+                            }
+                            tranCarInfoService.updateById(tranCarInfo);
+                        }
+                    }
+                    //临时库移库出库类型 且为自动创建的临时库时进采购报表
+                    if ("3".equals(warehouseInOutInfo.getInOutTypeKey()) && "1".equals(warehouseBaseInfo.getCreateType())) {
+                        //按出库重量结算
+                        ContractManagementInfo contractManagementInfo = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
+                                .eq("contract_no", warehouseBaseInfo.getWarehouseName())
+                                .eq("settlement_weight_method", "1")
+                                .eq("deliver_type", "1")
+                                .eq("delete_flag", "0"));
+                        if (contractManagementInfo != null) {
+                            //现货采购入库报表
+                            StockPurchaseReceiptReport stockPurchaseReceiptReport = new StockPurchaseReceiptReport();
+                            stockPurchaseReceiptReport.setId(IdGenerator.generateUUID());
+                            stockPurchaseReceiptReport.setCompId(warehouseBaseInfo.getCompId());
+                            stockPurchaseReceiptReport.setWarehouseRecordId(warehouseInOutInfo.getId());
+                            stockPurchaseReceiptReport.setContractNo(contractManagementInfo.getContractNo());
+                            stockPurchaseReceiptReport.setWarehouseName(warehouseInOutInfo.getWarehouseName());
+                            stockPurchaseReceiptReport.setCarNo(warehouseInOutInfo.getCarNo());
+                            stockPurchaseReceiptReport.setGrossWeight(Double.valueOf(String.valueOf(warehouseInOutInfo.getGrossWeight())));
+                            stockPurchaseReceiptReport.setTare(Double.valueOf(String.valueOf(warehouseInOutInfo.getTare())));
+                            stockPurchaseReceiptReport.setNetWeight(Double.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
+                            stockPurchaseReceiptReport.setWarehousingDate(warehouseInOutInfo.getInOutDate());
+                            stockPurchaseReceiptReport.setSettlementWeight(Double.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
+                            stockPurchaseReceiptReport.setSettlementPrice(contractManagementInfo.getUnitContractPrice());
+                            if (contractManagementInfo.getUnitContractPrice() != null) {
+                                stockPurchaseReceiptReport.setAmountIngPayable(warehouseInOutInfo.getNetWeight() *
+                                        (contractManagementInfo.getUnitContractPrice()));
+                            }
+                            stockPurchaseReceiptReport.setAmountEdPayable(0.0d);
+                            stockPurchaseReceiptReport.setAmountNotPayable(stockPurchaseReceiptReport.getAmountIngPayable());
+                            stockPurchaseReceiptReport.setStatusFlag(StatusEnum.FORM_REVIEWED.getFlag());
+                            stockPurchaseReceiptReport.setStatus(StatusEnum.FORM_REVIEWED.getName());
+                            stockPurchaseReceiptReportService.insert(stockPurchaseReceiptReport);
+                            boolean isStartWorkflow = org.apache.commons.lang3.StringUtils.isBlank(stockPurchaseReceiptReport.getWorkflowId());
+                            // 不是退回的单子
+                            if (isStartWorkflow) {
+                                Workflow workflow = workflowService
+                                        .findLatestWorkflowByBusinessCodeByApp(stockPurchaseReceiptReport.getCompId(), "STOCK-PROCUREMENT-RECEIPT-REPORT");
+                                // 没配置审核流程,直接结束并处理信息
+                                if (workflow == null) {
+                                    throw new YException(YExceptionEnum.PURCHASE_ORDER_ERROR);
+                                }
+                                // 开启审核流
+                                else {
+                                    // 设置状态 已提交审核
+                                    stockPurchaseReceiptReport.setWorkflowId(workflow.getId());
+                                    stockPurchaseReceiptReportService.updateById(stockPurchaseReceiptReport);
+                                    workflowService.startInstance(workflow.getId(), stockPurchaseReceiptReport.getId());
+                                }
+                            }
+                            // 退回的单子 再启用
+                            else {
+                                stockPurchaseReceiptReportService.updateById(stockPurchaseReceiptReport);
+                                workflowService.activateInstance(stockPurchaseReceiptReport.getWorkflowId(), stockPurchaseReceiptReport.getId());
+                            }
+                        }
+                        ContractManagementInfo contractManagementInfo1 = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
+                                .eq("contract_no", contractManagementInfo.getContractNo()).eq("delete_flag", "0"));
+                        if (contractManagementInfo1 == null) {
+                            throw new YException(YExceptionEnum.CONTRACT_NO_NOT_EXSITS_ERROR);
+                        }
+                        Wrapper wrapper = new EntityWrapper<TranCarInfo>()
+                                .eq("contract_no", warehouseInOutInfo.getContractNo())
+                                .eq("car_no", warehouseInOutInfo.getCarNo())
+                                .eq(TranCarInfo.QueryFiles.DELETE_FLAG, NumberConstant.CONSTANT0)
+                                .eq("tran_car_no", warehouseInOutInfo.getTranCarNo());
+                        TranCarInfo tranCarInfo = tranCarInfoService.selectOne(wrapper);
+                        if (tranCarInfo != null) {
+                            //将发货数据同步到派车表
+                            tranCarInfo.setLoadNetWeight(Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
+                            if (warehouseInOutInfo.getAddressUrl() != null) {
+                                tranCarInfo.setLoadPoundImg(warehouseInOutInfo.getAddressUrl());
+                            }
+                            tranCarInfo.setLoadingDate(warehouseInOutInfo.getInOutDate());
+                            tranCarInfo.setContractNo(warehouseInOutInfo.getContractNo());
+                            if (contractManagementInfo != null) {
+                                tranCarInfo.setCost(contractManagementInfo.getUnitContractPrice());
+                            } else {
+                                //出库时打入成本
+                                CostManagementInfo costManagementInfo = costManagementInfoService.selectOne(new EntityWrapper<CostManagementInfo>().eq("warehouse_id", warehouseInOutInfo.getBaseId())
+                                        .eq("goods_name", warehouseInOutInfo.getGoodsName()));
+                                if (costManagementInfo != null) {
+                                    tranCarInfo.setCost(costManagementInfo.getCost());
+                                }
+                            }
+                            tranCarInfo.setStatus(StatusEnum.LOADED.getName());
+                            tranCarInfo.setStatusFlag(StatusEnum.LOADED.getFlag());
+                            if ("1".equals(tranCarInfo.getSubmit())) {
+                                throw new YException(YExceptionEnum.CARNO_SUBMITTED_ERROR);
+                            } else {
+                                tranCarInfo.setSubmit("1");
+                            }
+                            tranCarInfoService.updateById(tranCarInfo);
+                        }
+                    }
+                    Wrapper<InOutWarehouseTask> inOutWarehouseTaskWrapper = new EntityWrapper<>();
+                    inOutWarehouseTaskWrapper.eq("in_out_flag", "1").eq("delete_flag", "0");
+                    inOutWarehouseTaskWrapper.andNew().eq("move_task_no", warehouseInOutInfo.getContractNo()).or()
+                            .eq("contract_no", warehouseInOutInfo.getContractNo());
+                    InOutWarehouseTask inOutWarehouseTask = inOutWarehouseTaskService.selectOne(inOutWarehouseTaskWrapper);
+                    if (inOutWarehouseTask != null) {
+                        //自运出库时手动加的车
+                        if ("1".equals(warehouseInOutInfo.getSelfLoading()) || warehouseInOutInfo.getTranCarNo() == null || warehouseInOutInfo.getCarId() == null) {
+                            List<TranCarInfo> tranCarInfoList = tranCarInfoService.selectList(new EntityWrapper<TranCarInfo>()
+                                    .eq("contract_no", warehouseInOutInfo.getContractNo()).eq("tran_type", "1")
+                                    .orderBy("create_date", false));
+                            TranCarInfo tranCarInfo = new TranCarInfo();
+                            TranTaskInfo tranTaskInfo = tranTaskInfoService.selectOne(new EntityWrapper<TranTaskInfo>()
+                                    .eq("comp_id", warehouseBaseInfo.getCompId())
+                                    .eq("contract_no", warehouseInOutInfo.getContractNo()));
+                            if (tranTaskInfo != null) {
+                                TranProcessInfo tranProcessInfo = tranProcessInfoService.selectOne(new EntityWrapper<TranProcessInfo>()
+                                        .eq("info_id", tranTaskInfo.getId()));
+                                tranCarInfo.setProcessId(tranProcessInfo.getId());
+                                tranCarInfo.setTranPrice(String.valueOf(tranProcessInfo.getTranPrice() != null ? tranProcessInfo.getTranPrice() : 0f));
+                                tranCarInfo.setInfoId(tranTaskInfo.getId());
+                            } else {
+                                throw new YException(YExceptionEnum.TRANTASK_NOT_CREATED_ERROR);
+                            }
+                            tranCarInfo.setCompId(warehouseBaseInfo.getCompId());
+                            tranCarInfo.setTranType("1");
+                            tranCarInfo.setSubmit("1");
+                            ContractManagementInfo contractManagementInfo1 = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
+                                    .eq("contract_no", warehouseInOutInfo.getContractNo()).eq("delete_flag", "0"));
+                            if (contractManagementInfo1 != null) {
+                                tranCarInfo.setCost(contractManagementInfo1.getUnitContractPrice());
+                            } else {
+                                //出库时打入成本
+                                CostManagementInfo costManagementInfo = costManagementInfoService.selectOne(new EntityWrapper<CostManagementInfo>().eq("warehouse_id", warehouseInOutInfo.getBaseId())
+                                        .eq("goods_name", warehouseInOutInfo.getGoodsName()));
+                                if (costManagementInfo != null) {
+                                    tranCarInfo.setCost(costManagementInfo.getCost());
+                                }
+                            }
+                            tranCarInfo.setLoadNetWeight(Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
+                            tranCarInfo.setLoadingDate(new Date());
+                            tranCarInfo.setCarNo(warehouseInOutInfo.getCarNo());
+                            String tranCarNo = "";
+                            if ((tranCarInfoList.size() + 1) < 10) {
+                                tranCarNo = "C00" + (tranCarInfoList.size() + 1);
+                            } else if (tranCarInfoList.size() + 1 < 100) {
+                                tranCarNo = "C0" + (tranCarInfoList.size() + 1);
+                            } else {
+                                tranCarNo = "C" + (tranCarInfoList.size() + 1);
+                            }
+                            tranCarInfo.setTranCarNo(tranCarNo);
+                            tranCarInfo.setId(IdGenerator.generateUUID());
+                            tranCarInfo.setContractNo(warehouseInOutInfo.getContractNo());
+                            tranCarInfo.setStatusFlag(StatusEnum.LOADED.getFlag());
+                            tranCarInfo.setStatus(StatusEnum.LOADED.getName());
+                            warehouseInOutInfo.setSelfLoading("1");
+                            warehouseInOutInfo.setCarId(tranCarInfo.getId());
+                            warehouseInOutInfo.setTranCarNo(tranCarNo);
+                            warehouseInOutInfoService.updateById(warehouseInOutInfo);
+                            tranCarInfoService.insert(tranCarInfo);
+                        }
+                    }
+                    if (warehouseBaseInfo != null) {
+                        //出库时打入成本
+                        CostManagementInfo costManagementInfo = costManagementInfoService.selectOne(new EntityWrapper<CostManagementInfo>().eq("warehouse_id", warehouseInOutInfo.getBaseId())
+                                .eq("goods_name", warehouseInOutInfo.getGoodsNameKey()));
+                        if (costManagementInfo != null) {
+                            warehouseInOutInfo.setWeightedCost(Float.valueOf(String.valueOf(costManagementInfo.getCost())));
+                            warehouseInOutInfoService.updateById(warehouseInOutInfo);
+                        }
+                    }
+                }
+            }
+        }
+        return warehouseInOutInfo.getWeighingManagement().getId();
+    }
+
 }

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

@@ -1,6 +1,7 @@
 package com.yh.saas.plugin.yiliangyiyun.service.impl;
 
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.mapper.Wrapper;
 import com.baomidou.mybatisplus.plugins.Page;
 import com.google.common.collect.Lists;
 import com.winsea.svc.base.base.entity.CommonCompany;
@@ -23,6 +24,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
@@ -52,6 +54,12 @@ public class WeighingManagementServiceImpl extends ServiceImpl<WeighingManagemen
     @Autowired
     private IWarehouseInOutDetailService warehouseInOutDetailService;
     @Autowired
+    private IWarehousePositionStorageInfoService warehousePositionStorageInfoService;
+    @Autowired
+    private IStockPurchaseReceiptReportService stockPurchaseReceiptReportService;
+    @Autowired
+    private ITranCarInfoService tranCarInfoService;
+    @Autowired
     private IContractManagementInfoService contractManagementInfoService;
     @Autowired
     private ICommonStaffService staffService;
@@ -384,6 +392,25 @@ public class WeighingManagementServiceImpl extends ServiceImpl<WeighingManagemen
         return weighingManagement;
     }
 
+    /**
+     * 查询业务编号
+     * @param
+     * @return
+     */
+    @Override
+    public List<WeighingManagement> selectWeighingManagementList(WeighingManagement weighingManagement) {
+        SimpleDateFormat f = new SimpleDateFormat("yyyyMMdd");//设置日期格式
+        String date = f.format(new Date(System.currentTimeMillis()));
+        Map<String, Object> pageView = new HashMap<>(7);
+        pageView.put("date", date);
+        pageView.put("warehouseNo", weighingManagement.getWarehouseNo());
+        pageView.put("numberLetter", weighingManagement.getNumberLetter());
+        pageView.put("compId", weighingManagement.getCompId());
+        List<WeighingManagement> dataList = baseMapper.getListByConditions(pageView);
+        return dataList;
+    }
+
+
     /**
      * 出库管理添加皮重检斤管理信息
      * @param weighingManagement
@@ -394,6 +421,33 @@ public class WeighingManagementServiceImpl extends ServiceImpl<WeighingManagemen
     public String addTare(WeighingManagement weighingManagement) {
         String relationId=IdGenerator.generateUUID();
         weighingManagement.setId(IdGenerator.generateUUID());
+        if(weighingManagement.getCompId() == null || weighingManagement.getCompId().isEmpty()){
+            weighingManagement.setCompId(AuthSecurityUtils.getStaffById(AuthSecurityUtils.getCurrentUserId()).getCompId());
+        }
+        //获取当前年月日
+        SimpleDateFormat f = new SimpleDateFormat("yyyyMMdd");//设置日期格式
+        String date = f.format(new Date(System.currentTimeMillis()));
+        //查询质检信息数量包括已删除的集合
+        List<WeighingManagement> weighingManagementList1 = this.selectWeighingManagementList(weighingManagement);//调用Service中的方法
+        //生成业务编号
+        if (weighingManagementList1.size() > 0) {
+            //取第一条数据的编号
+            String n = weighingManagementList1.get(0).getNumber();
+            //截取编号后4位
+            int intNumber = Integer.parseInt(n.substring(15));
+            intNumber++;
+            String businessNumber = String.valueOf(intNumber);
+            for (int i = 0; i < 4; i++) {
+                businessNumber = businessNumber.length() < 4 ? "0" + businessNumber : businessNumber;
+            }
+            //编号自增
+            businessNumber = weighingManagement.getNumberLetter() + date + weighingManagement.getWarehouseNo() + businessNumber;
+            weighingManagement.setNumber(businessNumber);
+        } else {
+            //如果当天数据为空,生成第一条数据
+            String businessNumber = weighingManagement.getNumberLetter() + date + weighingManagement.getWarehouseNo() + "0001";
+            weighingManagement.setNumber(businessNumber);
+        }
         //判断质检编号是否唯一
         List<WeighingManagement> weighingManagementList =
                 this.selectList(new EntityWrapper<WeighingManagement>()
@@ -493,4 +547,87 @@ public class WeighingManagementServiceImpl extends ServiceImpl<WeighingManagemen
         weighingManagement1.setWarehouseBaseInfo(warehouseBaseInfo);
         return weighingManagement1;
     }
+
+    /**
+     * 退回
+     * @param
+     * @return
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public String weightReturn(WeighingManagement weighingManagement) {
+        //查询检斤信息表
+        WeighingManagement weighingManagement1 = this.selectById(weighingManagement.getId());
+        //查询出入库表
+        WarehouseInOutInfo warehouseInOutInfo = warehouseInOutInfoService.selectById(weighingManagement1.getWarehouseInOutId());
+        if(weighingManagement1.getWarehouseInOutId() != null){
+            if(warehouseInOutInfo!= null){
+                //状态改为已暂存
+                warehouseInOutInfo.setStatusFlag(StatusEnum.TEMPORARILY_STORED.getFlag());
+                warehouseInOutInfo.setStatus(StatusEnum.TEMPORARILY_STORED.getName());
+                //更新出入库表信息
+                warehouseInOutInfoService.updateById(warehouseInOutInfo);
+                //查询仓位库存信息
+                WarehousePositionStorageInfo warehousePositionStorageInfo = warehousePositionStorageInfoService.selectOne(new EntityWrapper<WarehousePositionStorageInfo>()
+                        .eq("position_id",warehouseInOutInfo.getPositionId())
+                        .eq("delete_flag","0"));
+                if(warehousePositionStorageInfo != null){
+                    //更新仓位库存信息
+                    warehousePositionStorageInfo.setStorage(warehousePositionStorageInfo.getStorage() - weighingManagement1.getNetWeight()/1000);
+                    warehousePositionStorageInfoService.updateById(warehousePositionStorageInfo);
+                }
+            }
+        }
+        //收购入库
+        if(weighingManagement1 != null && "3".equals(weighingManagement1.getServiceManagementType())){
+            //状态改为已称毛重
+            weighingManagement1.setStatus(StatusEnum.WEIGHED_GROSS_WEIGHT.getName());
+            weighingManagement1.setStatusFlag(StatusEnum.WEIGHED_GROSS_WEIGHT.getFlag());
+            //更新检斤信息
+            this.updateById(weighingManagement1);
+
+            //查询付款信息表
+            PaymentManagement paymentManagement = paymentManagementService.selectOne(new EntityWrapper<PaymentManagement>()
+                        .eq("payment_no",weighingManagement1.getNumber())
+                        .eq("delete_flag","0"));
+            //删除付款表数据,delete_flag改为1
+            paymentManagement.setDeleteFlag("1");
+            paymentManagementService.updateById(paymentManagement);
+        }
+        //采购入库
+        else if(weighingManagement1 != null && "1".equals(weighingManagement1.getServiceManagementType())){
+            //状态改为已称毛重
+            weighingManagement1.setStatus(StatusEnum.WEIGHED_GROSS_WEIGHT.getName());
+            weighingManagement1.setStatusFlag(StatusEnum.WEIGHED_GROSS_WEIGHT.getFlag());
+            //更新检斤信息
+            this.updateById(weighingManagement1);
+            if(weighingManagement1.getWarehouseInOutId() != null){
+                if(warehouseInOutInfo != null){
+                    if(warehouseInOutInfo.getCarId() != null ){
+                        //查询派车信息表
+                        TranCarInfo tranCarInfo = tranCarInfoService.selectOne(new EntityWrapper<TranCarInfo>()
+                                .eq("car_no",warehouseInOutInfo.getCarNo())
+                                .eq("delete_flag","0"));
+                        if(tranCarInfo != null){
+                            tranCarInfo.setSubmit("1");
+                            //汽运状态改为已装车
+                            tranCarInfo.setStatus(StatusEnum.LOADED.getName());
+                            tranCarInfo.setStatusFlag(StatusEnum.LOADED.getFlag());
+                            //更新派车信息表
+                            tranCarInfoService.updateById(tranCarInfo);
+                        }
+                    }
+                    //查询采购入库报表
+                    StockPurchaseReceiptReport stockPurchaseReceiptReport = stockPurchaseReceiptReportService.selectOne(new EntityWrapper<StockPurchaseReceiptReport>()
+                            .eq("warehouse_record_id",warehouseInOutInfo.getId())
+                            .eq("delete_flag","0"));
+                    if(stockPurchaseReceiptReport != null){
+                        stockPurchaseReceiptReport.setDeleteFlag("1");
+                        stockPurchaseReceiptReportService.updateById(stockPurchaseReceiptReport);
+                    }
+                }
+            }
+        }
+        return "OK";
+    }
 }

+ 18 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/resources/mapper/QualityInspectionManagementMapper.xml

@@ -129,4 +129,22 @@
             LIMIT ${startRecord}, ${pageSize}
         </if>
     </select>
+
+
+    <!-- 获得业务编号列表 -->
+    <select id="getListByConditions" parameterType="Map"
+            resultType="com.yh.saas.plugin.yiliangyiyun.entity.QualityInspectionManagement">
+        SELECT quality_no from quality_inspection_management
+        WHERE comp_id = #{compId}
+        <if test="numberLetter != null and numberLetter != ''">
+        AND (lower(quality_no) like lower(CONCAT('%',#{numberLetter},'%')))
+        </if>
+        <if test="date != null and date != ''">
+        AND (lower(quality_no) like lower(CONCAT('%',#{date},'%')))
+        </if>
+        <if test="warehouseNo != null and warehouseNo != ''">
+        AND (lower(quality_no) like lower(CONCAT('%',#{warehouseNo},'%')))
+        </if>
+        ORDER BY quality_no DESC
+    </select>
 </mapper>

+ 18 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/resources/mapper/WeighingManagementMapper.xml

@@ -129,4 +129,22 @@
             LIMIT ${startRecord}, ${pageSize}
         </if>
     </select>
+
+
+    <!-- 获得业务编号列表 -->
+    <select id="getListByConditions" parameterType="Map"
+            resultType="com.yh.saas.plugin.yiliangyiyun.entity.WeighingManagement">
+        SELECT number from weighing_management
+        WHERE comp_id = #{compId}
+        <if test="numberLetter != null and numberLetter != ''">
+            AND (lower(number) like lower(CONCAT('%',#{numberLetter},'%')))
+        </if>
+        <if test="date != null and date != ''">
+            AND (lower(number) like lower(CONCAT('%',#{date},'%')))
+        </if>
+        <if test="warehouseNo != null and warehouseNo != ''">
+            AND (lower(number) like lower(CONCAT('%',#{warehouseNo},'%')))
+        </if>
+        ORDER BY number DESC
+    </select>
 </mapper>