花名册模板接口
parent
ad5400dfaf
commit
036a1c3a26
@ -0,0 +1,34 @@
|
||||
package com.engine.qz.service;
|
||||
|
||||
import com.engine.qz.entity.CustomTemplateVo;
|
||||
import com.engine.qz.entity.TemplateFieldsPo;
|
||||
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @version 1.0
|
||||
* @Title ecology-9
|
||||
* @Company 泛微软件
|
||||
* @CreateDate 2025/3/10
|
||||
* @Description ${description}
|
||||
* @Author Lee
|
||||
*/
|
||||
public interface CustomRosterService {
|
||||
|
||||
/**
|
||||
* @param paramMap 参数
|
||||
* @return 返回
|
||||
*/
|
||||
Map<String, Object> listPage(Map<String, Object> paramMap);
|
||||
|
||||
/**
|
||||
* 可选字段
|
||||
*
|
||||
* @param
|
||||
* @return
|
||||
*/
|
||||
LinkedList<TemplateFieldsPo> customFieldMap();
|
||||
|
||||
}
|
@ -0,0 +1,421 @@
|
||||
package com.engine.qz.service.impl;
|
||||
|
||||
import b.a.a.w.e;
|
||||
import com.cloudstore.eccom.constant.WeaBoolAttr;
|
||||
import com.cloudstore.eccom.pc.table.WeaTable;
|
||||
import com.cloudstore.eccom.pc.table.WeaTableColumn;
|
||||
import com.cloudstore.eccom.pc.table.WeaTableType;
|
||||
import com.cloudstore.eccom.result.WeaResultMsg;
|
||||
import com.engine.common.util.ServiceUtil;
|
||||
import com.engine.core.impl.Service;
|
||||
import com.engine.qz.entity.CustomTemplateVo;
|
||||
import com.engine.qz.entity.TemplateFieldsPo;
|
||||
import com.engine.qz.service.CustomRosterService;
|
||||
import com.engine.qz.service.HrmCustomTemplateService;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import weaver.conn.RecordSet;
|
||||
import weaver.general.BaseBean;
|
||||
import weaver.general.PageIdConst;
|
||||
import weaver.hrm.User;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
public class CustomRosterServiceImpl extends Service implements CustomRosterService {
|
||||
private static RecordSet rs = new RecordSet();
|
||||
private BaseBean bb = new BaseBean();
|
||||
|
||||
private HrmCustomTemplateService getService(User user) {
|
||||
return ServiceUtil.getService(HrmCustomTemplateServiceImpl.class, user);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> listPage(Map<String, Object> paramMap) {
|
||||
BaseBean bb = new BaseBean();
|
||||
String sqlWhere = " where ISNUMERIC(workcode)=1 and ISNULL(t1.accounttype, 0) != 1";
|
||||
String fromSql = getSqlFrom(paramMap);
|
||||
|
||||
Map<String, Object> resultMap = new HashMap<>(4);
|
||||
try {
|
||||
//字段对照关系
|
||||
HashMap<String, Map<String, String>> fieldMap = new HashMap<>();
|
||||
String sql = "select id,chinese,dataName,transMethod,width from uf_roster_field";
|
||||
rs.execute(sql);
|
||||
while (rs.next()) {
|
||||
HashMap<String, String> map = new HashMap<>();
|
||||
map.put("chinese", rs.getString("chinese"));
|
||||
map.put("transMethod", rs.getString("transMethod"));
|
||||
map.put("width", rs.getString("width"));
|
||||
fieldMap.put(rs.getString("dataName"), map);
|
||||
}
|
||||
|
||||
WeaTable table = new WeaTable();
|
||||
String pageId = "73ed858b37304757987724e81d096ff2";
|
||||
table.setPageID(pageId);
|
||||
table.setPageUID(String.format("%s_%s", pageId, user.getUID()));
|
||||
String pageSize = PageIdConst.getPageSize(pageId, user.getUID());
|
||||
table.setPagesize(pageSize);
|
||||
|
||||
//获取显示字段
|
||||
String fields = getFields(user, rs);
|
||||
if (StringUtils.isEmpty(fields)) {
|
||||
resultMap.put("msg", "fields is null");
|
||||
return resultMap;
|
||||
}
|
||||
table.setBackfields(fields);
|
||||
table.setSqlform(fromSql);
|
||||
table.setSqlwhere(sqlWhere);
|
||||
table.setSqlprimarykey("id");
|
||||
table.getColumns().add(new WeaTableColumn("id").setDisplay(WeaBoolAttr.FALSE));
|
||||
|
||||
// table.getColumns().add(new WeaTableColumn("10%", "性别", "sex").setTransmethod("com.engine.kqsolution.util.ResourceSnipUtils.selectSexName"));
|
||||
|
||||
for (String tableKey : fields.split(",")) {
|
||||
String lk = StringUtils.isNotEmpty(fieldMap.get(tableKey).get("width")) ? fieldMap.get(tableKey).get("width") : "10%";
|
||||
String transMethod = fieldMap.get(tableKey).get("transMethod");
|
||||
String chinese = fieldMap.get(tableKey).get("chinese");
|
||||
WeaTableColumn column = new WeaTableColumn(lk, chinese, tableKey).setTransmethod(transMethod);
|
||||
table.getColumns().add(column);
|
||||
}
|
||||
|
||||
|
||||
table.setTableType(WeaTableType.NONE);
|
||||
WeaResultMsg result = new WeaResultMsg(false);
|
||||
result.putAll(table.makeDataResult());
|
||||
result.success();
|
||||
resultMap.putAll(result.getResultMap());
|
||||
} catch (Exception e) {
|
||||
bb.writeLog("CustomRosterService-e-" + e.getMessage());
|
||||
return resultMap;
|
||||
}
|
||||
return resultMap;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public LinkedList<TemplateFieldsPo> customFieldMap() {
|
||||
LinkedList<TemplateFieldsPo> linkedList = new LinkedList<TemplateFieldsPo>();
|
||||
try {
|
||||
String compareId = "," + user.getUID() + ",";
|
||||
String compareDept = "," + user.getUserDepartment() + ",";
|
||||
String compareCompany = "," + user.getUserSubCompany1() + ",";
|
||||
RecordSet rs2 = new RecordSet();
|
||||
//查询默认可展示字段
|
||||
String sql = "select id,chinese,dataName,defaultShow,zdjs,zdrlzy,zdfb,zdbm from uf_roster_field order by id asc";
|
||||
CustomRosterServiceImpl.rs.executeQuery(sql);
|
||||
while (CustomRosterServiceImpl.rs.next()) {
|
||||
String defaultShow = CustomRosterServiceImpl.rs.getString("defaultShow");
|
||||
String roleIds = CustomRosterServiceImpl.rs.getString("zdjs");
|
||||
String members = "," + CustomRosterServiceImpl.rs.getString("zdrlzy") + ",";
|
||||
String companyIds = CustomRosterServiceImpl.rs.getString("zdfb");
|
||||
String departments = CustomRosterServiceImpl.rs.getString("zdbm");
|
||||
TemplateFieldsPo fieldsPo = TemplateFieldsPo.builder().id(CustomRosterServiceImpl.rs.getString("id")).
|
||||
fieldName(CustomRosterServiceImpl.rs.getString("chinese")).
|
||||
fieldDataName(CustomRosterServiceImpl.rs.getString("dataName")).
|
||||
build();
|
||||
//默认显示的字段
|
||||
if ("0".equals(defaultShow)) {
|
||||
linkedList.add(fieldsPo);
|
||||
} else {
|
||||
if (members.contains(compareId)) {
|
||||
linkedList.add(fieldsPo);
|
||||
continue;
|
||||
}
|
||||
//当前人员的部门和分部,是否在权限下
|
||||
String s1 = "," + companyIds + ",";
|
||||
String s2 = "," + departments + ",";
|
||||
if (s1.contains(compareCompany) || s2.contains(compareDept)) {
|
||||
linkedList.add(fieldsPo);
|
||||
continue;
|
||||
}
|
||||
//查询角色成员中是否当前人员
|
||||
if (StringUtils.isNotEmpty(roleIds) && isRoleContainsCurrentUser(rs2, roleIds)) {
|
||||
linkedList.add(fieldsPo);
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
bb.writeLog("customFields-e-" + e.getMessage());
|
||||
}
|
||||
return linkedList;
|
||||
}
|
||||
|
||||
private boolean isRoleContainsCurrentUser(RecordSet rs2, String roleIds) {
|
||||
String sql = "select resourceid from HrmRoleMembers where roleid in(" + roleIds + ") and resourceid=?";
|
||||
rs2.executeQuery(sql, user.getUID());
|
||||
if (rs2.next()) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private String getFields(User user, RecordSet rs) {
|
||||
String fields = "";
|
||||
//先查询是否有模板,有则取模板字段
|
||||
LinkedList<CustomTemplateVo> customTemplate = getService(user).getCustomTemplate();
|
||||
List<CustomTemplateVo> filteredList = customTemplate.stream()
|
||||
.filter(vo -> vo.getIsused() != null && vo.getIsused() == 1)
|
||||
.collect(Collectors.toList());
|
||||
if (filteredList.size() > 0) {
|
||||
|
||||
CustomTemplateVo templateVo = filteredList.get(0);
|
||||
//查询模板对应字段
|
||||
String sql = "select dataName from uf_roster_field where id in (" + templateVo.getTemplateFields() + ")";
|
||||
rs.executeQuery(sql);
|
||||
while (rs.next()) {
|
||||
fields += rs.getString("dataName") + ",";
|
||||
}
|
||||
} else {
|
||||
//取默认显示字段
|
||||
String sql = "select dataName from uf_roster_field where defaultShow=0";
|
||||
rs.executeQuery(sql);
|
||||
while (rs.next()) {
|
||||
fields += rs.getString("dataName") + ",";
|
||||
}
|
||||
return fields.substring(0, fields.lastIndexOf(","));
|
||||
}
|
||||
return fields;
|
||||
}
|
||||
|
||||
private String getSqlFrom(Map<String, Object> paramMap) {
|
||||
String fromSql = " from view_yghmc ";
|
||||
String referDate = (String) paramMap.get("referDate");
|
||||
if (StringUtils.isNotEmpty(referDate)) {
|
||||
fromSql = "WITH htxy AS (\n" +
|
||||
" SELECT \n" +
|
||||
" ygxm, \n" +
|
||||
" htgsmc, \n" +
|
||||
" zt, \n" +
|
||||
" htqsrq, \n" +
|
||||
" htzzrq, \n" +
|
||||
" qdcs,\n" +
|
||||
" ROW_NUMBER() OVER (\n" +
|
||||
" PARTITION BY ygxm\n" +
|
||||
" ORDER BY htzzrq DESC, htqsrq DESC\n" +
|
||||
" ) AS RowNum\n" +
|
||||
" FROM uf_htxy\n" +
|
||||
"),\n" +
|
||||
"zlxx AS (\n" +
|
||||
" SELECT \n" +
|
||||
" xm, \n" +
|
||||
" COUNT(*) AS zlsl, \n" +
|
||||
" MAX(csrq) AS zlcsrq\n" +
|
||||
" FROM uf_shgx\n" +
|
||||
" WHERE gx = 1\n" +
|
||||
" GROUP BY xm\n" +
|
||||
"),\n" +
|
||||
"jjlxrxx AS (\n" +
|
||||
" SELECT \n" +
|
||||
" xm, \n" +
|
||||
" gx, \n" +
|
||||
" lxrxm, \n" +
|
||||
" dh,\n" +
|
||||
" ROW_NUMBER() OVER (\n" +
|
||||
" PARTITION BY xm\n" +
|
||||
" ORDER BY id DESC\n" +
|
||||
" ) AS RowNum\n" +
|
||||
" FROM uf_shgx\n" +
|
||||
" WHERE sfjjlxr = 0\n" +
|
||||
"),\n" +
|
||||
"rzjl AS (\n" +
|
||||
" SELECT \n" +
|
||||
" yg, \n" +
|
||||
" bdhgw, \n" +
|
||||
" bdhbm,\n" +
|
||||
" bdhzt,\n" +
|
||||
" bdhygxz,\n" +
|
||||
" shenxrq,\n" +
|
||||
" ROW_NUMBER() OVER (PARTITION BY yg ORDER BY shenxrq DESC) AS rn\n" +
|
||||
" FROM uf_rzjl where shenxrq>='" + referDate + "'\n" +
|
||||
"),\n" +
|
||||
"khbhqxxrg AS (\n" +
|
||||
" SELECT id,ygxm,\n" +
|
||||
" ROW_NUMBER() OVER (PARTITION BY ygxm ORDER BY id DESC) AS rn\n" +
|
||||
" FROM uf_khbhqxxrg where lx=0 and ksrq<='" + referDate + "' and jsrq>='" + referDate + "'\n" +
|
||||
"),\n" +
|
||||
"rzlc AS (\n" +
|
||||
" SELECT \n" +
|
||||
" *,\n" +
|
||||
" ROW_NUMBER() OVER (\n" +
|
||||
" PARTITION BY rzryid \n" +
|
||||
" ORDER BY rzsj DESC\n" +
|
||||
" ) AS RowNum \n" +
|
||||
" FROM formtable_main_36\n" +
|
||||
")\n" +
|
||||
"\n" +
|
||||
"SELECT \n" +
|
||||
" t1.id,\n" +
|
||||
" t1.workcode,\n" +
|
||||
" t1.lastname,\n" +
|
||||
"\n" +
|
||||
" SUBSTRING(t10.IDpath, 0, \n" +
|
||||
" CASE WHEN CHARINDEX('>', t10.IDpath) != 0 \n" +
|
||||
" THEN CHARINDEX('>', t10.IDpath) \n" +
|
||||
" ELSE 20 END\n" +
|
||||
" ) AS FB1,\n" +
|
||||
" CASE WHEN CHARINDEX('>', t10.IDpath) != 0 \n" +
|
||||
" THEN SUBSTRING(t10.IDpath, CHARINDEX('>', t10.IDpath) + 1, 20) \n" +
|
||||
" ELSE NULL END AS FB2,\n" +
|
||||
" SUBSTRING(t9.IDpath, 0, \n" +
|
||||
" CASE WHEN CHARINDEX('>', t9.IDpath) != 0 \n" +
|
||||
" THEN CHARINDEX('>', t9.IDpath) \n" +
|
||||
" ELSE 20 END\n" +
|
||||
" ) AS BM1,\n" +
|
||||
" CASE \n" +
|
||||
" WHEN CHARINDEX('>', t9.IDpath) != 0 \n" +
|
||||
" AND CHARINDEX('>', t9.IDpath, CHARINDEX('>', t9.IDpath) + 1) != 0 \n" +
|
||||
" THEN SUBSTRING(t9.IDpath, \n" +
|
||||
" CHARINDEX('>', t9.IDpath) + 1, \n" +
|
||||
" CHARINDEX('>', t9.IDpath, CHARINDEX('>', t9.IDpath) + 1) - CHARINDEX('>', t9.IDpath) - 1)\n" +
|
||||
" WHEN CHARINDEX('>', t9.IDpath) != 0 \n" +
|
||||
" THEN SUBSTRING(t9.IDpath, CHARINDEX('>', t9.IDpath) + 1, 20) \n" +
|
||||
" ELSE NULL \n" +
|
||||
" END AS BM2,\n" +
|
||||
" CASE \n" +
|
||||
" WHEN CHARINDEX('>', t9.IDpath) != 0 \n" +
|
||||
" AND CHARINDEX('>', t9.IDpath, CHARINDEX('>', t9.IDpath) + 1) != 0 \n" +
|
||||
" AND CHARINDEX('>', t9.IDpath, CHARINDEX('>', t9.IDpath, CHARINDEX('>', t9.IDpath) + 1) + 1) != 0 \n" +
|
||||
" THEN SUBSTRING(t9.IDpath, \n" +
|
||||
" CHARINDEX('>', t9.IDpath, CHARINDEX('>', t9.IDpath) + 1) + 1, \n" +
|
||||
" CHARINDEX('>', t9.IDpath, CHARINDEX('>', t9.IDpath, CHARINDEX('>', t9.IDpath) + 1) + 1) - CHARINDEX('>', t9.IDpath, CHARINDEX('>', t9.IDpath) + 1) - 1)\n" +
|
||||
" WHEN CHARINDEX('>', t9.IDpath) != 0 \n" +
|
||||
" AND CHARINDEX('>', t9.IDpath, CHARINDEX('>', t9.IDpath) + 1) != 0 \n" +
|
||||
" THEN SUBSTRING(t9.IDpath, \n" +
|
||||
" CHARINDEX('>', t9.IDpath, CHARINDEX('>', t9.IDpath) + 1) + 1, 20) \n" +
|
||||
" ELSE NULL \n" +
|
||||
" END AS BM3,\n" +
|
||||
" \n" +
|
||||
" -- 工作信息\n" +
|
||||
" t8.bdhgw AS gwmc,\n" +
|
||||
" t3.field21 AS gwdj,\n" +
|
||||
" t3.field45 AS ygzj,\n" +
|
||||
" t1.certificatenum,\n" +
|
||||
" t1.mobile,\n" +
|
||||
" t1.birthday,\n" +
|
||||
" t4.field62 AS srrqlx,\n" +
|
||||
" DATEDIFF(DAY, \n" +
|
||||
" CASE WHEN ISDATE(SUBSTRING(t1.certificatenum, 7, 8)) = 1 \n" +
|
||||
" THEN SUBSTRING(t1.certificatenum, 7, 8) \n" +
|
||||
" ELSE t1.birthday END, \n" +
|
||||
" GETDATE()\n" +
|
||||
" ) / 365 AS age,\n" +
|
||||
" t8.bdhzt as \"status\",\n" +
|
||||
" t8.bdhygxz as usekind,\n" +
|
||||
" t1.sex,\n" +
|
||||
" t1.companystartdate,\n" +
|
||||
" t3.field18 AS jrjtrq,\n" +
|
||||
" t3.field59 AS zzrq,\n" +
|
||||
" t4.field14 AS gryx,\n" +
|
||||
" t1.educationlevel,\n" +
|
||||
" t4.field44 AS dyxlbyyx,\n" +
|
||||
" t4.field22 AS zy,\n" +
|
||||
" t4.field58 AS xllb,\n" +
|
||||
" t1.degree,\n" +
|
||||
" \n" +
|
||||
" -- 合同信息\n" +
|
||||
" t5.htqsrq,\n" +
|
||||
" t5.htzzrq,\n" +
|
||||
" t5.qdcs,\n" +
|
||||
" t5.htgsmc,\n" +
|
||||
" \n" +
|
||||
" -- 个人信息\n" +
|
||||
" t1.maritalstatus,\n" +
|
||||
" t6.zlsl,\n" +
|
||||
" t6.zlcsrq,\n" +
|
||||
" t1.height,\n" +
|
||||
" t1.weight,\n" +
|
||||
" t1.policy,\n" +
|
||||
" t1.nativeplace,\n" +
|
||||
" t1.folk,\n" +
|
||||
" t1.regresidentplace,\n" +
|
||||
" t4.field12 AS hjdz,\n" +
|
||||
" t1.residentplace,\n" +
|
||||
" t7.lxrxm,\n" +
|
||||
" t7.gx,\n" +
|
||||
" t7.dh,\n" +
|
||||
" t1.workstartdate,\n" +
|
||||
" t1.workyear,\n" +
|
||||
" t1.companyworkyear,t2.deptpath,\n" +
|
||||
" DATEDIFF(DAY, t8.shenxrq, GETDATE()) / 365 AS gl,\n" +
|
||||
" CASE WHEN t5.ygxm IS NOT NULL \n" +
|
||||
" THEN '已签订' \n" +
|
||||
" ELSE '未签订' \n" +
|
||||
" END AS sfqdht,\n" +
|
||||
" t3.field29 AS sfgb,\n" +
|
||||
" t3.field40 AS gbqx,\n" +
|
||||
" t3.field31 AS qccjg,\n" +
|
||||
" t3.field32 AS dyzysq,\n" +
|
||||
" t3.field33 AS zymb,\n" +
|
||||
" t3.field34 AS grqkbc,\n" +
|
||||
" t3.field35 AS wdd,\n" +
|
||||
" t3.field36 AS jrzxm,\n" +
|
||||
" t3.field37 AS jrzcsd,\n" +
|
||||
" t3.field38 AS ydyyd,\n" +
|
||||
" t3.field39 AS djls,\n" +
|
||||
" t1.textfield2 AS ah,\n" +
|
||||
" t1.textfield1 AS tc,\n" +
|
||||
" t4.field48 AS xg,\n" +
|
||||
" t3.field42 AS zply,\n" +
|
||||
" t3.field43 AS lymx,\n" +
|
||||
" t3.field60 AS sfecrz,\n" +
|
||||
" lizhiyewuleixing,\n" +
|
||||
" t14.yuangongjianyi,\n" +
|
||||
" t14.rszy_1,\n" +
|
||||
" t14.rszy_2,\n" +
|
||||
" t14.lzxxyyzjsj,\n" +
|
||||
" t14.lzxxyygsyy,\n" +
|
||||
" t14.lzxxyyygyy,\n" +
|
||||
" t14.lzhlxfs,\n" +
|
||||
" t14.ywxz,\n" +
|
||||
" t14.rszy_4,\n" +
|
||||
" t14.xczy_1,\n" +
|
||||
" t3.field64,\n" +
|
||||
" CASE WHEN t1.seclevel >= 60 \n" +
|
||||
" THEN '总部' \n" +
|
||||
" ELSE SUBSTRING(t10.NAMEPath, 0, \n" +
|
||||
" CASE WHEN CHARINDEX('>', t10.NAMEPath) != 0 \n" +
|
||||
" THEN CHARINDEX('>', t10.NAMEPath) \n" +
|
||||
" ELSE 20 END\n" +
|
||||
" ) \n" +
|
||||
" END AS SYZZ,\n" +
|
||||
" \n" +
|
||||
" t1.degree,\n" +
|
||||
" t16.ntry,\n" +
|
||||
" t16.sfstwjr,\n" +
|
||||
" t17.ylzgs,\n" +
|
||||
" t18.hm,\n" +
|
||||
" t18.khyx,\n" +
|
||||
" t18.zh,\n" +
|
||||
" t18.gjjzh,\n" +
|
||||
" CASE WHEN t15.id is not null then '是' else '否' end AS SFKHQ\n" +
|
||||
"FROM hrmresource t1\n" +
|
||||
"LEFT JOIN view_dept t2 ON t2.deptid = t1.departmentid\n" +
|
||||
"LEFT JOIN cus_fielddata t3 ON t3.id = t1.id AND t3.scopeid = 3\n" +
|
||||
"LEFT JOIN cus_fielddata t4 ON t4.id = t1.id AND t4.scopeid = 1\n" +
|
||||
"LEFT JOIN htxy t5 ON t5.ygxm = t1.id AND t5.RowNum = 1 \n" +
|
||||
"LEFT JOIN zlxx t6 ON t6.xm = t1.id\n" +
|
||||
"LEFT JOIN jjlxrxx t7 ON t7.xm = t1.id AND t7.RowNum = 1\n" +
|
||||
"LEFT JOIN rzjl t8 ON t8.rn = 1 and t1.id = t8.yg AND t8.bdhgw = t3.field13\n" +
|
||||
"LEFT JOIN View_QZ_Department t9 ON t9.id = t8.bdhbm\n" +
|
||||
"LEFT JOIN View_QZ_Subcompany t10 ON t10.id = (select subcompanyid1 from HrmDepartment where id=t8.bdhbm )\n" +
|
||||
"LEFT JOIN ( \n" +
|
||||
" SELECT t11.* \n" +
|
||||
" FROM formtable_main_35 t11 \n" +
|
||||
" LEFT JOIN workflow_requestbase t12 \n" +
|
||||
" ON t11.requestId = t12.requestid \n" +
|
||||
" WHERE t12.currentnodetype = 3\n" +
|
||||
") t14 ON t1.id = t14.sqr\n" +
|
||||
"LEFT JOIN khbhqxxrg t15 ON t15.rn=1 and t1.id = t15.ygxm\n" +
|
||||
"LEFT JOIN rzlc t16 ON t16.rzryid = t1.id AND t16.RowNum = 1\n" +
|
||||
"LEFT JOIN formtable_main_71 t17 ON t17.requestId = t16.yglydx\n" +
|
||||
"LEFT JOIN uf_yhk t18 ON t1.id = t18.xm \n" +
|
||||
" AND t18.yt LIKE '%0%' \n" +
|
||||
" AND ISNULL(t18.qyzt, 0) = 0\n";
|
||||
return fromSql;
|
||||
}
|
||||
return fromSql;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue