zhangyuewww 3 anni fa
parent
commit
b2b13698ad

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

@@ -103,7 +103,13 @@ public class SourceRelationInfo extends BaseModel<SourceRelationInfo> {
      */
     @TableField(exist = false)
     private List<SourceRelationInfo> sourceRelationInfoList;
-
+    /**
+     * 出单时间年月日时分秒
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @TableField(exist = false)
+    private Date issuingTimeElse;
     @Override
     protected Serializable pkVal() {
         return this.id;

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

@@ -270,6 +270,13 @@ public class WarehousingOrder extends BaseModel<WarehousingOrder> {
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     @TableField(exist = false)
     private Date issuingTimeOther;
+    /**
+     * 出单时间年月日时分秒
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @TableField(exist = false)
+    private Date issuingTimeElse;
 
     @Override
     protected Serializable pkVal() {

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

@@ -1,12 +1,19 @@
 package com.yh.saas.plugin.yiliangyiyun.service.impl;
 
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.plugins.Page;
 import com.google.common.collect.Lists;
 import com.winsea.svc.base.security.util.AuthSecurityUtils;
 import com.yh.saas.plugin.yiliangyiyun.entity.ContractInventoryDistribution;
+import com.yh.saas.plugin.yiliangyiyun.entity.WarehousingOrder;
 import com.yh.saas.plugin.yiliangyiyun.mapper.ContractInventoryDistributionMapper;
+import com.yh.saas.plugin.yiliangyiyun.service.IContractGoodsInfoService;
 import com.yh.saas.plugin.yiliangyiyun.service.IContractInventoryDistributionService;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.yh.saas.plugin.yiliangyiyun.service.IWarehousingOrderService;
+import com.yh.saas.plugin.yiliangyiyun.util.CalculationUtil;
+import org.activiti.engine.impl.util.CollectionUtil;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.HashMap;
@@ -23,7 +30,8 @@ import java.util.Map;
  */
 @Service
 public class ContractInventoryDistributionServiceImpl extends ServiceImpl<ContractInventoryDistributionMapper, ContractInventoryDistribution> implements IContractInventoryDistributionService {
-
+    @Autowired
+    private IWarehousingOrderService warehousingOrderService;
     /**
      * 合同/收购库存分布列表查询
      * @param contractInventoryDistribution
@@ -37,13 +45,32 @@ public class ContractInventoryDistributionServiceImpl extends ServiceImpl<Contra
         //  公司ID
         pageView.put("compId", AuthSecurityUtils.getCurrentUserInfo().getCompId());
         pageView.put("inventoryType", contractInventoryDistribution.getInventoryType());
-        pageView.put("contract_no", contractInventoryDistribution.getContractNo());
+        pageView.put("contractNo", contractInventoryDistribution.getContractNo());
         pageView.put("warehouse", contractInventoryDistribution.getWarehouse());
         pageView.put("pageSize", contractInventoryDistribution.getPageSize());
         pageView.put("currentPage", contractInventoryDistribution.getCurrentPage());
         // 查询服务商总数
         Integer dataCount = baseMapper.getContractInventoryCountByCondition(pageView);
         List<ContractInventoryDistribution> dataList = baseMapper.getContractInventoryListByCondition(pageView);
+        if("1".equals(contractInventoryDistribution.getInventoryType())){
+            for (ContractInventoryDistribution contractInventoryDistribution1:dataList){
+                Float proLoss=0f;
+                List<WarehousingOrder> warehousingOrderList=warehousingOrderService.selectList(new EntityWrapper<WarehousingOrder>()
+                .eq("warehouse_name",contractInventoryDistribution1.getWarehouse())
+                .eq("contract_no",contractInventoryDistribution1.getContractNo()));
+                if (!CollectionUtil.isNotEmpty(warehousingOrderList)){
+                    for (WarehousingOrder warehousingOrder:warehousingOrderList){
+                        proLoss=proLoss+warehousingOrder.getProfitAndLoss();
+                    }
+                }
+                if (proLoss>0){
+                    contractInventoryDistribution1.setSurplus(Double.valueOf(String.valueOf(proLoss)));
+                }
+                else{
+                    contractInventoryDistribution1.setLoss(Double.valueOf(String.valueOf(proLoss)));
+                }
+            }
+        }
 
         Page<ContractInventoryDistribution> page = new Page<>();
         page.setRecords(dataList == null ? Lists.newArrayList() : dataList);

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

@@ -345,9 +345,8 @@ public class ContractManagementInfoServiceImpl extends ServiceImpl<ContractManag
                     .eq(WarehouseBaseInfo.QueryFiles.WAREHOUSE_NAME, contractManagementInfo.getContractNo())
                     .eq(WarehouseBaseInfo.QueryFiles.DELETE_FLAG, NumberConstant.CONSTANT0));
             if (warehouseBaseInfo != null) {
-                warehouseBaseInfo.setPersonChargeKey(contractManagementInfo.getPersonChargeKey());
-                warehouseBaseInfo.setPersonCharge(contractManagementInfo.getPersonCharge());
-                warehouseBaseInfo.setPersonPhone(contractManagementInfo.getPersonPhone());
+                warehouseBaseInfo.setOtherPersonCharge(contractManagementInfo.getPersonCharge());
+                warehouseBaseInfo.setOtherPersonPhone(contractManagementInfo.getPersonPhone());
                 warehouseBaseInfoService.updateById(warehouseBaseInfo);
             }
             // 根据类型进入审核

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

@@ -87,7 +87,7 @@ public class WarehousingOrderServiceImpl extends ServiceImpl<WarehousingOrderMap
     @Autowired
     private IPaymentManagementService paymentManagementService;
     @Autowired
-    private IWarehouseBaseInfoService warehouseBaseInfoService;
+    private IContractInventoryDistributionService contractInventoryDistributionService;
     @Value("${file-root-path}")
     private String localPath;
     @Autowired
@@ -129,6 +129,7 @@ public class WarehousingOrderServiceImpl extends ServiceImpl<WarehousingOrderMap
                 sourceRelationInfo.setCarNo(warehouseInOutInfo1.getCarNo());
                 sourceRelationInfo.setEstimateOutWarehouseWeight(Float.valueOf(String.valueOf(warehouseInOutInfo1.getNetWeight())));
                 sourceRelationInfo.setIssuingTime(warehouseInOutInfo1.getInOutDate());
+                sourceRelationInfo.setIssuingTimeElse(warehouseInOutInfo1.getInOutDate());
                 sourceRelationInfo.setWarehouseName(warehouseInOutInfo1.getWarehouseName());
                 sourceRelationInfo.setReturnTickFlag(warehouseInOutInfo1.getReturnTickFlag());
                 String goodsSource="";
@@ -237,17 +238,16 @@ public class WarehousingOrderServiceImpl extends ServiceImpl<WarehousingOrderMap
      * 每天16.30点更新
      */
     @Transactional
-    @Scheduled(cron = "0 03 11 * * ?")
+    @Scheduled(cron = "0 30 16 * * ?")
     public String addInfo() {
         //当天零点
-        SimpleDateFormat now = new SimpleDateFormat("yyyy-MM-dd 11:03:00");
+        SimpleDateFormat now = new SimpleDateFormat("yyyy-MM-dd 16:30:00");
         Calendar c = Calendar.getInstance();
         c.setTime(new Date());
         c.add(Calendar.DATE, -1);
         String beforeDay=now.format(c.getTime());
         Map<String, Object> pageView = new HashMap<>();
         pageView.put("beforeDay", beforeDay);
-        pageView.put("compId", AuthSecurityUtils.getCurrentUserInfo().getCompId());
         //成本
         List<WarehousingOrder> costList = baseMapper.getGoodCostListByCondition(pageView);
         //收购
@@ -293,6 +293,27 @@ public class WarehousingOrderServiceImpl extends ServiceImpl<WarehousingOrderMap
                 warehousingOrder.setIssuingTime(new Date());
                 warehousingOrder.setGrainFund(money);
                 this.insert(warehousingOrder);
+                //更新收购库存
+                ContractInventoryDistribution contractInventoryDistribution=contractInventoryDistributionService.selectOne(new EntityWrapper<ContractInventoryDistribution>()
+                    .eq("comp_id",warehousingOrder1.getCompId()).eq("inventory_type","3").eq("locus_warehouse",warehousingOrder1.getWarehouseName())
+                    .eq("warehouseId",warehousingOrder1.getBaseId())
+                    .eq("goods_name",warehousingOrder1.getGoodsName()));
+                if (contractInventoryDistribution!=null){
+                    contractInventoryDistribution.setInventory(contractInventoryDistribution.getInventory()+warehousingOrder1.getInWarehouseWeight());
+                    contractInventoryDistributionService.updateById(contractInventoryDistribution);
+                }
+                else {
+                    ContractInventoryDistribution contractInventoryDistribution1=new ContractInventoryDistribution();
+                    contractInventoryDistribution1.setId(IdGenerator.generateUUID());
+                    contractInventoryDistribution1.setCompId(warehousingOrder1.getCompId());
+                    contractInventoryDistribution1.setInventory(Double.valueOf(String.valueOf(warehousingOrder.getInWarehouseWeight())));
+                    contractInventoryDistribution1.setLocusWarehouse(warehousingOrder1.getWarehouseName());
+                    contractInventoryDistribution1.setGoodsName(warehousingOrder1.getGoodsName());
+                    contractInventoryDistribution1.setInventoryType("3");
+                    contractInventoryDistributionService.insert(contractInventoryDistribution1);
+
+                }
+
             }
         }
         //采购入库
@@ -336,13 +357,31 @@ public class WarehousingOrderServiceImpl extends ServiceImpl<WarehousingOrderMap
                     money=money+warehouseInOutInfo.getCost()*warehouseInOutInfo.getNetWeight();
                 }
                 warehousingOrder.setAmountNotPayable(money);
-                //平均成本 货值总和除以总重量
-                warehousingOrder.setAvgCost(money/weight);
                 warehousingOrder.setAmountEdPayable(0d);
                 warehousingOrder.setSurplusWeight(Float.valueOf(String.valueOf(weight)));
                 warehousingOrder.setIssuingTime(new Date());
                 warehousingOrder.setGrainFund(money);
                 this.insert(warehousingOrder);
+                //更新采购库存
+                ContractInventoryDistribution contractInventoryDistribution=contractInventoryDistributionService.selectOne(new EntityWrapper<ContractInventoryDistribution>()
+                        .eq("comp_id",warehousingOrder1.getCompId()).eq("inventory_type","1").eq("contract_no",warehousingOrder1.getContractNo())
+                        .eq("warehouse",warehousingOrder1.getWarehouseName()));
+                if (contractInventoryDistribution!=null){
+                    contractInventoryDistribution.setInStorage(contractInventoryDistribution.getInStorage()+warehousingOrder1.getInWarehouseWeight());
+                    contractInventoryDistributionService.updateById(contractInventoryDistribution);
+                }
+                else {
+                    ContractInventoryDistribution contractInventoryDistribution1=new ContractInventoryDistribution();
+                    contractInventoryDistribution1.setId(IdGenerator.generateUUID());
+                    contractInventoryDistribution1.setCompId(warehousingOrder1.getCompId());
+                    contractInventoryDistribution1.setInStorage(Double.valueOf(String.valueOf(warehousingOrder.getInWarehouseWeight())));
+                    contractInventoryDistribution1.setWarehouse(warehousingOrder1.getContractNo());
+                    contractInventoryDistribution1.setContractNo(warehousingOrder1.getContractNo());
+                    contractInventoryDistribution1.setGoodsName(warehousingOrder1.getGoodsName());
+                    contractInventoryDistribution1.setInventoryType("1");
+                    contractInventoryDistributionService.insert(contractInventoryDistribution1);
+
+                }
             }
         }
         //移库入库

+ 6 - 6
winsea-haixin-plugin-yiliangyiyun/src/main/resources/mapper/ContractManagementInfoMapper.xml

@@ -14,7 +14,7 @@
         and m.delete_flag = '0'
         <if test="searchType != null and searchType != ''">
             <if test="searchType == 1">
-                AND (m.status_flag != '3' or approve_status='待决策人审核')
+                AND (m.status_flag != '3' or m.approve_status='待决策人审核')
             </if>
             <if test="searchType == 2">
                 AND m.status_flag = '3'
@@ -147,7 +147,7 @@
         and m.delete_flag = '0'
         <if test="searchType != null and searchType != ''">
             <if test="searchType == 1">
-                AND (m.status_flag != '3' or approve_status='待决策人审核')
+                AND (m.status_flag != '3' or m.approve_status='待决策人审核')
             </if>
             <if test="searchType == 2">
                 AND m.status_flag = '3'
@@ -254,7 +254,7 @@
         <if test="searchTypeCon != null and searchTypeCon != ''">
             <!--执行中-->
             <if test="searchTypeCon == 1">
-                AND (m.status_flag == '1' or approve_status='待决策人审核')
+                AND (m.status_flag = '1' or m.approve_status='待决策人审核')
             </if>
             <!--已完成-->
             <if test="searchTypeCon == 2">
@@ -351,7 +351,7 @@
         <if test="searchTypeCon != null and searchTypeCon != ''">
             <!--执行中-->
             <if test="searchTypeCon == 1">
-                AND (m.status_flag == '1' or approve_status='待决策人审核')
+                AND (m.status_flag = '1' or m.approve_status='待决策人审核')
             </if>
             <!--已完成-->
             <if test="searchTypeCon == 2">
@@ -437,7 +437,7 @@
         <if test="searchTypeCon != null and searchTypeCon != ''">
             <!--执行中-->
             <if test="searchTypeCon == 1">
-                AND (m.status_flag == '1' or approve_status='待决策人审核')
+                AND (m.status_flag = '1' or m.approve_status='待决策人审核')
             </if>
             <!--已完成-->
             <if test="searchTypeCon == 2">
@@ -518,7 +518,7 @@
         <if test="searchTypeCon != null and searchTypeCon != ''">
             <!--执行中-->
             <if test="searchTypeCon == 1">
-                AND (m.status_flag == '1' or approve_status='待决策人审核')
+                AND (m.status_flag = '1' or m.approve_status='待决策人审核')
             </if>
             <!--已完成-->
             <if test="searchTypeCon == 2">

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

@@ -189,6 +189,7 @@
         in_type as inType,
         surplus_weight as surplusWeight,
         avg_cost as avgCost,
+        issuing_time as issuingTimeElse,
         issuing_time as issuingTimeOther
         FROM warehousing_order
         WHERE