List排序转map map再转list

本文介绍了一种根据工单ID查询并整理表单字段值的方法,并将其转换为特定对象模型进行推送。通过解析不同类别信息如车辆详情、自制件需求及颜色需求等,实现了数据的有效组织与传递。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  //根据工单id查询字段值
        List<FormItemValueVO> formItemValueVOList = this.produceFormDAO.listFormItemValueByWorkOrderId(workOrderId);
        if (formItemValueVOList.isEmpty()) {
            LOGGER.error("工联单" + workOrderId + "查询表单字段值异常,时间:" + new Date());
            return;
        }

        Map<String,List<FormItemValueVO>> formItemValueVOMap = new HashMap<>();
        for (FormItemValueVO forItemVO : formItemValueVOList) {
            if (AssertUtil.isEmpty(forItemVO.getSort()))
            {
                forItemVO.setSort("0");
            }
            if(formItemValueVOMap.containsKey(forItemVO.getSort())) {
                formItemValueVOMap.get(forItemVO.getSort()).add(forItemVO);
            }else {
                List<FormItemValueVO>  itemValue=new ArrayList<>();
                itemValue.add(forItemVO);
                formItemValueVOMap.put(forItemVO.getSort(), itemValue);
            }
        }
        //addJsonObj("formItemValueVOMap",formItemValueVOMap);
        PushWorkOrderVO pushWorkOrderVO=new  PushWorkOrderVO();
        pushWorkOrderVO.setId(workOrderId);

        for (Map.Entry<String,List<FormItemValueVO>> entry : formItemValueVOMap.entrySet()) {
            /********************车辆信息***********************/
            CarWorkOrderVO car=new CarWorkOrderVO();
            /********************车辆信息***********************/

            /********************自制件需求表***********************/
            SelfNeedsFormWorkOrderVO selfneedsform=new SelfNeedsFormWorkOrderVO();
            /********************自制件需求表***********************/

            /********************颜色需求表***********************/
            ColorVO colorVO=new ColorVO();
            /********************颜色需求表***********************/

            for (FormItemValueVO vlist :   entry.getValue()){
                if(!AssertUtil.isEmpty(vlist.getItemName())){
                    if (vlist.getItemName().equals("发文单位"))
                    {
                        pushWorkOrderVO.setDepartment(vlist.getValueStr());
                    }
                    if (vlist.getItemName().equals("手机"))
                    {
                        pushWorkOrderVO.setPhone(vlist.getValueStr());
                    }
                    if (vlist.getItemName().equals("项目号:"))
                    {
                        pushWorkOrderVO.setEcode(vlist.getValueStr());
                    }
                    if (vlist.getItemName().equals("工作类型"))
                    {
                        pushWorkOrderVO.setWorktype(vlist.getDetail());
                    }
                    if (vlist.getItemName().equals("申请人"))
                    {
                        pushWorkOrderVO.setApplicant(vlist.getValueStr());
                    }
                    if (vlist.getItemName().equals("具体内容和要求"))
                    {
                        pushWorkOrderVO.setDetails(vlist.getValueStr());
                    }
                    if (vlist.getItemName().equals("编制/时间"))
                    {
                        pushWorkOrderVO.setCompilationtime(vlist.getValueStr()+":00");
                    }
                    if (vlist.getItemName().equals("要求完成时间"))
                    {
                        pushWorkOrderVO.setCompletetime(vlist.getValueStr()+" 00:00:00");
                    }
                    /********************车辆信息***********************/
                    if (vlist.getItemName().equals("车辆编号"))
                    {
                        car.setCarcode(vlist.getValueStr());
                    }
                    if (vlist.getItemName().equals("到件计划"))
                    {
                        car.setArrivalplan(vlist.getValueStr()+" 00:00:00");
                    }
                    /********************车辆信息***********************/
                    /********************自制件需求表***********************/
                    if (vlist.getItemName().equals("请选择制件类型"))
                    {
                        selfneedsform.setParttype(vlist.getDetail());
                    }
                    if (vlist.getItemName().equals("需求零件名称"))
                    {
                        selfneedsform.setPartname(vlist.getValueStr());
                    }
                    if (vlist.getItemName().equals("需求数量"))
                    {
                        selfneedsform.setNeednum(vlist.getValueStr());
                    }
                    if (vlist.getItemName().equals("材料"))
                    {
                        selfneedsform.setData(vlist.getValueStr());
                    }
                    if (vlist.getItemName().equals("精度"))
                    {
                        selfneedsform.setAccuracy(vlist.getValueStr());
                    }
                    if (vlist.getItemName().equals("料厚"))
                    {
                        selfneedsform.setThickness(vlist.getValueStr());
                    }
                    if (vlist.getItemName().equals("结构类型"))
                    {
                        selfneedsform.setStructtype(vlist.getValueStr());
                    }
                    if (vlist.getItemName().equals("焊接标准件(如有)"))
                    {
                        selfneedsform.setWeld(vlist.getValueStr());
                    }
                    /********************自制件需求表***********************/

                    /********************调色需求表***********************/
                    if (vlist.getItemName().equals("颜色"))
                    {
                        colorVO.setColor(vlist.getValueStr());
                    }
                    if (vlist.getItemName().equals("标准版编号"))
                    {
                        colorVO.setStandardnum(vlist.getValueStr());
                    }
                    if (vlist.getItemName().equals("作业内容"))
                    {
                        colorVO.setWorkcontent(vlist.getDetail());
                    }
                    if (vlist.getItemName().equals("方向调色喷版数量"))
                    {
                        colorVO.setFxnum(vlist.getValueStr());
                    }
                    if (vlist.getItemName().equals("微调调色喷版数量"))
                    {
                        colorVO.setWtnum(vlist.getValueStr());
                    }
                    if (vlist.getItemName().equals("弯板验证数量"))
                    {
                        colorVO.setWbwtnum(vlist.getValueStr());
                    }
                    if (vlist.getItemName().equals("零件数量"))
                    {
                        colorVO.setLjnum(vlist.getValueStr());
                    }
                    if (vlist.getItemName().equals("供漆数量"))
                    {
                        colorVO.setGqnum(vlist.getValueStr());
                    }
                    if (vlist.getItemName().equals("请填写其他作业内容"))
                    {
                        colorVO.setOtherwork(vlist.getValueStr());
                    }
                    if (vlist.getItemName().equals("要求"))
                    {
                        colorVO.setAsk(vlist.getValueStr());
                    }
                    if (vlist.getItemName().equals("后续作业内容"))
                    {
                        colorVO.setFollowwork(vlist.getValueStr());
                    }
                    /********************调色需求表***********************/
                }
            }
            /********************车辆信息数据添加***********************/
            if((!AssertUtil.isEmpty(car.getCarcode())))//&&(!AssertUtil.isEmpty(pushWorkOrderVO.getCar()))
            {
                pushWorkOrderVO.getCar().add(car);
            }
            /********************车辆信息数据添加***********************/
            /********************自制件需求表添加数据***********************/
            if((!AssertUtil.isEmpty(selfneedsform.getParttype()))) //&&(!AssertUtil.isEmpty(pushWorkOrderVO.getSelfneedsform()))
            {
                pushWorkOrderVO.getSelfneedsform().add(selfneedsform);
            }
            /********************自制件需求表***********************/
            /********************调色需求表添加数据***********************/
            if((!AssertUtil.isEmpty(colorVO.getColor())))    //&&(!AssertUtil.isEmpty(pushWorkOrderVO.getColorneedsform()))
            {
                pushWorkOrderVO.getColorneedsform().add(colorVO);
            }
            /********************自制件需求表***********************/
        }
        String url = "http://168.168.3.73:8010/WeiXinService/updateWorkNeed";
        RestTemplate client = new RestTemplate();
        //JSONObject postData = new JSONObject();
        //postData.put("pushWorkOrderVO",pushWorkOrderVO);
        Object json = JSONObject.toJSON(pushWorkOrderVO);
        LOGGER.info("+++++++++++++++++工联单提交前数据++++++++++++"+json);
        String  result = client.postForEntity(url, json, String.class).getBody();
        LOGGER.info("+++++++++++++++++工联单提交++++++++++++"+result);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值