package com.engine.htsc.wdzx.service.imp;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.engine.core.impl.Service;
import com.engine.htsc.wdzx.dao.DocbaseDao;
import com.engine.htsc.wdzx.service.WdzxModelService;
import weaver.general.Util;
import weaver.interfaces.htsc.GlobatTools.DBTools;
import weaver.interfaces.htsc.GlobatTools.JAVATools;

import java.text.MessageFormat;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * @author xf
 * @version 1.0.0
 * @ClassName WdzxModelService.java
 * @createTime 2021年11月08日 18:54:00
 */
public class WdzxModelServiceImp extends Service implements WdzxModelService  {

    /*
   1、查询可用模板，根据系统id查询在所属场景中所有有权限使用的模板，当模板编号不为空时返回对应模板编号的模板信息
入参：
调用系统id  必填
模板场景  必填
模板编号  可填

出参：
list <模板信息>
       模板信息包括：模板编号、模板名字、使用场景、管理员、模板当前生效文件的ceid

     **/
    @Override
    public JSONArray getjsonarray(JSONObject jsonparams) {

        String sysid=Util.null2String(jsonparams.get("sysid"));
        String templatescene=Util.null2String(jsonparams.get("templatescene"));
        JAVATools.SetCmdwritelog("文档查询:"+jsonparams.toJSONString());
        List<Map<String,Object>>  list=null;
        if("".equals(sysid) || "".equals(templatescene)){
            return null;
        }
        String ywcjvalue= DocbaseDao.getywcj(templatescene);
        String templateno=Util.null2String( jsonparams.get("templateno"));
        JSONArray jsonArray=new JSONArray();
        String sql=" select mbbh,mbmc,ywcj, gly, wj,  (select fileid from imagefile f  join docimagefile f1 on f.imagefileid=f1.imagefileid where rownum=1 and f1.docid =t.wj) as fileid from uf_wdzx t ";
                sql+=" where  ywcj like ''%_{0}'' and  instr(yqsyxt,''{1}'')>0 ";
        Map<String,String> wheremap=new HashMap<>();
        if(!"".equals(templateno)){
            wheremap.put("mbbh",templateno);
            list= JAVATools.GetTableToListMap(MessageFormat.format(sql,ywcjvalue,sysid),wheremap);
        }else{
            list= JAVATools.GetTableToListMap(MessageFormat.format(sql,ywcjvalue,sysid),null);
        }




        if(list==null || list.size()<=0){
            return jsonArray;
        }
        list.forEach((Map<String,Object> modelmap)->{
            JSONObject jsonObject=new JSONObject();
            jsonObject.put("mbmc", Util.null2String(modelmap.get("mbmc")));
            jsonObject.put("mbbh", Util.null2String(modelmap.get("mbbh")));
            jsonObject.put("ywcj", Util.null2String(modelmap.get("ywcj")));
            jsonObject.put("gly",JAVATools.getidlastname(Util.null2String(modelmap.get("gly"))));
            jsonObject.put("fileid", Util.null2String(modelmap.get("fileid")));
            jsonArray.add(jsonObject);
        });
        return jsonArray;
    }


    @Override
    public JSONObject getmodeinfo(Map<String,Object> params) {
        JSONObject jsonObject=new JSONObject();
        if(params==null || params.size()<=0){
            return jsonObject;
        }
        String value=Util.null2String(params.get("id"));
        if("".equals(value)){
            return jsonObject;
        }
        String sql= "    select uf.* from uf_wdzx  uf where 1=1 ";
        Map<String,String> mapnew=new HashMap<>();
        mapnew.put("id",value);
        Map<String,Object> returnmap=JAVATools.GetTableToMap(sql,mapnew);
        if(returnmap==null || returnmap.size()<=0){
            return jsonObject;
        }
        for(String key : returnmap.keySet()){
            if("gly".equals(key) && !"".equals(Util.null2String(returnmap.get(key)))){
                jsonObject.put("glyvalue",JAVATools.getHrmName(Util.null2String(returnmap.get(key))));

            }
            jsonObject.put(key,Util.null2String(returnmap.get(key)));
        }
        return jsonObject;

    }



}
