mrzcc
2020-03-05 189281dedbd973d4fe7f994efd05cb37de040e6a
优化采购申请
1个文件已修改
28 ■■■■ 已修改文件
StoreService/src/main/java/com/java110/store/listener/purchaseApply/SavePurchaseApplyInfoListener.java 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
StoreService/src/main/java/com/java110/store/listener/purchaseApply/SavePurchaseApplyInfoListener.java
@@ -1,5 +1,6 @@
package com.java110.store.listener.purchaseApply;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.java110.core.annotation.Java110Listener;
@@ -10,11 +11,13 @@
import com.java110.utils.constant.BusinessTypeConstant;
import com.java110.utils.constant.StatusConstant;
import com.java110.utils.util.Assert;
import com.java110.vo.api.purchaseApply.PurchaseApplyDetailVo;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -88,9 +91,18 @@
        //采购申请信息
        List<Map> businessPurchaseApplyInfo = purchaseApplyServiceDaoImpl.getBusinessPurchaseApplyInfo(info);
        List<Map> businessPurchaseApplyDetailInfo = purchaseApplyServiceDaoImpl.getBusinessPurchaseApplyDetailInfo(info);
        List<PurchaseApplyDetailVo> purchaseApplyDetailVos = new ArrayList<>();
        for( int i = 0; i < businessPurchaseApplyDetailInfo.size(); i++){
            PurchaseApplyDetailVo purchaseApplyDetailVo = JSON.parseObject(JSON.toJSONString(businessPurchaseApplyDetailInfo.get(i)), PurchaseApplyDetailVo.class);
            purchaseApplyDetailVos.add(purchaseApplyDetailVo);
        }
        if( businessPurchaseApplyInfo != null && businessPurchaseApplyInfo.size() >0) {
            reFreshShareColumn(info, businessPurchaseApplyInfo.get(0));
            purchaseApplyServiceDaoImpl.savePurchaseApplyInfoInstance(info);
            purchaseApplyServiceDaoImpl.savePurchaseApplyDetailInfo(purchaseApplyDetailVos);
            if(businessPurchaseApplyInfo.size() == 1) {
                dataFlowContext.addParamOut("applyOrderId", businessPurchaseApplyInfo.get(0).get("apply_order_id"));
            }
@@ -151,17 +163,27 @@
        Assert.jsonObjectHaveKey(businessPurchaseApply,"applyOrderId","businessPurchaseApply 节点下没有包含 applyOrderId 节点");
        if(businessPurchaseApply.getString("applyOrderId").startsWith("-")){
            //刷新缓存
            //flushPurchaseApplyId(business.getDatas());
            businessPurchaseApply.put("applyOrderId",GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_applyOrderId));
        }
        //状态
        businessPurchaseApply.put("state","1000");
        //出入库类型
        businessPurchaseApply.put("resOrderType","10000");
        businessPurchaseApply.put("bId",business.getbId());
        businessPurchaseApply.put("operate", StatusConstant.OPERATE_ADD);
        Object jsonArray = businessPurchaseApply.get("resourceStores");
        List<PurchaseApplyDetailVo> list = JSONObject.parseArray(jsonArray.toString(),PurchaseApplyDetailVo.class);
        for( PurchaseApplyDetailVo purchaseApplyDetailVo : list){
            purchaseApplyDetailVo.setApplyOrderId(businessPurchaseApply.get("applyOrderId").toString());
            purchaseApplyDetailVo.setbId(business.getbId());
            purchaseApplyDetailVo.setOperate(StatusConstant.OPERATE_ADD);
        }
        //保存采购申请信息
        purchaseApplyServiceDaoImpl.saveBusinessPurchaseApplyInfo(businessPurchaseApply);
        //保存订单明细
        purchaseApplyServiceDaoImpl.saveBusinessPurchaseApplyDetailInfo(list);
    }