Przeglądaj źródła

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

ccj 2 lat temu
rodzic
commit
be7bcf6e30

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

@@ -106,6 +106,16 @@ public class WarehousingOrderController {
     public WarehousingOrder exportPhoneData(@RequestBody WarehousingOrder warehousingOrder) {
         return warehousingOrderService.exportPhoneData(warehousingOrder);
     }
+    /**
+     * 手机审核历史数据
+     *
+     * @return
+     * @throws Exception
+     */
+    @PostMapping("/exportPhoneDataHis")
+    public WarehousingOrder exportPhoneDataHis(@RequestBody WarehousingOrder warehousingOrder) {
+        return warehousingOrderService.exportPhoneDataHis(warehousingOrder);
+    }
 
 }
 

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

@@ -47,6 +47,10 @@ public class WarehousingOrderRecord extends BaseModel<WarehousingOrderRecord> {
      * 本次请款金额(元)
      */
     private Double paymentRequestAmount;
+    /**
+     * 审核流id
+     */
+    private String workflowId;
 
 
     @Override

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

@@ -30,6 +30,13 @@ public interface WarehousingOrderMapper extends BaseMapper<WarehousingOrder> {
      * @return
      */
     List<WarehousingOrder> getListByCondition(Map<String, Object> pageView);
+    /**
+     * 根据条件查询入库单列表历史
+     *
+     * @param pageView
+     * @return
+     */
+    List<WarehousingOrder> getListByConditionHis(Map<String, Object> pageView);
     /**
      * 收购入库单
      *

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

@@ -60,6 +60,13 @@ public interface IWarehousingOrderService extends IService<WarehousingOrder> {
      * @throws Exception
      */
     WarehousingOrder exportPhoneData(WarehousingOrder warehousingOrder);
+    /**
+     * 手机审核历史数据
+     * @param warehousingOrder
+     * @param
+     * @throws Exception
+     */
+    WarehousingOrder exportPhoneDataHis(WarehousingOrder warehousingOrder);
     /**
      * 出库货源列表
      *

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

@@ -911,10 +911,12 @@ public class WarehousingOrderServiceImpl extends ServiceImpl<WarehousingOrderMap
                                 //生成入库单请款记录
                                 WarehousingOrderRecord warehousingOrderRecord = new WarehousingOrderRecord();
                                 warehousingOrderRecord.setId(IdGenerator.generateUUID());
+                                warehousingOrderRecord.setCreateUserId(AuthSecurityUtils.getCurrentUserId());
                                 warehousingOrderRecord.setOrderId(warehousingOrder2.getId());
                                 warehousingOrderRecord.setBatchId(warehousingOrder2.getBatchId());
                                 warehousingOrderRecord.setAveragePurchasePrice(warehousingOrder2.getGrainFund()/warehousingOrder2.getInWarehouseWeight());
                                 warehousingOrderRecord.setPaymentRequestAmount(warehousingOrder2.getRequestFunds());
+                                warehousingOrderRecord.setWorkflowId(warehousingOrder2.getWorkflowId());
                                 warehousingOrderRecordService.insert(warehousingOrderRecord);
                             }
                             // 设置状态 已提交审核
@@ -932,6 +934,14 @@ public class WarehousingOrderServiceImpl extends ServiceImpl<WarehousingOrderMap
 //                            warehousingOrder2.setWorkflowId(workflowId);
                             warehousingOrder2.setBatchId(batchId);
                             this.updateById(warehousingOrder2);
+                            //更新入库单请款记录
+                            WarehousingOrderRecord warehousingOrderRecord = warehousingOrderRecordService.selectOne(new EntityWrapper<WarehousingOrderRecord>()
+                            .eq("order_id",warehousingOrder2.getId()).eq("delete_flag","0"));
+                            warehousingOrderRecord.setOrderId(warehousingOrder2.getId());
+                            warehousingOrderRecord.setBatchId(warehousingOrder2.getBatchId());
+                            warehousingOrderRecord.setAveragePurchasePrice(warehousingOrder2.getGrainFund()/warehousingOrder2.getInWarehouseWeight());
+                            warehousingOrderRecord.setPaymentRequestAmount(warehousingOrder2.getRequestFunds());
+                            warehousingOrderRecordService.updateById(warehousingOrderRecord);
                         }
                         workflowService.activateInstance(warehousingOrder1.getWorkflowId(), warehousingOrder1.getBatchId());
                     }
@@ -1548,6 +1558,57 @@ public class WarehousingOrderServiceImpl extends ServiceImpl<WarehousingOrderMap
         }
         return warehousingOrder1;
     }
+    @Override
+    public WarehousingOrder exportPhoneDataHis(WarehousingOrder warehousingOrder) {
+        List<String> businessKeys = null;
+        if ("1".equals(warehousingOrder.getSearchType())) {
+            businessKeys = workflowService.getTaskBusinessKeysByCode("WAREHOUSING-ORDER-APPROVE");
+        }
+
+        Map<String, Object> pageView = new HashMap<>();
+        pageView.put("businessKeys", businessKeys);
+        pageView.put("batchId", warehousingOrder.getBatchId());
+        pageView.put("appFlag", "1");
+        // 查询入库单总数
+        List<WarehousingOrder> dataList = baseMapper.getListByCondition(pageView);
+
+        Double requestFundsTotal = 0d;//请款合计
+        Double inWarehouseWeightTotal = 0d;//重量合计
+        for (int i = 0; i < dataList.size(); i++) {
+            WarehousingOrder warehousingOrder1 = dataList.get(i);
+            //请款累计和
+            requestFundsTotal = requestFundsTotal + warehousingOrder1.getRequestFunds();
+            inWarehouseWeightTotal=inWarehouseWeightTotal+warehousingOrder1.getInWarehouseWeight();
+        }
+
+        // 返回数据
+        WarehousingOrder warehousingOrder1=new WarehousingOrder();
+        warehousingOrder1.setRequestFundsTotal(requestFundsTotal);
+        warehousingOrder1.setCount(dataList.size());
+        warehousingOrder1.setInWarehouseWeightTotal(inWarehouseWeightTotal);
+        if (dataList.size()>0) {
+            if(dataList.get(0).getCreateUserId() != null){
+                CommonStaff commonStaff = staffService.getInfo(dataList.get(0).getCreateUserId());
+                if (commonStaff!=null) {
+                    warehousingOrder1.setCreater(commonStaff.getStaffName());
+                }
+            }
+            warehousingOrder1.setWarehouseName(dataList.get(0).getWarehouseName());
+            warehousingOrder1.setIssuingTime(dataList.get(0).getIssuingTime());
+            warehousingOrder1.setApproveStatus(dataList.get(0).getApproveStatus());
+            warehousingOrder1.setRequestPerson(dataList.get(0).getRequestPerson());
+            warehousingOrder1.setRequestDate(dataList.get(0).getRequestDate());
+            warehousingOrder1.setWarehousingOrderList(dataList);
+            String taskId = "";
+            // 只有待审核状态才有taskId
+            if (StringUtils.isNotBlank(dataList.get(0).getWorkflowId())) {
+                JSONObject jsonObject = workflowService.getActiveTask(Lists.newArrayList(dataList.get(0).getWorkflowId()), dataList.get(0).getBatchId());
+                taskId = jsonObject.getString("taskId");
+                warehousingOrder1.setTaskId(taskId);
+            }
+        }
+        return warehousingOrder1;
+    }
 
     @Override
     public Page<WarehousingOrder> selectGoodSourceInfo(WarehousingOrder warehousingOrder) {

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

@@ -130,6 +130,88 @@
             LIMIT ${startRecord}, ${pageSize}
         </if>
     </select>
+    <!-- 入库单列表查询 -->
+    <select id="getListByConditionHis" parameterType="Map"
+            resultType="com.yh.saas.plugin.yiliangyiyun.entity.WarehousingOrder">
+        SELECT
+        w.id,
+        w.comp_id as compId,
+        w.base_id as baseId,
+        w.goods_source as goodsSource,
+        w.warehouse_name as warehouseName,
+        wbi.warehouse_type as warehouseType,
+        wor.average_purchase_price as avgCost,
+        w.workflow_id as workflowId,
+        w.amount_not_payable as amountNotPayable,
+        w.contract_no as contractNo,
+        w.goods_name as goodsName,
+        wor.payment_request_amount as requestFunds,
+        w.request_person as requestPerson,
+        w.request_date as requestDate,
+        w.in_type as inType,
+        w.in_warehouse_weight as inWarehouseWeight,
+        w.out_warehouse_weight as outWarehouseWeight,
+        w.profit_and_loss as profitAndLoss,
+        w.surplus_weight as surplusWeight,
+        w.grain_fund as grainFund,
+        w.amount_ed_payable as amountEdPayable,
+        w.amount_money as amountMoney,
+        w.customer,
+        w.remark,
+        w.create_user_id as createUserId,
+        w.approve_status as approveStatus,
+        wor.batch_id as batchId,
+        w.issuing_time as issuingTime
+        FROM warehousing_order_record wor
+        LEFT JOIN warehouse_base_info wbi on wbi.id=w.base_id and wbi.delete_flag = '0'
+        left join warehousing_order w on wor.order_id = w.id and w.delete_flag = '0'
+        WHERE
+        wor.delete_flag = '0'
+        <if test="startDate != null">
+            AND (DATE_FORMAT(w.create_date,"%Y%m%d") &gt;=
+            DATE_FORMAT(#{startDate},"%Y%m%d"))
+        </if>
+        <if test="endDate != null">
+            AND (DATE_FORMAT(w.create_date,"%Y%m%d") &lt;=
+            DATE_FORMAT(#{endDate},"%Y%m%d"))
+        </if>
+        <if test="searchType != null and searchType != ''">
+            <if test="searchType == 1">
+                AND w.amount_not_payable >0
+            </if>
+        </if>
+        <if test="flag != null and flag != ''">
+            <if test="flag == 0">
+                AND w.profit_and_loss >0
+            </if>
+            <if test="flag == 1">
+                AND w.profit_and_loss &lt; 0
+            </if>
+        </if>
+        <if test="batchId != null and batchId != ''">
+            AND wor.batch_id= #{batchId}
+        </if>
+        <if test="searchKeyWord != null and searchKeyWord != ''">
+            AND (lower(w.goods_source) like lower(CONCAT('%',#{searchKeyWord},'%')))
+        </if>
+        <if test="baseId != null and baseId != ''">
+            AND w.base_id= #{baseId}
+        </if>
+        <if test="businessKeys != null and businessKeys.size > 0">
+            and(
+            <foreach collection="businessKeys" item="businessValue" open="(" close=")" separator="or">
+                wor.batch_id = #{businessValue}
+            </foreach>
+            )
+        </if>
+        <if test="appFlag == null">
+            group BY w.base_id,DATE_FORMAT(w.issuing_time,"%Y%m%d")
+        </if>
+        ORDER BY w.update_date DESC
+        <if test="currentPage != null and currentPage != ''">
+            LIMIT ${startRecord}, ${pageSize}
+        </if>
+    </select>
     <!-- 收购入库单查询 -->
     <select id="getAcquisitionListByCondition" parameterType="Map"
             resultType="com.yh.saas.plugin.yiliangyiyun.entity.WarehousingOrder">