chengf
2026-03-27 1e20f9b6c5bc642f92f77388c5f339f05a3ae9be
service-store/src/main/java/com/java110/store/cmd/purchaseApply/ListPurchaseApplysCmd.java
@@ -25,11 +25,11 @@
import com.java110.intf.common.IPurchaseApplyUserInnerServiceSMO;
import com.java110.intf.community.IMenuInnerServiceSMO;
import com.java110.intf.store.IPurchaseApplyInnerServiceSMO;
import com.java110.intf.store.IPurchaseApplyV1InnerServiceSMO;
import com.java110.intf.store.IResourceStoreInnerServiceSMO;
import com.java110.utils.exception.CmdException;
import com.java110.utils.util.Assert;
import com.java110.utils.util.BeanConvertUtil;
import com.java110.utils.util.ListUtil;
import com.java110.utils.util.StringUtil;
import com.java110.vo.api.purchaseApply.ApiPurchaseApplyDataVo;
import com.java110.vo.api.purchaseApply.ApiPurchaseApplyVo;
@@ -47,7 +47,6 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
 * 类表述:查询
 * 服务编码:purchaseApply.listPurchaseApply
@@ -62,8 +61,6 @@
public class ListPurchaseApplysCmd extends Cmd {
    private static Logger logger = LoggerFactory.getLogger(ListPurchaseApplysCmd.class);
    @Autowired
    private IPurchaseApplyV1InnerServiceSMO purchaseApplyV1InnerServiceSMOImpl;
    @Autowired
    private IPurchaseApplyInnerServiceSMO purchaseApplyInnerServiceSMOImpl;
@@ -81,11 +78,11 @@
    public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
        Assert.hasKeyAndValue(reqJson, "resOrderType", "必填,请填写订单类型");
        super.validatePageInfo(reqJson);
        super.validateProperty(cmdDataFlowContext);
    }
    @Override
    public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException {
        PurchaseApplyDto purchaseApplyDto = BeanConvertUtil.covertBean(reqJson, PurchaseApplyDto.class);
        purchaseApplyDto.setUserName("");//解除与用户名相关问题
        //获取用户id
@@ -114,13 +111,13 @@
            purchaseApplyDto.setUserName(reqJson.getString("applyUserName"));
        }
        int count = purchaseApplyInnerServiceSMOImpl.queryPurchaseApplysCount(purchaseApplyDto);
        List<ApiPurchaseApplyDataVo> purchaseApplys = null;
        List<ApiPurchaseApplyDataVo> purchaseApplys = new ArrayList<>();
        if (count > 0) {
            List<PurchaseApplyDto> purchaseApplyDtos = purchaseApplyInnerServiceSMOImpl.queryPurchaseApplyAndDetails(purchaseApplyDto);
            purchaseApplyDtos = freshCurrentUser(purchaseApplyDtos);
            purchaseApplys = BeanConvertUtil.covertBeanList(purchaseApplyDtos, ApiPurchaseApplyDataVo.class);
            //todo 查询结果刷新
            refreshApplys(purchaseApplys);
            purchaseApplys = refreshApplys(purchaseApplys, reqJson);
        } else {
            purchaseApplys = new ArrayList<>();
        }
@@ -137,11 +134,12 @@
     *
     * @param purchaseApplys
     */
    private void refreshApplys(List<ApiPurchaseApplyDataVo> purchaseApplys) {
    private List<ApiPurchaseApplyDataVo> refreshApplys(List<ApiPurchaseApplyDataVo> purchaseApplys, JSONObject reqJson) {
        List<ApiPurchaseApplyDataVo> purchaseApplyDatas = new ArrayList<>();
        for (ApiPurchaseApplyDataVo apiPurchaseApplyDataVo : purchaseApplys) {
            List<PurchaseApplyDetailVo> applyDetailList = apiPurchaseApplyDataVo.getPurchaseApplyDetailVo();
            //todo 如果没有物品直接 跳过
            if (applyDetailList == null || applyDetailList.size() < 1) {
            if (ListUtil.isNull(applyDetailList)) {
                continue;
            }
            StringBuffer resNames = new StringBuffer();
@@ -149,32 +147,17 @@
            BigDecimal purchaseTotalPrice = new BigDecimal(0);
            Integer cursor = 0;
            for (PurchaseApplyDetailVo purchaseApplyDetailVo : applyDetailList) {
                ResourceStoreDto resourceStoreDto = new ResourceStoreDto();
                resourceStoreDto.setResId(purchaseApplyDetailVo.getResId());
                List<ResourceStoreDto> resourceStoreDtos = resourceStoreInnerServiceSMOImpl.queryResourceStores(resourceStoreDto);
                if (resourceStoreDtos == null || resourceStoreDtos.size() < 1) {
                if (purchaseApplyDetailVo.getQuantity() == null) {
                    continue;
                }
                purchaseApplyDetailVo.setTimes(resourceStoreDtos.get(0).getTimes());
                //todo 是否是固定物品
                apiPurchaseApplyDataVo.setIsFixed(resourceStoreDtos.get(0).getIsFixed());
                apiPurchaseApplyDataVo.setIsFixedName(resourceStoreDtos.get(0).getIsFixedName());
                purchaseApplyDetailVo.setIsFixed(resourceStoreDtos.get(0).getIsFixed());
                purchaseApplyDetailVo.setIsFixedName(resourceStoreDtos.get(0).getIsFixedName());
                //todo 获取仓库名称
                String shName = resourceStoreDtos.get(0).getShName();
                String shId = resourceStoreDtos.get(0).getShId();
                purchaseApplyDetailVo.setShName(shName);
                purchaseApplyDetailVo.setShId(shId);
                apiPurchaseApplyDataVo.setShId(shId);
                apiPurchaseApplyDataVo.setIsFixed(purchaseApplyDetailVo.getIsFixed());
                cursor++;
                if (applyDetailList.size() > 1) {
                    resNames.append(cursor + ":" + purchaseApplyDetailVo.getResName() + "      ");
                if (!StringUtil.isEmpty(purchaseApplyDetailVo.getSpecName())) {
                    resNames.append(cursor + ":" + purchaseApplyDetailVo.getResName() + "(" + purchaseApplyDetailVo.getSpecName() + ")      ");
                } else {
                    resNames.append(purchaseApplyDetailVo.getResName());
                    resNames.append(cursor + ":" + purchaseApplyDetailVo.getResName());
                }
                BigDecimal price = new BigDecimal(purchaseApplyDetailVo.getPrice());
                BigDecimal quantity = new BigDecimal(purchaseApplyDetailVo.getQuantity());
@@ -188,8 +171,17 @@
            apiPurchaseApplyDataVo.setResourceNames(resNames.toString());
            apiPurchaseApplyDataVo.setTotalPrice(totalPrice.toString());
            apiPurchaseApplyDataVo.setPurchaseTotalPrice(purchaseTotalPrice.toString());
            if (reqJson.containsKey("resName") && !StringUtil.isEmpty(reqJson.getString("resName"))) {
                if (resNames.toString().contains(reqJson.getString("resName"))) {
                    purchaseApplyDatas.add(apiPurchaseApplyDataVo);
                } else {
                    continue;
                }
            } else {
                purchaseApplyDatas.add(apiPurchaseApplyDataVo);
            }
        }
        return purchaseApplyDatas;
    }
    private List<PurchaseApplyDto> freshCurrentUser(List<PurchaseApplyDto> purchaseApplyDtos) {