wuzeyu
2024-11-27 78195117f1b3db8aeb8b013a6f92e475dc24e4dc
pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/intake/IntakeSv.java
@@ -6,9 +6,11 @@
import com.dy.common.multiDataSource.DataSourceContext;
import com.dy.common.mw.protocol.Command;
import com.dy.common.webUtil.BaseResponse;
import com.dy.common.webUtil.BaseResponseUtils;
import com.dy.common.webUtil.QueryResultVo;
import com.dy.pipIrrGlobal.daoPr.PrIntakeMapper;
import com.dy.pipIrrGlobal.daoRm.RmOpenCloseValveHistoryMapper;
import com.dy.pipIrrGlobal.pojoPr.PrIntake;
import com.dy.pipIrrGlobal.voPr.VoOnLineIntake;
import com.dy.pipIrrGlobal.voRm.VoOpenClostWechat;
import com.dy.pipIrrWechat.intake.qo.OnLineIntakesQO;
@@ -25,7 +27,6 @@
import org.springframework.web.client.RestTemplate;
import org.springframework.web.util.UriComponentsBuilder;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@@ -68,39 +69,36 @@
     * @return
     */
    public VoOnLineIntake selectOneIntake(OnLineIntakesQO qo) {
        Command com = new Command() ;
        com.id = Command.defaultId;
        com.code = "LCD0001";
        com.type = "innerCommand";
        comSendUrl = env.getProperty(pro_mw + "." + DataSourceContext.get() + "." + key_mw);
        //Command com = new Command() ;
        //com.id = Command.defaultId;
        //com.code = "LCD0001";
        //com.type = "innerCommand";
        //comSendUrl = env.getProperty(pro_mw + "." + DataSourceContext.get() + "." + key_mw);
        //
        //JSONObject response = (JSONObject) JSON.toJSON(sendCom2Mw(com));
        //
        //JSONArray jsonArray = new JSONArray();
        //if(response != null && response.getString("code").equals("0001")) {
        //    JSONObject attachment = response.getJSONObject("content").getJSONObject("attachment");
        //    if(attachment != null) {
        //        attachment.forEach((key, value) -> {
        //            JSONObject jsonObject = new JSONObject();
        //            jsonObject.put("rtuAddr", key);
        //            jsonObject.put("isOnLine", value);
        //            jsonArray.add(jsonObject);
        //        });
        //    }
        //}
        //qo.setOnLineMap(jsonArray.toJSONString());
        JSONObject response = (JSONObject) JSON.toJSON(sendCom2Mw(com));
        if(response != null && response.getString("code").equals("0001")) {
            JSONObject attachment = response.getJSONObject("content").getJSONObject("attachment");
            JSONArray jsonArray = new JSONArray();
            if(attachment != null) {
                attachment.forEach((key, value) -> {
                    JSONObject jsonObject = new JSONObject();
                    jsonObject.put("rtuAddr", key);
                    jsonObject.put("isOnLine", value);
                    jsonArray.add(jsonObject);
                });
            }
            qo.setOnLineMap(jsonArray.toJSONString());
            // 如果 intakeNum 不为空,则转为小写再写入qo对象
            String intakeNum = qo.getIntakeNum();
            if(intakeNum != null) {
                qo.setIntakeNum(intakeNum.toLowerCase());
            }
            Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo) ;
            return prIntakeMapper.getIntakeByName(params);
        } else {
            return new VoOnLineIntake();
        // 如果 intakeNum 不为空,则转为小写再写入qo对象
        String intakeNum = qo.getIntakeNum();
        if(intakeNum != null) {
            qo.setIntakeNum(intakeNum.toLowerCase());
        }
        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo) ;
        return prIntakeMapper.getIntakeByName(params);
    }
    /**
@@ -108,47 +106,44 @@
     * @return
     */
    public QueryResultVo<List<VoOnLineIntake>> selectAllIntakes(OnLineIntakesQO qo) {
        Command com = new Command() ;
        com.id = Command.defaultId;
        com.code = "LCD0001";
        com.type = "innerCommand";
        comSendUrl = env.getProperty(pro_mw + "." + DataSourceContext.get() + "." + key_mw);
        //Command com = new Command() ;
        //com.id = Command.defaultId;
        //com.code = "LCD0001";
        //com.type = "innerCommand";
        //comSendUrl = env.getProperty(pro_mw + "." + DataSourceContext.get() + "." + key_mw);
        //
        //JSONObject response = (JSONObject) JSON.toJSON(sendCom2Mw(com));
        //
        //JSONArray jsonArray = new JSONArray();
        //if(response != null && response.getString("code").equals("0001")) {
        //    JSONObject attachment = response.getJSONObject("content").getJSONObject("attachment");
        //    if(attachment != null) {
        //        attachment.forEach((key, value) -> {
        //            JSONObject jsonObject = new JSONObject();
        //            jsonObject.put("rtuAddr", key);
        //            jsonObject.put("isOnLine", value);
        //            jsonArray.add(jsonObject);
        //        });
        //    }
        //}
        //qo.setOnLineMap(jsonArray.toJSONString());
        JSONObject response = (JSONObject) JSON.toJSON(sendCom2Mw(com));
        if(response != null && response.getString("code").equals("0001")) {
            JSONObject attachment = response.getJSONObject("content").getJSONObject("attachment");
            JSONArray jsonArray = new JSONArray();
            if(attachment != null) {
                attachment.forEach((key, value) -> {
                    JSONObject jsonObject = new JSONObject();
                    jsonObject.put("rtuAddr", key);
                    jsonObject.put("isOnLine", value);
                    jsonArray.add(jsonObject);
                });
            }
            qo.setOnLineMap(jsonArray.toJSONString());
            // 如果 intakeNum 不为空,则转为小写再写入qo对象
            String intakeNum = qo.getIntakeNum();
            if(intakeNum != null) {
                qo.setIntakeNum(intakeNum.toLowerCase());
            }
            Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo) ;
            Long itemTotal = prIntakeMapper.getOnLineIntakesCount(params);
            QueryResultVo<List<VoOnLineIntake>> rsVo = new QueryResultVo<>() ;
            rsVo.pageSize = qo.pageSize ;
            rsVo.pageCurr = qo.pageCurr ;
            rsVo.calculateAndSet(itemTotal, params);
            rsVo.obj = prIntakeMapper.getOnLineIntakes(params);
            return rsVo;
        } else {
            QueryResultVo<List<VoOnLineIntake>> rsVo = new QueryResultVo<>();
            return rsVo;
        // 如果 intakeNum 不为空,则转为小写再写入qo对象
        String intakeNum = qo.getIntakeNum();
        if(intakeNum != null) {
            qo.setIntakeNum(intakeNum.toLowerCase());
        }
        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo) ;
        Long itemTotal = prIntakeMapper.getOnLineIntakesCount(params);
        QueryResultVo<List<VoOnLineIntake>> rsVo = new QueryResultVo<>() ;
        rsVo.pageSize = qo.pageSize ;
        rsVo.pageCurr = qo.pageCurr ;
        rsVo.calculateAndSet(itemTotal, params);
        rsVo.obj = prIntakeMapper.getOnLineIntakes(params);
        return rsVo;
    }
    /**
@@ -168,10 +163,9 @@
        //JSONObject response = JSON.parseObject(response_Str);
        //String test = response.toJSONString();
        JSONArray jsonArray = new JSONArray();
        if(response != null && response.getString("code").equals("0001")) {
            JSONObject attachment = response.getJSONObject("content").getJSONObject("attachment");
            JSONArray jsonArray = new JSONArray();
            if(attachment != null) {
                attachment.forEach((key, value) -> {
                    JSONObject jsonObject = new JSONObject();
@@ -183,10 +177,12 @@
            }
            System.out.println(jsonArray.toJSONString());
            return prIntakeMapper.getUsedIntakes(jsonArray.toJSONString(), operatorId);
        } else {
            return new ArrayList<>();
            //return prIntakeMapper.getUsedIntakes(jsonArray.toJSONString(), operatorId);
        //} else {
        //    return new ArrayList<>();
        }
        return prIntakeMapper.getUsedIntakes(jsonArray.toJSONString(), operatorId);
    }
    /**
@@ -206,6 +202,11 @@
        } catch (Exception e) {
            e.printStackTrace();
        }
        if(response == null) {
            return BaseResponseUtils.buildErrorMsg("中间件调用失败");
        }
        return response.getBody();
    }
@@ -246,4 +247,15 @@
        rsVo.obj = rmOpenCloseValveHistoryMapper.getVcCardOpenClose(params);
        return rsVo;
    }
    /**
     * 得到所有取水口
     *
     * @return 所有取水口集合
     */
    public QueryResultVo<List<PrIntake>> selectAll() {
        QueryResultVo<List<PrIntake>> rsVo = new QueryResultVo<>();
        rsVo.obj = this.prIntakeMapper.selectAll();
        return rsVo;
    }
}