diff --git a/src/main/java/com/engine/htxc/apprchalink/contract/cmd/ContractLinkCmd.java b/src/main/java/com/engine/htxc/apprchalink/contract/cmd/ContractLinkCmd.java
new file mode 100644
index 0000000..c8389ee
--- /dev/null
+++ b/src/main/java/com/engine/htxc/apprchalink/contract/cmd/ContractLinkCmd.java
@@ -0,0 +1,60 @@
+package com.engine.htxc.apprchalink.contract.cmd;
+
+import com.engine.common.biz.AbstractCommonCommand;
+import com.engine.common.entity.BizLogContext;
+import com.engine.core.interceptor.CommandContext;
+import com.engine.htxc.commonutil.db.DbTools;
+import com.engine.integration.util.StringUtils;
+import weaver.general.Util;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+/**
+ * @author K1810015
+ * @version 1.0.0
+ * @ClassName ContractLinkCmd.java
+ * @createTime 2022年07月26日 14:42:00
+ */
+public class ContractLinkCmd extends AbstractCommonCommand
+ * @title todofinanceflag
+ * @author K1810015
+ * @updateTime 2022/8/26 15:13
+ */
+ public boolean todoNetAssetsflag() {
+ Double vlaue=Util.getDoubleValue(new PropBean().getPropName("contract.datadicconfigamout"));
+ if(moneysum送合同审核员审批
+ * @title todofinanceflag
+ * @author K1810015
+ * @updateTime 2022/8/26 15:13
+ */
+ public boolean todoauditflag() {
+ flagmap.put("nodenumber","zbhtsp_htshy");
+ return workflowSelectService.getnodeflag(flagmap);
+ }
+
+
+ /**
+ * 送金融产品代销岗审核
+ * @title todoFinancialproductflag
+ * @author K1810015
+ * @updateTime 2022/8/26 15:13
+ */
+ public boolean todoFinancialproductflag() {
+
+ String deptid=Util.null2String(this.mainmap.get("szbm"));
+ String yz=Util.null2String(this.mainmap.get("yz"));
+ String jrcpyz=Util.null2String(pb.getPropName("eseal.code.jrcpyz"));
+ String jrcpbcode=Util.null2String(pb.getPropName("dept.code.cgtgb"));
+ if(StringUtils.isBlank(deptid) || StringUtils.isBlank(yz)){
+ return true;
+ }
+ List deptcodelist=DeptTools.getidtocode(deptid);
+ if(!yz.equals(jrcpyz) || !deptcodelist.contains(jrcpbcode)){
+ return true;
+ }
+ flagmap.put("nodenumber","zbhtsp_jrcpdxg");
+ return workflowSelectService.getnodeflag(flagmap);
+ }
+
+
+ /**
+ * 送工会主席审核
+ * @title todoUnionpresident
+ * @author K1810015
+ * @updateTime 2022/8/26 15:13
+ */
+ public boolean todoUnionpresident() {
+ String deptid=Util.null2String(this.mainmap.get("szbm"));
+ String jrcpbcode=Util.null2String(pb.getPropName("dept.code.tq"));
+ if(StringUtils.isBlank(deptid) || StringUtils.isBlank(jrcpbcode)){
+ return true;
+ }
+ List deptcodelist=DeptTools.getidtocode(deptid);
+ List hqbmlistcodelist=DeptTools.getidtocode(deptid);
+ List hqbmlist=new ArrayList<>();
+ if(detail2list!=null && !detail2list.isEmpty()){
+ detail2list.stream().forEach((item)->{
+ if(!StringUtils.isBlank(Util.null2String(item.get("hqbm")))){
+ hqbmlist.add(Util.null2String(item.get("hqbm")));
+ }
+ });
+ hqbmlistcodelist=DeptTools.getidtocode(hqbmlist.stream().distinct().collect(Collectors.joining(",")));
+ }
+
+ if(!deptcodelist.contains(jrcpbcode) && !hqbmlistcodelist.contains(jrcpbcode)){
+ return true;
+ }
+
+
+ flagmap.put("nodenumber","zbhtsp_ghzx");
+ return workflowSelectService.getnodeflag(flagmap);
+ }
+
+
+ /**
+ * 纪检监察组
+ * @title todofinanceflag
+ * @author K1810015
+ * @updateTime 2022/8/26 15:13
+ */
+ public boolean todoMonitoringTeamflag() {
+ if(detail2list!=null && detail2list.isEmpty()){
+ return true;
+ }
+ flagmap.put("nodenumber","zbhtsp_pzjjjcz");
+ return workflowSelectService.getnodeflag(flagmap);
+ }
+
+
+ /**
+ * 执行秘书
+ * @title todofinanceflag
+ * @author K1810015
+ * @updateTime 2022/8/26 15:13
+ */
+ public boolean todoexecutiveSecretaryflag() {
+ String ldsp=Util.null2String(this.mainmap.get("ldsp2"));
+ if(StringUtils.isBlank(ldsp)){
+ return true;
+ }
+ flagmap.put("nodenumber","zbhtsp_ldsp");
+ flagmap.put("userid",ldsp);
+ boolean flag= workflowSelectService.getnodeflag(flagmap);
+ flagmap.remove("userid");
+ if(flag){
+ flagmap.put("nodenumber","zbhtsp_zxmsg");
+ return workflowSelectService.getnodeflag(flagmap);
+ }
+ return flag;
+ }
+
+
+ /**
+ * 送用印
+ * @title todofinanceflag
+ * @author K1810015
+ * @updateTime 2022/8/26 15:13
+ */
+ public boolean todoesealflag() {
+ flagmap.put("nodenumber","zbhtsp_yy");
+ return workflowSelectService.getnodeflag(flagmap);
+
+ }
+
+}
diff --git a/src/main/java/com/engine/htxc/contract/customsearch/CustomSearchTemplate.java b/src/main/java/com/engine/htxc/contract/customsearch/CustomSearchTemplate.java
new file mode 100644
index 0000000..5bbad5b
--- /dev/null
+++ b/src/main/java/com/engine/htxc/contract/customsearch/CustomSearchTemplate.java
@@ -0,0 +1,43 @@
+package com.engine.htxc.contract.customsearch;
+
+import java.util.*;
+
+import lombok.extern.slf4j.Slf4j;
+import weaver.conn.RecordSet;
+import weaver.general.Util;
+import weaver.hrm.User;
+import weaver.formmode.customjavacode.AbstractCustomSqlConditionJavaCode;
+
+/**
+ * 说明
+ * 修改时
+ * 类名要与文件名保持一致
+ * class文件存放位置与路径保持一致。
+ * 请把编译后的class文件,放在对应的目录中才能生效
+ * 注意 同一路径下java名不能相同。
+ * @author Administrator
+ *
+ */
+@Slf4j
+public class CustomSearchTemplate extends AbstractCustomSqlConditionJavaCode {
+
+ /**
+ * 生成SQL查询限制条件
+ * @param param
+ * param包含(但不限于)以下数据
+ * user 当前用户
+ *
+ * @return
+ * 返回的查询限制条件的格式举例为: t1.a = '1' and t1.b = '3' and t1.c like '%22%'
+ * 其中t1为表单主表表名的别名
+ */
+ public String generateSqlCondition(Map param) throws Exception {
+ User user = (User)param.get("user");
+ int usrId = user.getUID();
+
+ String sqlCondition = "t1.scbs != 1 and !(t1.zt = '7' and t1.modedatacreater !="+usrId+")";
+ log.info(sqlCondition);
+ return sqlCondition;
+ }
+
+}
diff --git a/src/main/java/com/engine/htxc/contract/dao/CghtDao.java b/src/main/java/com/engine/htxc/contract/dao/CghtDao.java
new file mode 100644
index 0000000..b5dc36c
--- /dev/null
+++ b/src/main/java/com/engine/htxc/contract/dao/CghtDao.java
@@ -0,0 +1,138 @@
+package com.engine.htxc.contract.dao;
+
+import com.engine.htxc.commonutil.db.EntityCrudUtil;
+import com.engine.htxc.contract.dto.SecretLevelEnum;
+import com.engine.htxc.contract.entity.CghtMainEntity;
+import com.engine.htxc.contract.entity.UfHtqcDt1;
+import com.engine.htxc.contract.entity.UfHtqcDt3;
+import com.engine.htxc.contract.entity.UfHtqcDt4;
+import com.engine.htxc.contract.number.entity.Uf_ContractNoAggr;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import weaver.conn.RecordSet;
+import weaver.conn.RecordSetTrans;
+import weaver.formmode.setup.ModeRightInfo;
+
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+
+/**
+ * @Title: ecology-9
+ * @Company: 泛微软件
+ * @author: K1810050
+ * @version: 1.0
+ * @CreateDate: 2022/8/18 21:00
+ * @Description: 采购发起合同dao
+ * @ModifyLog: 添加注释
+ **/
+public class CghtDao {
+ private static final Logger logger= LoggerFactory.getLogger(CghtDao.class);
+
+ /**
+ * 采购出发合同 用印状态默认为0
+ */
+ public static final int YYZT_0 = 0;
+ /**
+ * 采购出发合同 税率默认为0
+ */
+ public static final String SL_0 = "0";
+ public static final String BHSJE_DEFAULT = "0.00";
+ public static final String UF_HTQC = "uf_htqc";
+
+ public static CghtMainEntity insertCghtqcMain(Uf_ContractNoAggr contractNo, CghtMainEntity cghtMainEntity){
+ //构造默认值
+ EntityCrudUtil.buildModeBaseAttributes(UF_HTQC,cghtMainEntity,CghtMainEntity.class);
+ buildDefaultCghtValue(cghtMainEntity);
+ final RecordSetTrans rst = new RecordSetTrans();
+ rst.setAutoCommit(false);
+ //插入数据
+ try {
+ EntityCrudUtil.transInsert(rst,UF_HTQC,cghtMainEntity,CghtMainEntity.class);
+ final int mainId = EntityCrudUtil.getModeDataIdByUuid(rst,UF_HTQC, cghtMainEntity.getModeuuid());
+ logger.info("----合同起草主表[uf_htqc] id:[{}] ",mainId);
+ if (mainId<0) {
+ throw new RuntimeException("插入主表[uf_htqc]数据失败");
+ }
+ cghtMainEntity.setId(mainId);
+
+ logger.info("合同信息保存成功,保存合同编号");
+ contractNo.setMbid(String.valueOf(cghtMainEntity.getId()));
+ EntityCrudUtil.transInsert(rst,"uf_contractnoaggr",contractNo,Uf_ContractNoAggr.class);
+
+ //插入明细表数据
+ insertDetails(rst, mainId);
+
+ //权限重构
+ logger.info("权限重构");
+ ModeRightInfo ModeRightInfo = new ModeRightInfo();
+ ModeRightInfo.setNewRight(true);
+ ModeRightInfo.editModeDataShare(cghtMainEntity.getQcr(), cghtMainEntity.getFormmodeid(), mainId);
+
+ rst.commit();
+ logger.info("插入数据成功,数据提交");
+ return cghtMainEntity;
+ } catch (Exception e) {
+ logger.error("插入数据失败,数据回滚",e);
+ rst.rollback();
+ }finally {
+ rst.setAutoCommit(true);
+ }
+ return null;
+ }
+
+ private static void insertDetails(RecordSetTrans rst, int mainId) throws Exception {
+ //明细表1
+ logger.info("插入明细表数据");
+ final UfHtqcDt1 ufHtqcDt1 = new UfHtqcDt1();
+ ufHtqcDt1.setYyzt(YYZT_0);
+ ufHtqcDt1.setMainid(mainId);
+ if(!EntityCrudUtil.transInsert(rst,"uf_htqc_dt1", ufHtqcDt1,UfHtqcDt1.class)){
+ throw new RuntimeException("插入明细表[uf_htqc_dt1]数据失败");
+ }
+ //明细表3
+ final UfHtqcDt3 ufHtqcDt3 = new UfHtqcDt3();
+ ufHtqcDt3.setYyzt(YYZT_0);
+ ufHtqcDt3.setMainid(mainId);
+ if(!EntityCrudUtil.transInsert(rst,"uf_htqc_dt3",ufHtqcDt3,UfHtqcDt3.class)){
+ throw new RuntimeException("插入明细表[uf_htqc_dt3]]数据失败");
+ }
+ ////明细表4
+ final UfHtqcDt4 ufHtqcDt4 = new UfHtqcDt4();
+ ufHtqcDt4.setSl(SL_0);
+ ufHtqcDt4.setMainid(mainId);
+ ufHtqcDt4.setBhsje(BHSJE_DEFAULT);
+ if(!EntityCrudUtil.transInsert(rst,"uf_htqc_dt4",ufHtqcDt4,UfHtqcDt4.class)){
+ throw new RuntimeException("插入明细表[uf_htqc_dt4]数据失败");
+ }
+ }
+
+
+
+ private static CghtMainEntity buildDefaultCghtValue(CghtMainEntity cghtMainEntity){
+ LocalDateTime now = LocalDateTime.now();
+ cghtMainEntity.setQcrq(now.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
+ cghtMainEntity.setSfwdsf("0");
+ cghtMainEntity.setSfxjwfk(1);
+ cghtMainEntity.setDqbb(1);
+ cghtMainEntity.setHtjexz(0);
+ cghtMainEntity.setSfsw(1);
+ cghtMainEntity.setBz(0);
+ cghtMainEntity.setZt(0);
+ cghtMainEntity.setSfsymbfb(0);
+ cghtMainEntity.setBmdj(SecretLevelEnum.NORMAL_BUSINESS_SECRET.ordinal());
+ cghtMainEntity.setSflx(1);
+ cghtMainEntity.setHtxz(0);
+ cghtMainEntity.setModedatacreater(cghtMainEntity.getQcr());
+ cghtMainEntity.setFhtlx(getParentCategory(cghtMainEntity.getHtlx()));
+ return cghtMainEntity;
+ }
+
+ public static String getParentCategory(String category){
+ final RecordSet rs=new RecordSet();
+ rs.executeQuery("select s.SJFL from uf_type_of_contract s where s.BZSM=?",category);
+ if(rs.next()){
+ return rs.getString(1);
+ }
+ return "";
+ }
+}
diff --git a/src/main/java/com/engine/htxc/contract/dao/ContractDao.java b/src/main/java/com/engine/htxc/contract/dao/ContractDao.java
new file mode 100644
index 0000000..6efd153
--- /dev/null
+++ b/src/main/java/com/engine/htxc/contract/dao/ContractDao.java
@@ -0,0 +1,280 @@
+package com.engine.htxc.contract.dao;
+
+import com.engine.htxc.commonutil.db.DbTools;
+import com.engine.htxc.commonutil.db.EntityCrudUtil;
+import com.engine.htxc.contract.dto.CounterPartyDTO;
+import com.engine.htxc.contract.dto.UserDeptInfoDTO;
+import com.engine.htxc.contract.entity.UfOtcdertra;
+import com.engine.htxc.contract.entity.UserEntity;
+import com.engine.integration.util.StringUtils;
+import lombok.extern.slf4j.Slf4j;
+import weaver.conn.RecordSet;
+import weaver.conn.RecordSetTrans;
+
+import java.util.*;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * @Title: ecology-9
+ * @Company: 泛微软件
+ * @author: K1810050
+ * @version: 1.0
+ * @CreateDate: 2022/8/18 21:02
+ * @Description: 发起合同流程相关查询dao
+ * @ModifyLog: 添加注释
+ **/
+@Slf4j
+public class ContractDao {
+
+ public static final DbTools dbtools=new DbTools();
+
+ /**
+ * 根据社会代码查询对手方编码
+ * @param codes
+ * @return
+ */
+ public static List selectCounterPartyByCertCode(List codes){
+ if(codes==null||codes.isEmpty()){
+ return Collections.emptyList();
+ }
+ String sql="select dsfbm from uf_dsfgl t,uf_dsfgl_dt1 d where d.mainid=t.id and d.zjhm in ('"+ String.join("','", codes) +"')";
+ final RecordSet recordSet = new RecordSet();
+ recordSet.executeQuery(sql);
+ List result=new ArrayList<>();
+ while (recordSet.next()){
+ result.add(recordSet.getString("dsfbm"));
+ }
+ return result;
+ }
+
+ /**
+ * 查询合同表主键id
+ * @param uuid
+ * @return
+ */
+ public static int getDataIdByUuid(RecordSetTrans rst,String uuid) throws Exception {
+ rst.executeQuery("select id from UF_OTCDERTRA where modeuuid=? ", uuid);
+ if (rst.next()) {
+ return rst.getInt("id");
+ }
+ return -1;
+ }
+
+
+ public static Map getUserByWorkcodeAndDeptCode(String workcode, String deptCode){
+ String sql="select r.id as userid,r.lastname as username,r.telephone as telephone,r.email as email,r.departmentid as departmentid,r.workcode as workcode,d.departmentname as departmentname ,d.departmentcode as departmentcode from HRMRESOURCE r,hrmdepartment d where r.departmentid=d.id and workcode=? and DEPARTMENTCODE=? ";
+ final RecordSet rs = new RecordSet();
+ final Map result = new HashMap<>();
+ rs.executeQuery(sql,workcode,deptCode);
+ if (rs.next()) {
+ for (String s : rs.getColumnName()) {
+ result.put(s,rs.getString(s));
+ }
+ }
+ return result;
+
+ }
+
+ /**
+ * 根据工号和部门批量查询用户信息
+ * @param userDeptInfoDTOS
+ * @return
+ */
+ public static List getUsersByWorkcodeAndDeptCodeList(List userDeptInfoDTOS) {
+ String sql="select w.jobtitlecode as jobcode,r.loginid,r.id as userid,r.lastname as username,r.telephone as telephone,r.email as email,r.departmentid as departmentid,r.workcode as workcode,d.departmentname as departmentname ,d.departmentcode as departmentcode from HRMRESOURCE r,hrmdepartment d,hrmjobtitles w where r.departmentid=d.id and w.id=r.jobtitle and (workcode,DEPARTMENTCODE) in (%s)";
+ sql = String.format(sql, String.join(",", Collections.nCopies(userDeptInfoDTOS.size(), "(?,?)")));
+
+ List params=new ArrayList<>(userDeptInfoDTOS.size()*2);
+ for (UserDeptInfoDTO userDeptInfoDTO : userDeptInfoDTOS) {
+ params.add(userDeptInfoDTO.getUserCode());
+ params.add(userDeptInfoDTO.getDeptCode());
+ }
+ return EntityCrudUtil.selectList(sql,UserEntity.class,params);
+ }
+
+
+ /**
+ * 查询部门简称
+ * @param deptId
+ * @return
+ */
+ public static String getDeptAbbrByDeptId(int deptId){
+ RecordSet rs = new RecordSet();
+ // 获取部门id
+ String sql = "select docnumabbreviation from hrmdepartmentdefined where deptid=?";
+ rs.executeQuery(sql,deptId);
+ if (rs.next()) {
+ return rs.getString("docnumabbreviation");
+ }
+ return "";
+ }
+
+
+
+ /**
+ * 查询编号最大编码
+ * @param deptAbbr
+ * @param year
+ * @param prefix
+ * @return
+ */
+ public static int getMaxNum(String deptAbbr, String year, String prefix) {
+ final RecordSet rs = new RecordSet();
+ rs.executeQuery("select max(zzbh)+1 as zzbh from uf_ContractNoAggr where qz=? and year=? and zzjgjc=?", prefix, year, deptAbbr);
+ if(rs.next()){
+ return Math.max(rs.getInt("zzbh"),1);
+ }else{
+ return -1;
+ }
+ }
+ public static void updateUfOtcdertraFiles(RecordSetTrans rst, UfOtcdertra contractMain) throws Exception {
+ rst.executeUpdate("update uf_otcdertra set htzw=?,htfj=? where id=? ", contractMain.getHtzw(), contractMain.getHtfj(), contractMain.getId());
+ }
+ public static boolean checkTemplateNo(String templateNo){
+ final RecordSet rs = new RecordSet();
+ rs.executeQuery(" SELECT count(b.id) c FROM docimagefile a ,uf_wdzx b,imagefile c ,uf_wdzx_dt1 d where a.imagefileid=b.wj and a.imagefileid=c.imagefileid and b.id=d.mainid and d.zt=1 and b.mbbh=?",templateNo);
+ if(rs.next()){
+ return rs.getInt("c")>0;
+ }
+ return false;
+ }
+
+ public static List findCounterparty(List counterPartyDTOS){
+ String sql="select a.id from uf_dsfgl a , uf_dsfgl_dt1 b where b.mainid=a.id and (b.zjlx,b.zjhm) in (%s)";
+ sql = String.format(sql, String.join(",", Collections.nCopies(counterPartyDTOS.size(), "(?,?)")));
+ List params=new ArrayList<>(counterPartyDTOS.size()*2);
+ for (CounterPartyDTO counterPartyDTO : counterPartyDTOS) {
+ params.add(counterPartyDTO.getCertType());
+ params.add(counterPartyDTO.getCertNo());
+ }
+ final RecordSet rs = new RecordSet();
+ rs.executeQuery(sql,params);
+ List result=new ArrayList<>();
+ while (rs.next()){
+ result.add(rs.getInt("id"));
+ }
+ return result;
+ }
+
+ public static List findContractSeal(List seals){
+ String sql="select id from uf_ContractSeal where yzbh in (%s)";
+ sql=String.format(sql, String.join(",", Collections.nCopies(seals.size(), "?")));
+ final RecordSet rs = new RecordSet();
+ rs.executeQuery(sql,seals);
+ List result=new ArrayList<>();
+ while (rs.next()){
+ result.add(rs.getString("id"));
+ }
+ return result;
+ }
+
+
+ public static boolean checkCategory(String categeryId) {
+ final RecordSet rs = new RecordSet();
+ rs.executeQuery("select count(id) c from uf_type_of_contract where bzsm=?",categeryId);
+ if(rs.next()){
+ return rs.getInt(1)>0;
+ }
+ return false;
+ }
+ /**
+ * 查询合同的编号
+ * @title getSealNocount
+ * @author K1810015
+ * @updateTime 2022/9/2 17:23
+ */
+ public static String getSealCount(String tablename,String htbh){
+ if(StringUtils.isBlank(tablename) && StringUtils.isBlank(htbh)){
+ return "";
+ }
+ String sql="select wm_concat_old(yz) as yz from "+ tablename+" where 1=1 and htbh in ("+ Arrays.stream(htbh.split(",")).map(item->"\'"+item+"\'").collect(Collectors.joining(","))+")";
+ return dbtools.getsqlonevalue(sql);
+ }
+
+ /**
+ *根据工号和部门查询 单个直接选择,多个若有jobCode根据jobCode查询,没有jobCode默认选主岗 ,若该部门没有主岗多个都是兼岗都不取 校验时报错
+ * @param userDeptInfoDTOS
+ * @return
+ */
+ public static List getUsersByWorkcodeAndJobCodeList(List userDeptInfoDTOS){
+ final List users = getUsersByWorkcodeAndDeptCodeList(userDeptInfoDTOS);
+ //按工号收集用户
+ Map> userMap = getUserMap(users);
+ //按工号收集岗位
+ Map userJobCodeMap = getUserJobCodeMap(userDeptInfoDTOS);
+ return getUserEntityList(userJobCodeMap, userMap);
+ }
+
+
+ private static Map getUserJobCodeMap(List userDeptInfoDTOS) {
+ Map userJobCodeMap=new HashMap<>();
+ for (UserDeptInfoDTO userDeptInfoDTO : userDeptInfoDTOS) {
+ userJobCodeMap.put(userDeptInfoDTO.getUserCode(),userDeptInfoDTO.getJobCode());
+ }
+ return userJobCodeMap;
+ }
+
+ private static Map> getUserMap(List users) {
+ Map> userMap=new HashMap<>();
+ for (UserEntity user : users) {
+ List userAccountList = userMap.get(user.getWorkcode());
+ if(null== userAccountList){
+ userAccountList= new ArrayList<>();
+ userMap.put(user.getWorkcode(),userAccountList);
+ }
+ userAccountList.add(user);
+ }
+ return userMap;
+ }
+
+ private static List getUserEntityList(Map userJobCodeMap, Map> userMap) {
+ //根据工号和部门查询 查到单个账号直接选择,多个账号若传有jobCode根据jobCode查询,没有jobCode默认选主岗 ,若该部门没有主岗多个都是兼岗都不取 校验时报错
+ List userEntityList=new ArrayList<>();
+ for (Map.Entry> userEntry : userMap.entrySet()) {
+ final List userEntities = userEntry.getValue();
+ //单个直接取
+ if(userEntities.size()==1){
+ userEntityList.add(userEntities.get(0));
+ }else{
+ log.info("工号[{}]查到[{}]个账号",userEntry.getKey(),userEntities.size());
+ //多个账号若有jobCode根据jobCode查询,没有传jobCode选择主岗 否则出错
+ UserEntity userEntity = findUserWithJobCodeOrMajorPosition(userEntry.getKey(),userEntities, userJobCodeMap);
+ if(null!=userEntity){
+ userEntityList.add(userEntity);
+ }else{
+ log.error("工号[{}]查询账号出错",userEntry.getKey());
+ }
+ }
+
+ }
+ return userEntityList;
+ }
+
+ private static UserEntity findUserWithJobCodeOrMajorPosition(String userCode,List userEntities, Map userJobCodeMap) {
+ final String jobCode = userJobCodeMap.get(userCode);
+ if(!StringUtils.isBlank(jobCode)){
+ log.info("工号[{}]传入岗位:[{}]",userCode,jobCode);
+ for (UserEntity userEntity : userEntities) {
+ if(userEntity.getJobCode().equals(jobCode)){
+ return userEntity;
+ }
+ }
+ }
+ log.info("工号[{}]查询主岗",userCode);
+ //没有传jobCode选择主岗
+ return findMajorPositionUser(userEntities);
+ }
+
+ private static UserEntity findMajorPositionUser(List userEntities) {
+ for (UserEntity userEntity : userEntities) {
+ //工号和登录号相等是主岗
+ if(userEntity.getWorkcode().equals(userEntity.getLoginid())){
+ return userEntity;
+ }
+ }
+ return null;
+ }
+}
diff --git a/src/main/java/com/engine/htxc/contract/dao/ContractModeDao.java b/src/main/java/com/engine/htxc/contract/dao/ContractModeDao.java
new file mode 100644
index 0000000..c1ecc6f
--- /dev/null
+++ b/src/main/java/com/engine/htxc/contract/dao/ContractModeDao.java
@@ -0,0 +1,82 @@
+package com.engine.htxc.contract.dao;
+
+import com.engine.htxc.commonutil.db.DbTools;
+import com.engine.htxc.contract.util.ContractUtil;
+import com.engine.integration.util.StringUtils;
+import weaver.general.Util;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * 关于合同建模状态修改的类型
+ * @author K1810015
+ * @version 1.0.0
+ * @ClassName ContractModeDao.java
+ * @createTime 2022年08月31日 20:33:00
+ */
+public class ContractModeDao {
+
+ private DbTools dbtools=new DbTools();
+
+ public Map modemap=new HashMap<>();
+
+ public String modeid="";
+
+ public String modetable="";
+
+ /**
+ * 默认标识,判断是否初始化成功
+ * */
+ private boolean flag=false;
+
+ public ContractModeDao(String htlx,String id) {
+ inittable(htlx);
+ if(!flag || StringUtils.isBlank(id)){
+ return ;
+ }
+ Map wheremap=new HashMap<>();
+ wheremap.put("id",id);
+ modemap=dbtools.gettabletomap(modetable,wheremap);
+ }
+
+ public ContractModeDao(String htlx,String htbh,String htbb) {
+ inittable(htlx);
+ if(!flag || StringUtils.isBlank(htbh) || StringUtils.isBlank(htbb)){
+ return ;
+ }
+ Map wheremap=new HashMap<>();
+ wheremap.put("htbh",htbh);
+ wheremap.put("dqbb",htbb);
+ modemap=dbtools.gettabletomap(modetable,wheremap);
+ if(modemap!=null && !modemap.isEmpty()){
+ modeid= Util.null2String(modemap.get("id"));
+ }
+ }
+
+ public boolean updateMode(Map setmap){
+ if(!flag){
+ return false;
+ }
+ if(setmap==null || setmap.isEmpty()){
+ return false;
+ }
+ if(StringUtils.isBlank(modeid) || StringUtils.isBlank(modetable)){
+ return false;
+ }
+ Map wheremap=new HashMap<>(1);
+ wheremap.put("id",modeid);
+ return dbtools.updateSql(modetable,setmap,wheremap);
+
+ }
+
+ private void inittable(String htlx){
+ if(StringUtils.isBlank(htlx) ){
+ return ;
+ }
+ modetable= ContractUtil.getContractTableName(htlx);
+ if(!StringUtils.isBlank(modetable)){
+ flag=true;
+ }
+ }
+}
diff --git a/src/main/java/com/engine/htxc/contract/dao/ProductDao.java b/src/main/java/com/engine/htxc/contract/dao/ProductDao.java
new file mode 100644
index 0000000..d01c9ab
--- /dev/null
+++ b/src/main/java/com/engine/htxc/contract/dao/ProductDao.java
@@ -0,0 +1,53 @@
+package com.engine.htxc.contract.dao;
+
+import com.engine.htxc.contract.entity.UfProduct;
+import com.engine.htxc.contract.entity.UfProductCounterParty;
+import org.apache.commons.lang.StringUtils;
+import weaver.conn.RecordSet;
+
+/**
+ * @Title: ecology-9
+ * @Company: 泛微软件
+ * @author: K1810050
+ * @version: 1.0
+ * @CreateDate: 2022/8/2315:55
+ * @Description: 产品信息dao
+ * @ModifyLog:
+ **/
+public class ProductDao {
+ public static UfProduct selectProductByProductId(String productId){
+ if (StringUtils.isEmpty(productId)) {
+ return null;
+ }
+ String sql="select id,requestid,productid,productname from uf_product where productid=?";
+ final RecordSet recordSet = new RecordSet();
+ recordSet.executeQuery(sql,productId);
+ if(recordSet.next()){
+ return null;
+ }
+ final UfProduct ufProduct = new UfProduct();
+ ufProduct.setId(recordSet.getInt("id"));
+ ufProduct.setProductname(recordSet.getString("productname"));
+ ufProduct.setProductid(recordSet.getString("productid"));
+ return ufProduct;
+ }
+
+ public static UfProductCounterParty selectUfProductCounterpartyByProductid(String productid){
+ if(StringUtils.isBlank(productid)){
+ return null;
+ }
+ String sql="select id,requestid,productid,socialcreditcode from uf_prodcontrelation where productid=?";
+ final RecordSet recordSet = new RecordSet();
+ recordSet.executeQuery(sql,productid);
+ final boolean next = recordSet.next();
+ if(!next){
+ return null;
+ }
+ final UfProductCounterParty ufProductCounterParty = new UfProductCounterParty();
+ ufProductCounterParty.setId(recordSet.getInt("id"));
+ ufProductCounterParty.setRequestid(recordSet.getInt("requestid"));
+ ufProductCounterParty.setProductid(recordSet.getString("productid"));
+ ufProductCounterParty.setSocialcreditcode(recordSet.getString("socialcreditcode"));
+ return ufProductCounterParty;
+ }
+}
diff --git a/src/main/java/com/engine/htxc/contract/dto/ConcerningForeignEnum.java b/src/main/java/com/engine/htxc/contract/dto/ConcerningForeignEnum.java
new file mode 100644
index 0000000..2b01ef2
--- /dev/null
+++ b/src/main/java/com/engine/htxc/contract/dto/ConcerningForeignEnum.java
@@ -0,0 +1,21 @@
+package com.engine.htxc.contract.dto;
+
+/**
+ * @Title: ecology-9
+ * @Company: 泛微软件
+ * @author: K1810050
+ * @version: 1.0
+ * @CreateDate: 2022/8/18 21:10
+ * @Description: 是否涉外
+ * @ModifyLog:
+ **/
+public enum ConcerningForeignEnum {
+ /**
+ * 涉外
+ */
+ CONCERNING_FOREIGN,
+ /**
+ * 不涉外
+ */
+ NO_CONCERNING_FOREIGN
+}
diff --git a/src/main/java/com/engine/htxc/contract/dto/ContractDetailDTO.java b/src/main/java/com/engine/htxc/contract/dto/ContractDetailDTO.java
new file mode 100644
index 0000000..904f9cc
--- /dev/null
+++ b/src/main/java/com/engine/htxc/contract/dto/ContractDetailDTO.java
@@ -0,0 +1,183 @@
+package com.engine.htxc.contract.dto;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @Title: ecology-9
+ * @Company: 泛微软件
+ * @author: K1810050
+ * @version: 1.0
+ * @CreateDate: 2022/8/23 10:39
+ * @Description: 合同详细信息
+ * @ModifyLog:
+ **/
+public class ContractDetailDTO implements Serializable {
+ /**
+ * 合同名称
+ */
+ private String contractName;
+
+ /**
+ * 对手方
+ */
+ private List counterPartyList;
+
+ /**
+ * 产品编码
+ */
+ private List productCodeList;
+
+ /**
+ * 合同正文
+ */
+ private List mainFileList;
+
+ /**
+ * 合同附件
+ */
+ private List attachedFileList;
+
+ /**
+ * 印章
+ */
+ private List seals;
+
+ /**
+ * 合同备注
+ *
+ */
+ private String contractComment;
+
+ /**
+ * 文本来源 LOCAL 本地上传/NORMAL 标准文本/EXAMPLE 示范文本
+ *
+ */
+ private String textSource;
+
+ /**
+ * 未使用范本原因
+ *
+ */
+ private String unusedTextReason;
+
+ /**
+ * 起草人工号
+ */
+ private String userCode;
+
+ /**
+ * 起草人部门
+ */
+ private String userDeptCode;
+
+ /**
+ * 自动用印 必填 模板编号
+ */
+ private String templateNo;
+
+ public String getContractName() {
+ return contractName;
+ }
+
+ public void setContractName(String contractName) {
+ this.contractName = contractName;
+ }
+
+ public List getCounterPartyList() {
+ return counterPartyList;
+ }
+
+ public void setCounterPartyList(List counterPartyList) {
+ this.counterPartyList = counterPartyList;
+ }
+
+ public List getProductCodeList() {
+ return productCodeList;
+ }
+
+ public void setProductCodeList(List productCodeList) {
+ this.productCodeList = productCodeList;
+ }
+
+ public List getMainFileList() {
+ return mainFileList;
+ }
+
+ public void setMainFileList(List mainFileList) {
+ this.mainFileList = mainFileList;
+ }
+
+ public List getAttachedFileList() {
+ return attachedFileList;
+ }
+
+ public void setAttachedFileList(List attachedFileList) {
+ this.attachedFileList = attachedFileList;
+ }
+
+ public List getSeals() {
+ return seals;
+ }
+
+ public void setSeals(List seals) {
+ this.seals = seals;
+ }
+
+ public String getContractComment() {
+ return contractComment;
+ }
+
+ public void setContractComment(String contractComment) {
+ this.contractComment = contractComment;
+ }
+
+ public String getTextSource() {
+ return textSource;
+ }
+
+ public void setTextSource(String textSource) {
+ this.textSource = textSource;
+ }
+
+ public String getUnusedTextReason() {
+ return unusedTextReason;
+ }
+
+ public void setUnusedTextReason(String unusedTextReason) {
+ this.unusedTextReason = unusedTextReason;
+ }
+
+ public String getUserCode() {
+ return userCode;
+ }
+
+ public void setUserCode(String userCode) {
+ this.userCode = userCode;
+ }
+
+ public String getUserDeptCode() {
+ return userDeptCode;
+ }
+
+ public void setUserDeptCode(String userDeptCode) {
+ this.userDeptCode = userDeptCode;
+ }
+
+ public String getTemplateNo() {
+ return templateNo;
+ }
+
+ public void setTemplateNo(String templateNo) {
+ this.templateNo = templateNo;
+ }
+
+ @Override
+ public String toString() {
+ return "ContractDetailDTO{" + "contractName='" + contractName + '\'' + ", counterPartyList=" + counterPartyList
+ + ", productCodeList=" + productCodeList + ", mainFileList=" + mainFileList + ", attachedFileList="
+ + attachedFileList + ", seals=" + seals + ", contractComment='" + contractComment + '\'' + ", textSource='"
+ + textSource + '\'' + ", unusedTextReason='" + unusedTextReason + '\'' + ", userCode='" + userCode + '\''
+ + ", userDeptCode='" + userDeptCode + '\'' + ", templateNo='" + templateNo + '\'' + '}';
+ }
+}
diff --git a/src/main/java/com/engine/htxc/contract/dto/ContractFileDTO.java b/src/main/java/com/engine/htxc/contract/dto/ContractFileDTO.java
new file mode 100644
index 0000000..32fb8a6
--- /dev/null
+++ b/src/main/java/com/engine/htxc/contract/dto/ContractFileDTO.java
@@ -0,0 +1,123 @@
+package com.engine.htxc.contract.dto;
+
+import java.io.Serializable;
+
+/**
+ * @Title: ecology-9
+ * @Company: 泛微软件
+ * @author: K1810050
+ * @version: 1.0
+ * @CreateDate: 2022/8/23 10:40
+ * @Description: 合同文件
+ * @ModifyLog:
+ **/
+public class ContractFileDTO implements Serializable {
+ /**
+ * 文件名称
+ */
+ private String fileName;
+ /**
+ * 文件存储网关
+ */
+ private String fileId;
+ /**
+ * 文件后缀
+ */
+ private String suffix;
+
+ /**
+ * 用印方式 枚举值:电子用印,物理用印,物理和电子,不用印
+ */
+ private String sealMethod;
+
+ /**
+ * 电子用印方式 枚举值:电子件,防伪打印件,对手方电子件
+ */
+ private String esealMethod;
+ /**
+ * 单双面打印 枚举值:单面打印,双面打印
+ */
+ private String printBothSide;
+
+ /**
+ * 打印份数 用印方式:电子用印方式:防伪打印件时,打印份数赋值给防伪打印份数; 物理和电子方式:打印份数同时赋值给物理用印份数和防伪打印份数
+ */
+ private Integer printCount;
+
+ /**
+ * 物理用印份数 用印方式:物理用印时,打印份数赋值给物理用印份数;
+ */
+ private Integer physicalSealCount;
+
+ public String getFileName() {
+ return fileName;
+ }
+
+ public void setFileName(String fileName) {
+ this.fileName = fileName;
+ }
+
+ public String getFileId() {
+ return fileId;
+ }
+
+ public void setFileId(String fileId) {
+ this.fileId = fileId;
+ }
+
+ public String getSuffix() {
+ return suffix;
+ }
+
+ public void setSuffix(String suffix) {
+ this.suffix = suffix;
+ }
+
+ public String getSealMethod() {
+ return sealMethod;
+ }
+
+ public void setSealMethod(String sealMethod) {
+ this.sealMethod = sealMethod;
+ }
+
+ public String getEsealMethod() {
+ return esealMethod;
+ }
+
+ public void setEsealMethod(String esealMethod) {
+ this.esealMethod = esealMethod;
+ }
+
+ public String getPrintBothSide() {
+ return printBothSide;
+ }
+
+ public void setPrintBothSide(String printBothSide) {
+ this.printBothSide = printBothSide;
+ }
+
+ public Integer getPrintCount() {
+ return printCount;
+ }
+
+ public void setPrintCount(Integer printCount) {
+ this.printCount = printCount;
+ }
+
+ public Integer getPhysicalSealCount() {
+ return physicalSealCount;
+ }
+
+ public void setPhysicalSealCount(Integer physicalSealCount) {
+ this.physicalSealCount = physicalSealCount;
+ }
+
+ @Override
+ public String toString() {
+ return "ContractFileDTO{" + "fileName='" + fileName + '\'' + ", fileId='" + fileId + '\'' + ", suffix='"
+ + suffix + '\'' + ", sealMethod='" + sealMethod + '\'' + ", esealMethod='" + esealMethod + '\''
+ + ", printBothSide='" + printBothSide + '\'' + ", printCount=" + printCount + ", physicalSealCount="
+ + physicalSealCount + '}';
+ }
+}
diff --git a/src/main/java/com/engine/htxc/contract/dto/ContractNatureEnum.java b/src/main/java/com/engine/htxc/contract/dto/ContractNatureEnum.java
new file mode 100644
index 0000000..eff449f
--- /dev/null
+++ b/src/main/java/com/engine/htxc/contract/dto/ContractNatureEnum.java
@@ -0,0 +1,20 @@
+package com.engine.htxc.contract.dto;
+/**
+ * @Title: ecology-9
+ * @Company: 泛微软件
+ * @author: K1810050
+ * @version: 1.0
+ * @CreateDate: 2022/8/18 21:14
+ * @Description: 合同性质枚举 主合同,补充协议
+ * @ModifyLog:
+ **/
+public enum ContractNatureEnum {
+ /**
+ * 主合同
+ */
+ MAIN_CONTRACT,
+ /**
+ * 补充协议
+ */
+ SUPPLEMENTARY_AGREEMENT
+}
diff --git a/src/main/java/com/engine/htxc/contract/dto/ContractProcessDTO.java b/src/main/java/com/engine/htxc/contract/dto/ContractProcessDTO.java
new file mode 100644
index 0000000..82c47e9
--- /dev/null
+++ b/src/main/java/com/engine/htxc/contract/dto/ContractProcessDTO.java
@@ -0,0 +1,177 @@
+package com.engine.htxc.contract.dto;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @Title: ecology-9
+ * @Company: 泛微软件
+ * @author: K1810050
+ * @version: 1.0
+ * @CreateDate: 2022/8/23 10:40
+ * @Description: 合同流程数据
+ * @ModifyLog:
+ **/
+public class ContractProcessDTO implements Serializable {
+ /**
+ * 调用方
+ */
+ private String sysCode;
+
+ /**
+ * 发起类型
+ */
+ private String moduleCode;
+ /**
+ * 合同列表
+ */
+ private List contractList;
+
+ /**
+ * 合同流程标题
+ */
+ private String processTitle;
+ /**
+ * 合同经办人
+ */
+ private String userCode;
+ /**
+ * 合同经办人部门编码
+ */
+ private String userDeptCode;
+ /**
+ * 联系电话
+ */
+ private String telephone;
+
+ /**
+ * 合同分类
+ */
+ private String contractCategoryId;
+
+ /**
+ * 通知阅读人id集合
+ */
+ private List noticeReaderIds;
+
+ /**
+ * 内部审核
+ */
+ private List internalAuditIds;
+
+ /**
+ * 部门领导
+ */
+ private List deptHeadIds;
+
+ /**
+ * 是否自动用印表示
+ */
+ private Boolean autoSealFlag;
+
+ public String getSysCode() {
+ return sysCode;
+ }
+
+ public void setSysCode(String sysCode) {
+ this.sysCode = sysCode;
+ }
+
+ public String getModuleCode() {
+ return moduleCode;
+ }
+
+ public void setModuleCode(String moduleCode) {
+ this.moduleCode = moduleCode;
+ }
+
+ public String getProcessTitle() {
+ return processTitle;
+ }
+
+ public void setProcessTitle(String processTitle) {
+ this.processTitle = processTitle;
+ }
+
+ public String getUserCode() {
+ return userCode;
+ }
+
+ public void setUserCode(String userCode) {
+ this.userCode = userCode;
+ }
+
+ public String getUserDeptCode() {
+ return userDeptCode;
+ }
+
+ public void setUserDeptCode(String userDeptCode) {
+ this.userDeptCode = userDeptCode;
+ }
+
+ public String getTelephone() {
+ return telephone;
+ }
+
+ public void setTelephone(String telephone) {
+ this.telephone = telephone;
+ }
+
+ public String getContractCategoryId() {
+ return contractCategoryId;
+ }
+
+ public void setContractCategoryId(String contractCategoryId) {
+ this.contractCategoryId = contractCategoryId;
+ }
+
+ public List getNoticeReaderIds() {
+ return noticeReaderIds;
+ }
+
+ public void setNoticeReaderIds(List noticeReaderIds) {
+ this.noticeReaderIds = noticeReaderIds;
+ }
+
+ public List getInternalAuditIds() {
+ return internalAuditIds;
+ }
+
+ public void setInternalAuditIds(List internalAuditIds) {
+ this.internalAuditIds = internalAuditIds;
+ }
+
+ public List getDeptHeadIds() {
+ return deptHeadIds;
+ }
+
+ public void setDeptHeadIds(List deptHeadIds) {
+ this.deptHeadIds = deptHeadIds;
+ }
+
+ public List getContractList() {
+ return contractList;
+ }
+
+ public void setContractList(List contractList) {
+ this.contractList = contractList;
+ }
+
+ public Boolean getAutoSealFlag() {
+ return autoSealFlag;
+ }
+
+ public void setAutoSealFlag(Boolean autoSealFlag) {
+ this.autoSealFlag = autoSealFlag;
+ }
+
+ @Override
+ public String toString() {
+ return "ContractProcessDTO{" + "sysCode='" + sysCode + '\'' + ", moduleCode='" + moduleCode + '\''
+ + ", contractList=" + contractList + ", processTitle='" + processTitle + '\'' + ", userCode='" + userCode
+ + '\'' + ", userDeptCode='" + userDeptCode + '\'' + ", telephone='" + telephone + '\''
+ + ", contractCategoryId='" + contractCategoryId + '\'' + ", noticeReaderIds=" + noticeReaderIds
+ + ", internalAuditIds=" + internalAuditIds + ", deptHeadIds=" + deptHeadIds + ", autoSealFlag="
+ + autoSealFlag + '}';
+ }
+}
diff --git a/src/main/java/com/engine/htxc/contract/dto/ContractStatusEnum.java b/src/main/java/com/engine/htxc/contract/dto/ContractStatusEnum.java
new file mode 100644
index 0000000..6cf4bdb
--- /dev/null
+++ b/src/main/java/com/engine/htxc/contract/dto/ContractStatusEnum.java
@@ -0,0 +1,31 @@
+package com.engine.htxc.contract.dto;
+
+/**
+ * @Title: ecology-9
+ * @Company: 泛微软件
+ * @author: K1810050
+ * @version: 1.0
+ * @CreateDate: 2022/8/18 21:16
+ * @Description: 合同状态枚举
+ * @ModifyLog:
+ **/
+public enum ContractStatusEnum {
+ //0草稿
+ DRAFT,
+ //1待审批
+ TO_APPROVE,
+ //2审批中
+ APPROVING,
+ //3待签订
+ TO_SIGN,
+ //4已签订
+ SIGN_FINISH,
+ //5废弃中
+ DISCARDING,
+ //6已废弃
+ DISCARD_FINISH,
+ //7履约中
+ PERFORMING,
+ //8履约完成,
+ PERFORM_FINISH
+}
diff --git a/src/main/java/com/engine/htxc/contract/dto/CounterPartyDTO.java b/src/main/java/com/engine/htxc/contract/dto/CounterPartyDTO.java
new file mode 100644
index 0000000..09ba933
--- /dev/null
+++ b/src/main/java/com/engine/htxc/contract/dto/CounterPartyDTO.java
@@ -0,0 +1,46 @@
+package com.engine.htxc.contract.dto;
+
+import java.io.Serializable;
+
+/**
+ * @Title: ecology-9
+ * @Company: 泛微软件
+ * @author: K1810050
+ * @version: 1.0
+ * @CreateDate: 2022/8/23 10:40
+ * @Description: 对手方信息
+ * @ModifyLog:
+ **/
+public class CounterPartyDTO implements Serializable {
+
+ /**
+ * 证书类型
+ */
+ private String certType;
+
+ /**
+ * 证件号码:统一社会信用代码 或身份证
+ */
+ private String certNo;
+
+ public String getCertType() {
+ return certType;
+ }
+
+ public void setCertType(String certType) {
+ this.certType = certType;
+ }
+
+ public String getCertNo() {
+ return certNo;
+ }
+
+ public void setCertNo(String certNo) {
+ this.certNo = certNo;
+ }
+
+ @Override
+ public String toString() {
+ return "CounterPartyDTO{" + "certType='" + certType + '\'' + ", certNo='" + certNo + '\'' + '}';
+ }
+}
diff --git a/src/main/java/com/engine/htxc/contract/dto/CurrencyEnum.java b/src/main/java/com/engine/htxc/contract/dto/CurrencyEnum.java
new file mode 100644
index 0000000..f901793
--- /dev/null
+++ b/src/main/java/com/engine/htxc/contract/dto/CurrencyEnum.java
@@ -0,0 +1,38 @@
+package com.engine.htxc.contract.dto;
+
+/**
+ * @Title: ecology-9
+ * @Company: 泛微软件
+ * @author: K1810050
+ * @version: 1.0
+ * @CreateDate: 2022/9/6 9:48
+ * @Description: 币种
+ * @ModifyLog:
+ **/
+public enum CurrencyEnum {
+ /**
+ :CNY人民币
+ */
+ CNY,
+ /**
+ * HKD港币
+ */
+ HKD,
+ /**
+ * USD美元
+ */
+ USD,
+ /**
+ * EUR欧元
+ */
+ EUR,
+ /**
+ * GBP英镑
+ */
+ GBP,
+ /**
+ * JPY日元
+ */
+ JPY
+
+}
diff --git a/src/main/java/com/engine/htxc/contract/dto/EsealMethodEnum.java b/src/main/java/com/engine/htxc/contract/dto/EsealMethodEnum.java
new file mode 100644
index 0000000..1916cd3
--- /dev/null
+++ b/src/main/java/com/engine/htxc/contract/dto/EsealMethodEnum.java
@@ -0,0 +1,31 @@
+package com.engine.htxc.contract.dto;
+
+/**
+ * @Title: ecology-9
+ * @Company: 泛微软件
+ * @author: K1810050
+ * @version: 1.0
+ * @CreateDate: 2022/8/23 10:41
+ * @Description: 电子用印方式
+ * @ModifyLog:
+ **/
+public enum EsealMethodEnum {
+
+ // 电子件,防伪打印件,对手方电子件,双方在线签署
+ /**
+ * 电子件
+ */
+ E_FILE,
+ /**
+ * 防伪打印件
+ */
+ RXF_FILE,
+ /**
+ * 对手方电子件
+ */
+ OPPOSITE_E_FILE,
+ /**
+ * 双方在线签署
+ */
+ ONLINE_SIGN
+}
diff --git a/src/main/java/com/engine/htxc/contract/dto/ModuleCodeEnum.java b/src/main/java/com/engine/htxc/contract/dto/ModuleCodeEnum.java
new file mode 100644
index 0000000..144ddba
--- /dev/null
+++ b/src/main/java/com/engine/htxc/contract/dto/ModuleCodeEnum.java
@@ -0,0 +1,22 @@
+package com.engine.htxc.contract.dto;
+
+/**
+ * @Title: ecology-9
+ * @Company: 泛微软件
+ * @author: K1810050
+ * @version: 1.0
+ * @CreateDate: 2022/8/2914:33
+ * @Description:
+ * @ModifyLog:
+ **/
+public enum ModuleCodeEnum {
+ /**
+ * 普通合同
+ */
+ NORMAL,
+ /**
+ * 在线签署合同
+ */
+ ONLINE
+
+}
diff --git a/src/main/java/com/engine/htxc/contract/dto/PrintSideEnum.java b/src/main/java/com/engine/htxc/contract/dto/PrintSideEnum.java
new file mode 100644
index 0000000..f76c603
--- /dev/null
+++ b/src/main/java/com/engine/htxc/contract/dto/PrintSideEnum.java
@@ -0,0 +1,22 @@
+package com.engine.htxc.contract.dto;
+
+/**
+ * @Title: ecology-9
+ * @Company: 泛微软件
+ * @author: K1810050
+ * @version: 1.0
+ * @CreateDate: 2022/8/23 10:41
+ * @Description: 单双面打印
+ * @ModifyLog:
+ **/
+public enum PrintSideEnum {
+ // 单面打印,双面打印
+ /**
+ * 单面打印
+ */
+ SINGLE,
+ /**
+ * 双面打印
+ */
+ BOTH
+}
diff --git a/src/main/java/com/engine/htxc/contract/dto/ProcessInfoDTO.java b/src/main/java/com/engine/htxc/contract/dto/ProcessInfoDTO.java
new file mode 100644
index 0000000..d853e97
--- /dev/null
+++ b/src/main/java/com/engine/htxc/contract/dto/ProcessInfoDTO.java
@@ -0,0 +1,45 @@
+package com.engine.htxc.contract.dto;
+
+import java.io.Serializable;
+
+/**
+ * @Title: ecology-9
+ * @Company: 泛微软件
+ * @author: K1810050
+ * @version: 1.0
+ * @CreateDate: 2022/8/23 10:41
+ * @Description: 发起后返回流程信息
+ * @ModifyLog:
+ **/
+public class ProcessInfoDTO implements Serializable {
+ /**
+ * 流程id
+ */
+ private String requestId;
+
+ /**
+ * 流程编号
+ */
+ private String workflowNo;
+
+ public String getRequestId() {
+ return requestId;
+ }
+
+ public void setRequestId(String requestId) {
+ this.requestId = requestId;
+ }
+
+ public String getWorkflowNo() {
+ return workflowNo;
+ }
+
+ public void setWorkflowNo(String workflowNo) {
+ this.workflowNo = workflowNo;
+ }
+
+ @Override
+ public String toString() {
+ return "ProcessInfoDTO{" + "requestId='" + requestId + '\'' + ", workflowNo='" + workflowNo + '\'' + '}';
+ }
+}
diff --git a/src/main/java/com/engine/htxc/contract/dto/ProductCounterPartyDTO.java b/src/main/java/com/engine/htxc/contract/dto/ProductCounterPartyDTO.java
new file mode 100644
index 0000000..0990ef3
--- /dev/null
+++ b/src/main/java/com/engine/htxc/contract/dto/ProductCounterPartyDTO.java
@@ -0,0 +1,97 @@
+package com.engine.htxc.contract.dto;
+
+import java.io.Serializable;
+
+/**
+ * @Title: ecology-9
+ * @Company: 泛微软件
+ * @author: K1810050
+ * @version: 1.0
+ * @CreateDate: 2022/8/23 16:57
+ * @Description: 产品对手方关系
+ * @ModifyLog:
+ **/
+public class ProductCounterPartyDTO implements Serializable {
+ /**
+ * 产品名称
+ */
+ private String productName;
+
+ /**
+ * 产品唯一标识
+ */
+ private String productCode;
+ /**
+ * 证件类型
+ */
+ private String certType;
+
+ /**
+ * 证件号码: 统一社会信用代码,身份证
+ */
+ private String certNo;
+ /**
+ * 对手方名称
+ */
+ private String counterPartyName;
+
+ /**
+ * 机构类型 个人 企业
+ */
+ private String counterPartyType;
+
+ public String getProductName() {
+ return productName;
+ }
+
+ public void setProductName(String productName) {
+ this.productName = productName;
+ }
+
+ public String getProductCode() {
+ return productCode;
+ }
+
+ public void setProductCode(String productCode) {
+ this.productCode = productCode;
+ }
+
+ public String getCertType() {
+ return certType;
+ }
+
+ public void setCertType(String certType) {
+ this.certType = certType;
+ }
+
+ public String getCertNo() {
+ return certNo;
+ }
+
+ public void setCertNo(String certNo) {
+ this.certNo = certNo;
+ }
+
+ public String getCounterPartyName() {
+ return counterPartyName;
+ }
+
+ public void setCounterPartyName(String counterPartyName) {
+ this.counterPartyName = counterPartyName;
+ }
+
+ public String getCounterPartyType() {
+ return counterPartyType;
+ }
+
+ public void setCounterPartyType(String counterPartyType) {
+ this.counterPartyType = counterPartyType;
+ }
+
+ @Override
+ public String toString() {
+ return "ProductCounterPartyDTO{" + "productName='" + productName + '\'' + ", productCode='" + productCode + '\''
+ + ", certType='" + certType + '\'' + ", certNo='" + certNo + '\'' + ", counterPartyName='"
+ + counterPartyName + '\'' + ", counterPartyType='" + counterPartyType + '\'' + '}';
+ }
+}
diff --git a/src/main/java/com/engine/htxc/contract/dto/ProductCounterpartyEnum.java b/src/main/java/com/engine/htxc/contract/dto/ProductCounterpartyEnum.java
new file mode 100644
index 0000000..c681d6d
--- /dev/null
+++ b/src/main/java/com/engine/htxc/contract/dto/ProductCounterpartyEnum.java
@@ -0,0 +1,18 @@
+package com.engine.htxc.contract.dto;
+
+/**
+ * @Title: ecology-9
+ * @Company: 泛微软件
+ * @author: K1810050
+ * @version: 1.0
+ * @CreateDate: 2022/8/2317:07
+ * @Description: 添加产品对手方结果
+ * @ModifyLog:
+ **/
+public enum ProductCounterpartyEnum {
+ CREATE_SUCCESS,
+ PRODUCT_EXIST,
+ COUNTERPARTY_EXIST,
+ PRODUCT_COUNTERPARTY_EXIST,
+ PRODUCT_OTHER_COUNTERPARTY_EXIST
+}
diff --git a/src/main/java/com/engine/htxc/contract/dto/ProductInfoDTO.java b/src/main/java/com/engine/htxc/contract/dto/ProductInfoDTO.java
new file mode 100644
index 0000000..aed4e97
--- /dev/null
+++ b/src/main/java/com/engine/htxc/contract/dto/ProductInfoDTO.java
@@ -0,0 +1,45 @@
+package com.engine.htxc.contract.dto;
+
+import java.io.Serializable;
+
+/**
+ * @Title: ecology-9
+ * @Company: 泛微软件
+ * @author: K1810050
+ * @version: 1.0
+ * @CreateDate: 2022/8/18 21:18
+ * @Description: 产品信息DTO
+ * @ModifyLog:
+ **/
+public class ProductInfoDTO implements Serializable {
+ /**
+ * 产品名称
+ */
+ private String productName;
+
+ /**
+ * 产品id;
+ */
+ private String productId;
+
+ public String getProductName() {
+ return productName;
+ }
+
+ public void setProductName(String productName) {
+ this.productName = productName;
+ }
+
+ public String getProductId() {
+ return productId;
+ }
+
+ public void setProductId(String productId) {
+ this.productId = productId;
+ }
+
+ @Override
+ public String toString() {
+ return "ProductInfoDTO{" + "productName='" + productName + '\'' + ", productId='" + productId + '\'' + '}';
+ }
+}
diff --git a/src/main/java/com/engine/htxc/contract/dto/SealMethodEnum.java b/src/main/java/com/engine/htxc/contract/dto/SealMethodEnum.java
new file mode 100644
index 0000000..fb30bc4
--- /dev/null
+++ b/src/main/java/com/engine/htxc/contract/dto/SealMethodEnum.java
@@ -0,0 +1,30 @@
+package com.engine.htxc.contract.dto;
+
+/**
+ * @Title: ecology-9
+ * @Company: 泛微软件
+ * @author: K1810050
+ * @version: 1.0
+ * @CreateDate: 2022/8/23 10:43
+ * @Description: 用印方式
+ * @ModifyLog:
+ **/
+public enum SealMethodEnum {
+ // 电子用印,物理用印,物理和电子,不用印
+ /**
+ * 电子用印
+ */
+ E_SEAL,
+ /**
+ * 物理用印
+ */
+ PHYSIC_SEAL,
+ /**
+ * 物理和电子
+ */
+ E_PHYSIC_SEAL,
+ /**
+ * 不用印
+ */
+ NO_SEAL
+}
diff --git a/src/main/java/com/engine/htxc/contract/dto/SecretLevelEnum.java b/src/main/java/com/engine/htxc/contract/dto/SecretLevelEnum.java
new file mode 100644
index 0000000..1f16cb3
--- /dev/null
+++ b/src/main/java/com/engine/htxc/contract/dto/SecretLevelEnum.java
@@ -0,0 +1,19 @@
+package com.engine.htxc.contract.dto;
+
+/**
+ * @Title: ecology-9
+ * @Company: 泛微软件
+ * @author: K1810050
+ * @version: 1.0
+ * @CreateDate: 2022/8/18 21:19
+ * @Description: 安全等级 枚举值:普通商密,核心商密,外部公开,内部公开
+ * @ModifyLog:
+ **/
+public enum SecretLevelEnum {
+
+ NORMAL_BUSINESS_SECRET,
+ CORE_BUSINESS_SECRET,
+ EXTERNAL_PUBLIC,
+ INTERNAL_PUBLIC,
+
+}
diff --git a/src/main/java/com/engine/htxc/contract/dto/TextSourceEnum.java b/src/main/java/com/engine/htxc/contract/dto/TextSourceEnum.java
new file mode 100644
index 0000000..420d3b0
--- /dev/null
+++ b/src/main/java/com/engine/htxc/contract/dto/TextSourceEnum.java
@@ -0,0 +1,26 @@
+package com.engine.htxc.contract.dto;
+
+/**
+ * @Title: ecology-9
+ * @Company: 泛微软件
+ * @author: K1810050
+ * @version: 1.0
+ * @CreateDate: 2022/8/23 10:43
+ * @Description: 文本来源
+ * @ModifyLog:
+ **/
+public enum TextSourceEnum {
+ /**
+ * 本地上传
+ */
+ LOCAL,
+ /**
+ * 标准文本
+ */
+ STANDARD,
+ /**
+ * 示范文本
+ */
+ EXAMPLE
+
+}
diff --git a/src/main/java/com/engine/htxc/contract/dto/UrgencyEum.java b/src/main/java/com/engine/htxc/contract/dto/UrgencyEum.java
new file mode 100644
index 0000000..e22a5f5
--- /dev/null
+++ b/src/main/java/com/engine/htxc/contract/dto/UrgencyEum.java
@@ -0,0 +1,25 @@
+package com.engine.htxc.contract.dto;
+
+/**
+ * @Title: ecology-9
+ * @Company: 泛微软件
+ * @author: K1810050
+ * @version: 1.0
+ * @CreateDate: 2022/8/18 21:21
+ * @Description: 紧急程度 枚举值:一般 紧急 特急
+ * @ModifyLog:
+ **/
+public enum UrgencyEum {
+ /**
+ * 一般
+ */
+ NORMAL,
+ /**
+ * 紧急
+ */
+ URGENT,
+ /**
+ * 特急
+ */
+ EXTRA_URGENT
+}
diff --git a/src/main/java/com/engine/htxc/contract/dto/UseTextEnum.java b/src/main/java/com/engine/htxc/contract/dto/UseTextEnum.java
new file mode 100644
index 0000000..0bb4727
--- /dev/null
+++ b/src/main/java/com/engine/htxc/contract/dto/UseTextEnum.java
@@ -0,0 +1,21 @@
+package com.engine.htxc.contract.dto;
+
+/**
+ * @Title: ecology-9
+ * @Company: 泛微软件
+ * @author: K1810050
+ * @version: 1.0
+ * @CreateDate: 2022/8/18 21:22
+ * @Description: 是否使用范本
+ * @ModifyLog:
+ **/
+public enum UseTextEnum {
+ /**
+ * 使用范本
+ */
+ USE_TEXT,
+ /**
+ * 未使用范本
+ */
+ NO_TEXT
+}
diff --git a/src/main/java/com/engine/htxc/contract/dto/UserDeptInfoDTO.java b/src/main/java/com/engine/htxc/contract/dto/UserDeptInfoDTO.java
new file mode 100644
index 0000000..8a5f1d5
--- /dev/null
+++ b/src/main/java/com/engine/htxc/contract/dto/UserDeptInfoDTO.java
@@ -0,0 +1,48 @@
+package com.engine.htxc.contract.dto;
+
+import java.io.Serializable;
+
+/**
+ * @Title: ecology-9
+ * @Company: 泛微软件
+ * @author: K1810050
+ * @version: 1.0
+ * @CreateDate: 2022/8/2913:30
+ * @Description:
+ * @ModifyLog:
+ **/
+public class UserDeptInfoDTO implements Serializable {
+ private String userCode;
+ private String deptCode;
+ private String jobCode;
+
+ public String getUserCode() {
+ return userCode;
+ }
+
+ public void setUserCode(String userCode) {
+ this.userCode = userCode;
+ }
+
+ public String getDeptCode() {
+ return deptCode;
+ }
+
+ public void setDeptCode(String deptCode) {
+ this.deptCode = deptCode;
+ }
+
+ public String getJobCode() {
+ return jobCode;
+ }
+
+ public void setJobCode(String jobCode) {
+ this.jobCode = jobCode;
+ }
+
+ @Override
+ public String toString() {
+ return "UserDeptInfoDTO{" + "userCode='" + userCode + '\'' + ", deptCode='" + deptCode + '\'' + ", jobCode='"
+ + jobCode + '\'' + '}';
+ }
+}
diff --git a/src/main/java/com/engine/htxc/contract/entity/CghtMainEntity.java b/src/main/java/com/engine/htxc/contract/entity/CghtMainEntity.java
new file mode 100644
index 0000000..4b27051
--- /dev/null
+++ b/src/main/java/com/engine/htxc/contract/entity/CghtMainEntity.java
@@ -0,0 +1,932 @@
+package com.engine.htxc.contract.entity;
+
+/**
+ * @Title: ecology-9
+ * @Company: 泛微软件
+ * @author: K1810050
+ * @version: 1.0
+ * @CreateDate: 2022/8/18 21:23
+ * @Description: 采购发起合同Entity
+ * @ModifyLog:
+ **/
+public class CghtMainEntity {
+ private Integer id;
+
+ private Integer requestid;
+
+ private Integer sfsymbfb;
+
+ private String htmc;
+
+ private Integer bmdj;
+
+ private Integer formmodeid;
+
+ private Integer modedatacreater;
+
+ private Integer modedatacreatertype;
+
+ private String modedatacreatedate;
+
+ private String modedatacreatetime;
+
+ private Integer modedatamodifier;
+
+ private String modedatamodifydatetime;
+
+ private String modeuuid;
+
+ private Integer sfsw;
+
+ private Integer htjexz;
+
+ private Integer bz;
+
+ private String htjedx;
+
+ private Integer sflx;
+
+ private Integer sffs;
+
+ private Integer sfxjwfk;
+
+ private String wdsfyy;
+
+ private Integer zt;
+
+ private String htbh;
+
+ private String htlx;
+
+ private Integer htzwbj;
+
+ private Integer htxz;
+
+ private String htdsf;
+
+ private String htzje;
+
+ private String zhrmb;
+
+ private String sfwdsf;
+
+ private String glht;
+
+ private Integer qcbm;
+
+ private Integer qcjg;
+
+ private String htzw;
+
+ private String htzwfzzd;
+
+ private String htfj;
+
+ private String htfjfzzd;
+
+ private String beizhu;
+
+ private String syyhsxm;
+
+ private String htzwdzyyj;
+
+ private String htfjdzyyj;
+
+ private String fhtlx;
+
+ private String fid;
+
+ private String bgjlbd;
+
+ private Integer fpxz;
+
+ private String sh;
+
+ private String htlxwb;
+
+ private Integer bzhlz;
+
+ private String jshjje;
+
+ private String xzfb;
+
+ private Integer jsbz;
+
+ private String sfktj;
+
+ private String wsymbyy;
+
+ private String qcrq;
+
+ private Integer htsplcrequestid;
+
+ private Integer yyjgdzt;
+
+ private Integer dqbb;
+
+ private String yyjdbs;
+
+ private String cyyz;
+
+ private Integer qcr;
+
+ private String symblj;
+
+ private String syscode;
+
+ private String modulecode;
+
+ private Integer lkrqsfytsyq;
+
+ private String tsyqms;
+
+ private String yyrq;
+
+ private String htqsj;
+
+ private String fzyy;
+
+ private String fzrq;
+
+ private String htgdj;
+
+ private String jsgdrq;
+
+ private String ndgdrq;
+
+ private String gdbz;
+
+ private Integer gdlx;
+
+ private String lyks;
+
+ private String lyjs;
+
+ private String lyjh;
+
+ private Integer mqyfje;
+
+ private Integer htyfje;
+
+ private Integer fkqs;
+
+ private Integer sfymqlyrq;
+
+ private String gllc;
+
+ private Integer yjlyscdwt;
+
+ private String xgcgx;
+
+ private String glqsxx;
+
+ private String glfzxx;
+
+ private String glgdxx;
+
+ private String gllyxx;
+
+ private Integer dfkje;
+
+ private String yfkbl;
+
+ private String htspr;
+
+ private String yz;
+
+ public Integer getId() {
+ return id;
+ }
+
+ public void setId(Integer id) {
+ this.id = id;
+ }
+
+ public Integer getRequestid() {
+ return requestid;
+ }
+
+ public void setRequestid(Integer requestid) {
+ this.requestid = requestid;
+ }
+
+ public Integer getSfsymbfb() {
+ return sfsymbfb;
+ }
+
+ public void setSfsymbfb(Integer sfsymbfb) {
+ this.sfsymbfb = sfsymbfb;
+ }
+
+ public String getHtmc() {
+ return htmc;
+ }
+
+ public void setHtmc(String htmc) {
+ this.htmc = htmc;
+ }
+
+ public Integer getBmdj() {
+ return bmdj;
+ }
+
+ public void setBmdj(Integer bmdj) {
+ this.bmdj = bmdj;
+ }
+
+ public Integer getFormmodeid() {
+ return formmodeid;
+ }
+
+ public void setFormmodeid(Integer formmodeid) {
+ this.formmodeid = formmodeid;
+ }
+
+ public Integer getModedatacreater() {
+ return modedatacreater;
+ }
+
+ public void setModedatacreater(Integer modedatacreater) {
+ this.modedatacreater = modedatacreater;
+ }
+
+ public Integer getModedatacreatertype() {
+ return modedatacreatertype;
+ }
+
+ public void setModedatacreatertype(Integer modedatacreatertype) {
+ this.modedatacreatertype = modedatacreatertype;
+ }
+
+ public String getModedatacreatedate() {
+ return modedatacreatedate;
+ }
+
+ public void setModedatacreatedate(String modedatacreatedate) {
+ this.modedatacreatedate = modedatacreatedate;
+ }
+
+ public String getModedatacreatetime() {
+ return modedatacreatetime;
+ }
+
+ public void setModedatacreatetime(String modedatacreatetime) {
+ this.modedatacreatetime = modedatacreatetime;
+ }
+
+ public Integer getModedatamodifier() {
+ return modedatamodifier;
+ }
+
+ public void setModedatamodifier(Integer modedatamodifier) {
+ this.modedatamodifier = modedatamodifier;
+ }
+
+ public String getModedatamodifydatetime() {
+ return modedatamodifydatetime;
+ }
+
+ public void setModedatamodifydatetime(String modedatamodifydatetime) {
+ this.modedatamodifydatetime = modedatamodifydatetime;
+ }
+
+ public String getModeuuid() {
+ return modeuuid;
+ }
+
+ public void setModeuuid(String modeuuid) {
+ this.modeuuid = modeuuid;
+ }
+
+ public Integer getSfsw() {
+ return sfsw;
+ }
+
+ public void setSfsw(Integer sfsw) {
+ this.sfsw = sfsw;
+ }
+
+ public Integer getHtjexz() {
+ return htjexz;
+ }
+
+ public void setHtjexz(Integer htjexz) {
+ this.htjexz = htjexz;
+ }
+
+ public Integer getBz() {
+ return bz;
+ }
+
+ public void setBz(Integer bz) {
+ this.bz = bz;
+ }
+
+ public String getHtjedx() {
+ return htjedx;
+ }
+
+ public void setHtjedx(String htjedx) {
+ this.htjedx = htjedx;
+ }
+
+ public Integer getSflx() {
+ return sflx;
+ }
+
+ public void setSflx(Integer sflx) {
+ this.sflx = sflx;
+ }
+
+ public Integer getSffs() {
+ return sffs;
+ }
+
+ public void setSffs(Integer sffs) {
+ this.sffs = sffs;
+ }
+
+ public Integer getSfxjwfk() {
+ return sfxjwfk;
+ }
+
+ public void setSfxjwfk(Integer sfxjwfk) {
+ this.sfxjwfk = sfxjwfk;
+ }
+
+ public String getWdsfyy() {
+ return wdsfyy;
+ }
+
+ public void setWdsfyy(String wdsfyy) {
+ this.wdsfyy = wdsfyy;
+ }
+
+ public Integer getZt() {
+ return zt;
+ }
+
+ public void setZt(Integer zt) {
+ this.zt = zt;
+ }
+
+ public String getHtbh() {
+ return htbh;
+ }
+
+ public void setHtbh(String htbh) {
+ this.htbh = htbh;
+ }
+
+ public String getHtlx() {
+ return htlx;
+ }
+
+ public void setHtlx(String htlx) {
+ this.htlx = htlx;
+ }
+
+ public Integer getHtzwbj() {
+ return htzwbj;
+ }
+
+ public void setHtzwbj(Integer htzwbj) {
+ this.htzwbj = htzwbj;
+ }
+
+ public Integer getHtxz() {
+ return htxz;
+ }
+
+ public void setHtxz(Integer htxz) {
+ this.htxz = htxz;
+ }
+
+ public String getHtdsf() {
+ return htdsf;
+ }
+
+ public void setHtdsf(String htdsf) {
+ this.htdsf = htdsf;
+ }
+
+ public String getHtzje() {
+ return htzje;
+ }
+
+ public void setHtzje(String htzje) {
+ this.htzje = htzje;
+ }
+
+ public String getZhrmb() {
+ return zhrmb;
+ }
+
+ public void setZhrmb(String zhrmb) {
+ this.zhrmb = zhrmb;
+ }
+
+ public String getSfwdsf() {
+ return sfwdsf;
+ }
+
+ public void setSfwdsf(String sfwdsf) {
+ this.sfwdsf = sfwdsf;
+ }
+
+ public String getGlht() {
+ return glht;
+ }
+
+ public void setGlht(String glht) {
+ this.glht = glht;
+ }
+
+ public Integer getQcbm() {
+ return qcbm;
+ }
+
+ public void setQcbm(Integer qcbm) {
+ this.qcbm = qcbm;
+ }
+
+ public Integer getQcjg() {
+ return qcjg;
+ }
+
+ public void setQcjg(Integer qcjg) {
+ this.qcjg = qcjg;
+ }
+
+ public String getHtzw() {
+ return htzw;
+ }
+
+ public void setHtzw(String htzw) {
+ this.htzw = htzw;
+ }
+
+ public String getHtzwfzzd() {
+ return htzwfzzd;
+ }
+
+ public void setHtzwfzzd(String htzwfzzd) {
+ this.htzwfzzd = htzwfzzd;
+ }
+
+ public String getHtfj() {
+ return htfj;
+ }
+
+ public void setHtfj(String htfj) {
+ this.htfj = htfj;
+ }
+
+ public String getHtfjfzzd() {
+ return htfjfzzd;
+ }
+
+ public void setHtfjfzzd(String htfjfzzd) {
+ this.htfjfzzd = htfjfzzd;
+ }
+
+ public String getBeizhu() {
+ return beizhu;
+ }
+
+ public void setBeizhu(String beizhu) {
+ this.beizhu = beizhu;
+ }
+
+ public String getSyyhsxm() {
+ return syyhsxm;
+ }
+
+ public void setSyyhsxm(String syyhsxm) {
+ this.syyhsxm = syyhsxm;
+ }
+
+ public String getHtzwdzyyj() {
+ return htzwdzyyj;
+ }
+
+ public void setHtzwdzyyj(String htzwdzyyj) {
+ this.htzwdzyyj = htzwdzyyj;
+ }
+
+ public String getHtfjdzyyj() {
+ return htfjdzyyj;
+ }
+
+ public void setHtfjdzyyj(String htfjdzyyj) {
+ this.htfjdzyyj = htfjdzyyj;
+ }
+
+ public String getFhtlx() {
+ return fhtlx;
+ }
+
+ public void setFhtlx(String fhtlx) {
+ this.fhtlx = fhtlx;
+ }
+
+ public String getFid() {
+ return fid;
+ }
+
+ public void setFid(String fid) {
+ this.fid = fid;
+ }
+
+ public String getBgjlbd() {
+ return bgjlbd;
+ }
+
+ public void setBgjlbd(String bgjlbd) {
+ this.bgjlbd = bgjlbd;
+ }
+
+ public Integer getFpxz() {
+ return fpxz;
+ }
+
+ public void setFpxz(Integer fpxz) {
+ this.fpxz = fpxz;
+ }
+
+ public String getSh() {
+ return sh;
+ }
+
+ public void setSh(String sh) {
+ this.sh = sh;
+ }
+
+ public String getHtlxwb() {
+ return htlxwb;
+ }
+
+ public void setHtlxwb(String htlxwb) {
+ this.htlxwb = htlxwb;
+ }
+
+ public Integer getBzhlz() {
+ return bzhlz;
+ }
+
+ public void setBzhlz(Integer bzhlz) {
+ this.bzhlz = bzhlz;
+ }
+
+ public String getJshjje() {
+ return jshjje;
+ }
+
+ public void setJshjje(String jshjje) {
+ this.jshjje = jshjje;
+ }
+
+ public String getXzfb() {
+ return xzfb;
+ }
+
+ public void setXzfb(String xzfb) {
+ this.xzfb = xzfb;
+ }
+
+ public Integer getJsbz() {
+ return jsbz;
+ }
+
+ public void setJsbz(Integer jsbz) {
+ this.jsbz = jsbz;
+ }
+
+ public String getSfktj() {
+ return sfktj;
+ }
+
+ public void setSfktj(String sfktj) {
+ this.sfktj = sfktj;
+ }
+
+ public String getWsymbyy() {
+ return wsymbyy;
+ }
+
+ public void setWsymbyy(String wsymbyy) {
+ this.wsymbyy = wsymbyy;
+ }
+
+ public String getQcrq() {
+ return qcrq;
+ }
+
+ public void setQcrq(String qcrq) {
+ this.qcrq = qcrq;
+ }
+
+ public Integer getHtsplcrequestid() {
+ return htsplcrequestid;
+ }
+
+ public void setHtsplcrequestid(Integer htsplcrequestid) {
+ this.htsplcrequestid = htsplcrequestid;
+ }
+
+ public Integer getYyjgdzt() {
+ return yyjgdzt;
+ }
+
+ public void setYyjgdzt(Integer yyjgdzt) {
+ this.yyjgdzt = yyjgdzt;
+ }
+
+ public Integer getDqbb() {
+ return dqbb;
+ }
+
+ public void setDqbb(Integer dqbb) {
+ this.dqbb = dqbb;
+ }
+
+ public String getYyjdbs() {
+ return yyjdbs;
+ }
+
+ public void setYyjdbs(String yyjdbs) {
+ this.yyjdbs = yyjdbs;
+ }
+
+ public String getCyyz() {
+ return cyyz;
+ }
+
+ public void setCyyz(String cyyz) {
+ this.cyyz = cyyz;
+ }
+
+ public Integer getQcr() {
+ return qcr;
+ }
+
+ public void setQcr(Integer qcr) {
+ this.qcr = qcr;
+ }
+
+ public String getSymblj() {
+ return symblj;
+ }
+
+ public void setSymblj(String symblj) {
+ this.symblj = symblj;
+ }
+
+ public String getSyscode() {
+ return syscode;
+ }
+
+ public void setSyscode(String syscode) {
+ this.syscode = syscode;
+ }
+
+ public String getModulecode() {
+ return modulecode;
+ }
+
+ public void setModulecode(String modulecode) {
+ this.modulecode = modulecode;
+ }
+
+ public Integer getLkrqsfytsyq() {
+ return lkrqsfytsyq;
+ }
+
+ public void setLkrqsfytsyq(Integer lkrqsfytsyq) {
+ this.lkrqsfytsyq = lkrqsfytsyq;
+ }
+
+ public String getTsyqms() {
+ return tsyqms;
+ }
+
+ public void setTsyqms(String tsyqms) {
+ this.tsyqms = tsyqms;
+ }
+
+ public String getYyrq() {
+ return yyrq;
+ }
+
+ public void setYyrq(String yyrq) {
+ this.yyrq = yyrq;
+ }
+
+ public String getHtqsj() {
+ return htqsj;
+ }
+
+ public void setHtqsj(String htqsj) {
+ this.htqsj = htqsj;
+ }
+
+ public String getFzyy() {
+ return fzyy;
+ }
+
+ public void setFzyy(String fzyy) {
+ this.fzyy = fzyy;
+ }
+
+ public String getFzrq() {
+ return fzrq;
+ }
+
+ public void setFzrq(String fzrq) {
+ this.fzrq = fzrq;
+ }
+
+ public String getHtgdj() {
+ return htgdj;
+ }
+
+ public void setHtgdj(String htgdj) {
+ this.htgdj = htgdj;
+ }
+
+ public String getJsgdrq() {
+ return jsgdrq;
+ }
+
+ public void setJsgdrq(String jsgdrq) {
+ this.jsgdrq = jsgdrq;
+ }
+
+ public String getNdgdrq() {
+ return ndgdrq;
+ }
+
+ public void setNdgdrq(String ndgdrq) {
+ this.ndgdrq = ndgdrq;
+ }
+
+ public String getGdbz() {
+ return gdbz;
+ }
+
+ public void setGdbz(String gdbz) {
+ this.gdbz = gdbz;
+ }
+
+ public Integer getGdlx() {
+ return gdlx;
+ }
+
+ public void setGdlx(Integer gdlx) {
+ this.gdlx = gdlx;
+ }
+
+ public String getLyks() {
+ return lyks;
+ }
+
+ public void setLyks(String lyks) {
+ this.lyks = lyks;
+ }
+
+ public String getLyjs() {
+ return lyjs;
+ }
+
+ public void setLyjs(String lyjs) {
+ this.lyjs = lyjs;
+ }
+
+ public String getLyjh() {
+ return lyjh;
+ }
+
+ public void setLyjh(String lyjh) {
+ this.lyjh = lyjh;
+ }
+
+ public Integer getMqyfje() {
+ return mqyfje;
+ }
+
+ public void setMqyfje(Integer mqyfje) {
+ this.mqyfje = mqyfje;
+ }
+
+ public Integer getHtyfje() {
+ return htyfje;
+ }
+
+ public void setHtyfje(Integer htyfje) {
+ this.htyfje = htyfje;
+ }
+
+ public Integer getFkqs() {
+ return fkqs;
+ }
+
+ public void setFkqs(Integer fkqs) {
+ this.fkqs = fkqs;
+ }
+
+ public Integer getSfymqlyrq() {
+ return sfymqlyrq;
+ }
+
+ public void setSfymqlyrq(Integer sfymqlyrq) {
+ this.sfymqlyrq = sfymqlyrq;
+ }
+
+ public String getGllc() {
+ return gllc;
+ }
+
+ public void setGllc(String gllc) {
+ this.gllc = gllc;
+ }
+
+ public Integer getYjlyscdwt() {
+ return yjlyscdwt;
+ }
+
+ public void setYjlyscdwt(Integer yjlyscdwt) {
+ this.yjlyscdwt = yjlyscdwt;
+ }
+
+ public String getXgcgx() {
+ return xgcgx;
+ }
+
+ public void setXgcgx(String xgcgx) {
+ this.xgcgx = xgcgx;
+ }
+
+ public String getGlqsxx() {
+ return glqsxx;
+ }
+
+ public void setGlqsxx(String glqsxx) {
+ this.glqsxx = glqsxx;
+ }
+
+ public String getGlfzxx() {
+ return glfzxx;
+ }
+
+ public void setGlfzxx(String glfzxx) {
+ this.glfzxx = glfzxx;
+ }
+
+ public String getGlgdxx() {
+ return glgdxx;
+ }
+
+ public void setGlgdxx(String glgdxx) {
+ this.glgdxx = glgdxx;
+ }
+
+ public String getGllyxx() {
+ return gllyxx;
+ }
+
+ public void setGllyxx(String gllyxx) {
+ this.gllyxx = gllyxx;
+ }
+
+ public Integer getDfkje() {
+ return dfkje;
+ }
+
+ public void setDfkje(Integer dfkje) {
+ this.dfkje = dfkje;
+ }
+
+ public String getYfkbl() {
+ return yfkbl;
+ }
+
+ public void setYfkbl(String yfkbl) {
+ this.yfkbl = yfkbl;
+ }
+
+ public String getHtspr() {
+ return htspr;
+ }
+
+ public void setHtspr(String htspr) {
+ this.htspr = htspr;
+ }
+
+ public String getYz() {
+ return yz;
+ }
+
+ public void setYz(String yz) {
+ this.yz = yz;
+ }
+}
diff --git a/src/main/java/com/engine/htxc/contract/entity/Docdetail.java b/src/main/java/com/engine/htxc/contract/entity/Docdetail.java
new file mode 100644
index 0000000..7d6538f
--- /dev/null
+++ b/src/main/java/com/engine/htxc/contract/entity/Docdetail.java
@@ -0,0 +1,1112 @@
+package com.engine.htxc.contract.entity;
+
+/**
+ * @Title: ecology-9
+ * @Company: 泛微软件
+ * @author: K1810050
+ * @version: 1.0
+ * @CreateDate: 2022/8/18 21:24
+ * @Description: 文档详情表entity
+ * @ModifyLog:
+ **/
+public class Docdetail {
+ private Integer id;
+
+ private Integer maincategory;
+
+ private Integer subcategory;
+
+ private Integer seccategory;
+
+ private Integer doctype;
+
+ private Integer doclangurage;
+
+ private String docapprovable;
+
+ private String docreplyable;
+
+ private String isreply;
+
+ private Integer replydocid;
+
+ private String docsubject;
+
+ private String docsharetype;
+
+ private Integer shareroleid;
+
+ private String docpublishtype;
+
+ private Integer itemid;
+
+ private Integer itemmaincategoryid;
+
+ private Integer hrmresid;
+
+ private Integer crmid;
+
+ private Integer projectid;
+
+ private Integer financeid;
+
+ private Integer financerefenceid1;
+
+ private Integer financerefenceid2;
+
+ private Integer doccreaterid;
+
+ private Integer docdepartmentid;
+
+ private String doccreatedate;
+
+ private String doccreatetime;
+
+ private Integer doclastmoduserid;
+
+ private String doclastmoddate;
+
+ private String doclastmodtime;
+
+ private Integer docapproveuserid;
+
+ private String docapprovedate;
+
+ private String docapprovetime;
+
+ private Integer docarchiveuserid;
+
+ private String docarchivedate;
+
+ private String docarchivetime;
+
+ private String parentids;
+
+ private Integer assetid;
+
+ private Integer ownerid;
+
+ private String keyword;
+
+ private Integer accessorycount;
+
+ private Integer replaydoccount;
+
+ private String usertype;
+
+ private String docno;
+
+ private String cancopy;
+
+ private String canremind;
+
+ private Integer countmark;
+
+ private Integer summark;
+
+ private Integer sumreadcount;
+
+ private String orderable;
+
+ private String docextendname;
+
+ private String doccode;
+
+ private Integer docedition;
+
+ private Integer doceditionid;
+
+ private Integer ishistory;
+
+ private Integer maindoc;
+
+ private Integer approvetype;
+
+ private Integer readoptercanprint;
+
+ private Integer docvaliduserid;
+
+ private String docvaliddate;
+
+ private String docvalidtime;
+
+ private Integer docpubuserid;
+
+ private String docpubdate;
+
+ private String docpubtime;
+
+ private Integer docreopenuserid;
+
+ private String docreopendate;
+
+ private String docreopentime;
+
+ private Integer docinvaluserid;
+
+ private String docinvaldate;
+
+ private String docinvaltime;
+
+ private Integer doccanceluserid;
+
+ private String doccanceldate;
+
+ private String doccanceltime;
+
+ private Integer selectedpubmouldid;
+
+ private String checkoutstatus;
+
+ private Integer checkoutuserid;
+
+ private String checkoutusertype;
+
+ private String checkoutdate;
+
+ private String checkouttime;
+
+ private String hasusedtemplet;
+
+ private String invalidationdate;
+
+ private String doccreatertype;
+
+ private String doclastmodusertype;
+
+ private String docapproveusertype;
+
+ private String docvalidusertype;
+
+ private String docinvalusertype;
+
+ private String docarchiveusertype;
+
+ private String doccancelusertype;
+
+ private String docpubusertype;
+
+ private String docreopenusertype;
+
+ private String ownertype;
+
+ private Integer docstatus;
+
+ private Integer canprintednum;
+
+ private Integer hasprintednum;
+
+ private Integer approverequestid;
+
+ private Integer fromworkflow;
+
+ private Integer istop;
+
+ private String topdate;
+
+ private String toptime;
+
+ private String topstartdate;
+
+ private String topenddate;
+
+ private Integer invalidrequestid;
+
+ private Integer editmouldid;
+
+ private String ecologyPinyinSearch;
+
+ private Integer docvestin;
+
+ private Integer sumdownload;
+
+ private Integer secretlevel;
+
+ private Integer replyremind;
+
+ private String scheduledreleasedate;
+
+ private String secretvalidity;
+
+ private Integer themeshowpic;
+
+ public Integer getId() {
+ return id;
+ }
+
+ public void setId(Integer id) {
+ this.id = id;
+ }
+
+ public Integer getMaincategory() {
+ return maincategory;
+ }
+
+ public void setMaincategory(Integer maincategory) {
+ this.maincategory = maincategory;
+ }
+
+ public Integer getSubcategory() {
+ return subcategory;
+ }
+
+ public void setSubcategory(Integer subcategory) {
+ this.subcategory = subcategory;
+ }
+
+ public Integer getSeccategory() {
+ return seccategory;
+ }
+
+ public void setSeccategory(Integer seccategory) {
+ this.seccategory = seccategory;
+ }
+
+ public Integer getDoctype() {
+ return doctype;
+ }
+
+ public void setDoctype(Integer doctype) {
+ this.doctype = doctype;
+ }
+
+ public Integer getDoclangurage() {
+ return doclangurage;
+ }
+
+ public void setDoclangurage(Integer doclangurage) {
+ this.doclangurage = doclangurage;
+ }
+
+ public String getDocapprovable() {
+ return docapprovable;
+ }
+
+ public void setDocapprovable(String docapprovable) {
+ this.docapprovable = docapprovable;
+ }
+
+ public String getDocreplyable() {
+ return docreplyable;
+ }
+
+ public void setDocreplyable(String docreplyable) {
+ this.docreplyable = docreplyable;
+ }
+
+ public String getIsreply() {
+ return isreply;
+ }
+
+ public void setIsreply(String isreply) {
+ this.isreply = isreply;
+ }
+
+ public Integer getReplydocid() {
+ return replydocid;
+ }
+
+ public void setReplydocid(Integer replydocid) {
+ this.replydocid = replydocid;
+ }
+
+ public String getDocsubject() {
+ return docsubject;
+ }
+
+ public void setDocsubject(String docsubject) {
+ this.docsubject = docsubject;
+ }
+
+ public String getDocsharetype() {
+ return docsharetype;
+ }
+
+ public void setDocsharetype(String docsharetype) {
+ this.docsharetype = docsharetype;
+ }
+
+ public Integer getShareroleid() {
+ return shareroleid;
+ }
+
+ public void setShareroleid(Integer shareroleid) {
+ this.shareroleid = shareroleid;
+ }
+
+ public String getDocpublishtype() {
+ return docpublishtype;
+ }
+
+ public void setDocpublishtype(String docpublishtype) {
+ this.docpublishtype = docpublishtype;
+ }
+
+ public Integer getItemid() {
+ return itemid;
+ }
+
+ public void setItemid(Integer itemid) {
+ this.itemid = itemid;
+ }
+
+ public Integer getItemmaincategoryid() {
+ return itemmaincategoryid;
+ }
+
+ public void setItemmaincategoryid(Integer itemmaincategoryid) {
+ this.itemmaincategoryid = itemmaincategoryid;
+ }
+
+ public Integer getHrmresid() {
+ return hrmresid;
+ }
+
+ public void setHrmresid(Integer hrmresid) {
+ this.hrmresid = hrmresid;
+ }
+
+ public Integer getCrmid() {
+ return crmid;
+ }
+
+ public void setCrmid(Integer crmid) {
+ this.crmid = crmid;
+ }
+
+ public Integer getProjectid() {
+ return projectid;
+ }
+
+ public void setProjectid(Integer projectid) {
+ this.projectid = projectid;
+ }
+
+ public Integer getFinanceid() {
+ return financeid;
+ }
+
+ public void setFinanceid(Integer financeid) {
+ this.financeid = financeid;
+ }
+
+ public Integer getFinancerefenceid1() {
+ return financerefenceid1;
+ }
+
+ public void setFinancerefenceid1(Integer financerefenceid1) {
+ this.financerefenceid1 = financerefenceid1;
+ }
+
+ public Integer getFinancerefenceid2() {
+ return financerefenceid2;
+ }
+
+ public void setFinancerefenceid2(Integer financerefenceid2) {
+ this.financerefenceid2 = financerefenceid2;
+ }
+
+ public Integer getDoccreaterid() {
+ return doccreaterid;
+ }
+
+ public void setDoccreaterid(Integer doccreaterid) {
+ this.doccreaterid = doccreaterid;
+ }
+
+ public Integer getDocdepartmentid() {
+ return docdepartmentid;
+ }
+
+ public void setDocdepartmentid(Integer docdepartmentid) {
+ this.docdepartmentid = docdepartmentid;
+ }
+
+ public String getDoccreatedate() {
+ return doccreatedate;
+ }
+
+ public void setDoccreatedate(String doccreatedate) {
+ this.doccreatedate = doccreatedate;
+ }
+
+ public String getDoccreatetime() {
+ return doccreatetime;
+ }
+
+ public void setDoccreatetime(String doccreatetime) {
+ this.doccreatetime = doccreatetime;
+ }
+
+ public Integer getDoclastmoduserid() {
+ return doclastmoduserid;
+ }
+
+ public void setDoclastmoduserid(Integer doclastmoduserid) {
+ this.doclastmoduserid = doclastmoduserid;
+ }
+
+ public String getDoclastmoddate() {
+ return doclastmoddate;
+ }
+
+ public void setDoclastmoddate(String doclastmoddate) {
+ this.doclastmoddate = doclastmoddate;
+ }
+
+ public String getDoclastmodtime() {
+ return doclastmodtime;
+ }
+
+ public void setDoclastmodtime(String doclastmodtime) {
+ this.doclastmodtime = doclastmodtime;
+ }
+
+ public Integer getDocapproveuserid() {
+ return docapproveuserid;
+ }
+
+ public void setDocapproveuserid(Integer docapproveuserid) {
+ this.docapproveuserid = docapproveuserid;
+ }
+
+ public String getDocapprovedate() {
+ return docapprovedate;
+ }
+
+ public void setDocapprovedate(String docapprovedate) {
+ this.docapprovedate = docapprovedate;
+ }
+
+ public String getDocapprovetime() {
+ return docapprovetime;
+ }
+
+ public void setDocapprovetime(String docapprovetime) {
+ this.docapprovetime = docapprovetime;
+ }
+
+ public Integer getDocarchiveuserid() {
+ return docarchiveuserid;
+ }
+
+ public void setDocarchiveuserid(Integer docarchiveuserid) {
+ this.docarchiveuserid = docarchiveuserid;
+ }
+
+ public String getDocarchivedate() {
+ return docarchivedate;
+ }
+
+ public void setDocarchivedate(String docarchivedate) {
+ this.docarchivedate = docarchivedate;
+ }
+
+ public String getDocarchivetime() {
+ return docarchivetime;
+ }
+
+ public void setDocarchivetime(String docarchivetime) {
+ this.docarchivetime = docarchivetime;
+ }
+
+ public String getParentids() {
+ return parentids;
+ }
+
+ public void setParentids(String parentids) {
+ this.parentids = parentids;
+ }
+
+ public Integer getAssetid() {
+ return assetid;
+ }
+
+ public void setAssetid(Integer assetid) {
+ this.assetid = assetid;
+ }
+
+ public Integer getOwnerid() {
+ return ownerid;
+ }
+
+ public void setOwnerid(Integer ownerid) {
+ this.ownerid = ownerid;
+ }
+
+ public String getKeyword() {
+ return keyword;
+ }
+
+ public void setKeyword(String keyword) {
+ this.keyword = keyword;
+ }
+
+ public Integer getAccessorycount() {
+ return accessorycount;
+ }
+
+ public void setAccessorycount(Integer accessorycount) {
+ this.accessorycount = accessorycount;
+ }
+
+ public Integer getReplaydoccount() {
+ return replaydoccount;
+ }
+
+ public void setReplaydoccount(Integer replaydoccount) {
+ this.replaydoccount = replaydoccount;
+ }
+
+ public String getUsertype() {
+ return usertype;
+ }
+
+ public void setUsertype(String usertype) {
+ this.usertype = usertype;
+ }
+
+ public String getDocno() {
+ return docno;
+ }
+
+ public void setDocno(String docno) {
+ this.docno = docno;
+ }
+
+ public String getCancopy() {
+ return cancopy;
+ }
+
+ public void setCancopy(String cancopy) {
+ this.cancopy = cancopy;
+ }
+
+ public String getCanremind() {
+ return canremind;
+ }
+
+ public void setCanremind(String canremind) {
+ this.canremind = canremind;
+ }
+
+ public Integer getCountmark() {
+ return countmark;
+ }
+
+ public void setCountmark(Integer countmark) {
+ this.countmark = countmark;
+ }
+
+ public Integer getSummark() {
+ return summark;
+ }
+
+ public void setSummark(Integer summark) {
+ this.summark = summark;
+ }
+
+ public Integer getSumreadcount() {
+ return sumreadcount;
+ }
+
+ public void setSumreadcount(Integer sumreadcount) {
+ this.sumreadcount = sumreadcount;
+ }
+
+ public String getOrderable() {
+ return orderable;
+ }
+
+ public void setOrderable(String orderable) {
+ this.orderable = orderable;
+ }
+
+ public String getDocextendname() {
+ return docextendname;
+ }
+
+ public void setDocextendname(String docextendname) {
+ this.docextendname = docextendname;
+ }
+
+ public String getDoccode() {
+ return doccode;
+ }
+
+ public void setDoccode(String doccode) {
+ this.doccode = doccode;
+ }
+
+ public Integer getDocedition() {
+ return docedition;
+ }
+
+ public void setDocedition(Integer docedition) {
+ this.docedition = docedition;
+ }
+
+ public Integer getDoceditionid() {
+ return doceditionid;
+ }
+
+ public void setDoceditionid(Integer doceditionid) {
+ this.doceditionid = doceditionid;
+ }
+
+ public Integer getIshistory() {
+ return ishistory;
+ }
+
+ public void setIshistory(Integer ishistory) {
+ this.ishistory = ishistory;
+ }
+
+ public Integer getMaindoc() {
+ return maindoc;
+ }
+
+ public void setMaindoc(Integer maindoc) {
+ this.maindoc = maindoc;
+ }
+
+ public Integer getApprovetype() {
+ return approvetype;
+ }
+
+ public void setApprovetype(Integer approvetype) {
+ this.approvetype = approvetype;
+ }
+
+ public Integer getReadoptercanprint() {
+ return readoptercanprint;
+ }
+
+ public void setReadoptercanprint(Integer readoptercanprint) {
+ this.readoptercanprint = readoptercanprint;
+ }
+
+ public Integer getDocvaliduserid() {
+ return docvaliduserid;
+ }
+
+ public void setDocvaliduserid(Integer docvaliduserid) {
+ this.docvaliduserid = docvaliduserid;
+ }
+
+ public String getDocvaliddate() {
+ return docvaliddate;
+ }
+
+ public void setDocvaliddate(String docvaliddate) {
+ this.docvaliddate = docvaliddate;
+ }
+
+ public String getDocvalidtime() {
+ return docvalidtime;
+ }
+
+ public void setDocvalidtime(String docvalidtime) {
+ this.docvalidtime = docvalidtime;
+ }
+
+ public Integer getDocpubuserid() {
+ return docpubuserid;
+ }
+
+ public void setDocpubuserid(Integer docpubuserid) {
+ this.docpubuserid = docpubuserid;
+ }
+
+ public String getDocpubdate() {
+ return docpubdate;
+ }
+
+ public void setDocpubdate(String docpubdate) {
+ this.docpubdate = docpubdate;
+ }
+
+ public String getDocpubtime() {
+ return docpubtime;
+ }
+
+ public void setDocpubtime(String docpubtime) {
+ this.docpubtime = docpubtime;
+ }
+
+ public Integer getDocreopenuserid() {
+ return docreopenuserid;
+ }
+
+ public void setDocreopenuserid(Integer docreopenuserid) {
+ this.docreopenuserid = docreopenuserid;
+ }
+
+ public String getDocreopendate() {
+ return docreopendate;
+ }
+
+ public void setDocreopendate(String docreopendate) {
+ this.docreopendate = docreopendate;
+ }
+
+ public String getDocreopentime() {
+ return docreopentime;
+ }
+
+ public void setDocreopentime(String docreopentime) {
+ this.docreopentime = docreopentime;
+ }
+
+ public Integer getDocinvaluserid() {
+ return docinvaluserid;
+ }
+
+ public void setDocinvaluserid(Integer docinvaluserid) {
+ this.docinvaluserid = docinvaluserid;
+ }
+
+ public String getDocinvaldate() {
+ return docinvaldate;
+ }
+
+ public void setDocinvaldate(String docinvaldate) {
+ this.docinvaldate = docinvaldate;
+ }
+
+ public String getDocinvaltime() {
+ return docinvaltime;
+ }
+
+ public void setDocinvaltime(String docinvaltime) {
+ this.docinvaltime = docinvaltime;
+ }
+
+ public Integer getDoccanceluserid() {
+ return doccanceluserid;
+ }
+
+ public void setDoccanceluserid(Integer doccanceluserid) {
+ this.doccanceluserid = doccanceluserid;
+ }
+
+ public String getDoccanceldate() {
+ return doccanceldate;
+ }
+
+ public void setDoccanceldate(String doccanceldate) {
+ this.doccanceldate = doccanceldate;
+ }
+
+ public String getDoccanceltime() {
+ return doccanceltime;
+ }
+
+ public void setDoccanceltime(String doccanceltime) {
+ this.doccanceltime = doccanceltime;
+ }
+
+ public Integer getSelectedpubmouldid() {
+ return selectedpubmouldid;
+ }
+
+ public void setSelectedpubmouldid(Integer selectedpubmouldid) {
+ this.selectedpubmouldid = selectedpubmouldid;
+ }
+
+ public String getCheckoutstatus() {
+ return checkoutstatus;
+ }
+
+ public void setCheckoutstatus(String checkoutstatus) {
+ this.checkoutstatus = checkoutstatus;
+ }
+
+ public Integer getCheckoutuserid() {
+ return checkoutuserid;
+ }
+
+ public void setCheckoutuserid(Integer checkoutuserid) {
+ this.checkoutuserid = checkoutuserid;
+ }
+
+ public String getCheckoutusertype() {
+ return checkoutusertype;
+ }
+
+ public void setCheckoutusertype(String checkoutusertype) {
+ this.checkoutusertype = checkoutusertype;
+ }
+
+ public String getCheckoutdate() {
+ return checkoutdate;
+ }
+
+ public void setCheckoutdate(String checkoutdate) {
+ this.checkoutdate = checkoutdate;
+ }
+
+ public String getCheckouttime() {
+ return checkouttime;
+ }
+
+ public void setCheckouttime(String checkouttime) {
+ this.checkouttime = checkouttime;
+ }
+
+ public String getHasusedtemplet() {
+ return hasusedtemplet;
+ }
+
+ public void setHasusedtemplet(String hasusedtemplet) {
+ this.hasusedtemplet = hasusedtemplet;
+ }
+
+ public String getInvalidationdate() {
+ return invalidationdate;
+ }
+
+ public void setInvalidationdate(String invalidationdate) {
+ this.invalidationdate = invalidationdate;
+ }
+
+ public String getDoccreatertype() {
+ return doccreatertype;
+ }
+
+ public void setDoccreatertype(String doccreatertype) {
+ this.doccreatertype = doccreatertype;
+ }
+
+ public String getDoclastmodusertype() {
+ return doclastmodusertype;
+ }
+
+ public void setDoclastmodusertype(String doclastmodusertype) {
+ this.doclastmodusertype = doclastmodusertype;
+ }
+
+ public String getDocapproveusertype() {
+ return docapproveusertype;
+ }
+
+ public void setDocapproveusertype(String docapproveusertype) {
+ this.docapproveusertype = docapproveusertype;
+ }
+
+ public String getDocvalidusertype() {
+ return docvalidusertype;
+ }
+
+ public void setDocvalidusertype(String docvalidusertype) {
+ this.docvalidusertype = docvalidusertype;
+ }
+
+ public String getDocinvalusertype() {
+ return docinvalusertype;
+ }
+
+ public void setDocinvalusertype(String docinvalusertype) {
+ this.docinvalusertype = docinvalusertype;
+ }
+
+ public String getDocarchiveusertype() {
+ return docarchiveusertype;
+ }
+
+ public void setDocarchiveusertype(String docarchiveusertype) {
+ this.docarchiveusertype = docarchiveusertype;
+ }
+
+ public String getDoccancelusertype() {
+ return doccancelusertype;
+ }
+
+ public void setDoccancelusertype(String doccancelusertype) {
+ this.doccancelusertype = doccancelusertype;
+ }
+
+ public String getDocpubusertype() {
+ return docpubusertype;
+ }
+
+ public void setDocpubusertype(String docpubusertype) {
+ this.docpubusertype = docpubusertype;
+ }
+
+ public String getDocreopenusertype() {
+ return docreopenusertype;
+ }
+
+ public void setDocreopenusertype(String docreopenusertype) {
+ this.docreopenusertype = docreopenusertype;
+ }
+
+ public String getOwnertype() {
+ return ownertype;
+ }
+
+ public void setOwnertype(String ownertype) {
+ this.ownertype = ownertype;
+ }
+
+ public Integer getDocstatus() {
+ return docstatus;
+ }
+
+ public void setDocstatus(Integer docstatus) {
+ this.docstatus = docstatus;
+ }
+
+ public Integer getCanprintednum() {
+ return canprintednum;
+ }
+
+ public void setCanprintednum(Integer canprintednum) {
+ this.canprintednum = canprintednum;
+ }
+
+ public Integer getHasprintednum() {
+ return hasprintednum;
+ }
+
+ public void setHasprintednum(Integer hasprintednum) {
+ this.hasprintednum = hasprintednum;
+ }
+
+ public Integer getApproverequestid() {
+ return approverequestid;
+ }
+
+ public void setApproverequestid(Integer approverequestid) {
+ this.approverequestid = approverequestid;
+ }
+
+ public Integer getFromworkflow() {
+ return fromworkflow;
+ }
+
+ public void setFromworkflow(Integer fromworkflow) {
+ this.fromworkflow = fromworkflow;
+ }
+
+ public Integer getIstop() {
+ return istop;
+ }
+
+ public void setIstop(Integer istop) {
+ this.istop = istop;
+ }
+
+ public String getTopdate() {
+ return topdate;
+ }
+
+ public void setTopdate(String topdate) {
+ this.topdate = topdate;
+ }
+
+ public String getToptime() {
+ return toptime;
+ }
+
+ public void setToptime(String toptime) {
+ this.toptime = toptime;
+ }
+
+ public String getTopstartdate() {
+ return topstartdate;
+ }
+
+ public void setTopstartdate(String topstartdate) {
+ this.topstartdate = topstartdate;
+ }
+
+ public String getTopenddate() {
+ return topenddate;
+ }
+
+ public void setTopenddate(String topenddate) {
+ this.topenddate = topenddate;
+ }
+
+ public Integer getInvalidrequestid() {
+ return invalidrequestid;
+ }
+
+ public void setInvalidrequestid(Integer invalidrequestid) {
+ this.invalidrequestid = invalidrequestid;
+ }
+
+ public Integer getEditmouldid() {
+ return editmouldid;
+ }
+
+ public void setEditmouldid(Integer editmouldid) {
+ this.editmouldid = editmouldid;
+ }
+
+ public String getEcologyPinyinSearch() {
+ return ecologyPinyinSearch;
+ }
+
+ public void setEcologyPinyinSearch(String ecologyPinyinSearch) {
+ this.ecologyPinyinSearch = ecologyPinyinSearch;
+ }
+
+ public Integer getDocvestin() {
+ return docvestin;
+ }
+
+ public void setDocvestin(Integer docvestin) {
+ this.docvestin = docvestin;
+ }
+
+ public Integer getSumdownload() {
+ return sumdownload;
+ }
+
+ public void setSumdownload(Integer sumdownload) {
+ this.sumdownload = sumdownload;
+ }
+
+ public Integer getSecretlevel() {
+ return secretlevel;
+ }
+
+ public void setSecretlevel(Integer secretlevel) {
+ this.secretlevel = secretlevel;
+ }
+
+ public Integer getReplyremind() {
+ return replyremind;
+ }
+
+ public void setReplyremind(Integer replyremind) {
+ this.replyremind = replyremind;
+ }
+
+ public String getScheduledreleasedate() {
+ return scheduledreleasedate;
+ }
+
+ public void setScheduledreleasedate(String scheduledreleasedate) {
+ this.scheduledreleasedate = scheduledreleasedate;
+ }
+
+ public String getSecretvalidity() {
+ return secretvalidity;
+ }
+
+ public void setSecretvalidity(String secretvalidity) {
+ this.secretvalidity = secretvalidity;
+ }
+
+ public Integer getThemeshowpic() {
+ return themeshowpic;
+ }
+
+ public void setThemeshowpic(Integer themeshowpic) {
+ this.themeshowpic = themeshowpic;
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/com/engine/htxc/contract/entity/Docimagefile.java b/src/main/java/com/engine/htxc/contract/entity/Docimagefile.java
new file mode 100644
index 0000000..9d1f732
--- /dev/null
+++ b/src/main/java/com/engine/htxc/contract/entity/Docimagefile.java
@@ -0,0 +1,181 @@
+package com.engine.htxc.contract.entity;
+/**
+ * @Title: ecology-9
+ * @Company: 泛微软件
+ * @author: K1810050
+ * @version: 1.0
+ * @CreateDate: 2022/8/18 21:24
+ * @Description: 文档图片表
+ * @ModifyLog:
+ **/
+public class Docimagefile {
+ private Integer id;
+
+ private Integer docid;
+
+ private Integer imagefileid;
+
+ private String imagefilename;
+
+ private String imagefiledesc;
+
+ private Integer imagefilewidth;
+
+ private Integer imagefileheight;
+
+ private Integer imagefielsize;
+
+ private String docfiletype;
+
+ private Integer versionid;
+
+ private String versiondetail;
+
+ private String isextfile;
+
+ private String hasusedtemplet;
+
+ private Integer signaturecount;
+
+ private Integer operateuserid;
+
+ private String operatedate;
+
+ private String operatetime;
+
+ public Integer getId() {
+ return id;
+ }
+
+ public void setId(Integer id) {
+ this.id = id;
+ }
+
+ public Integer getDocid() {
+ return docid;
+ }
+
+ public void setDocid(Integer docid) {
+ this.docid = docid;
+ }
+
+ public Integer getImagefileid() {
+ return imagefileid;
+ }
+
+ public void setImagefileid(Integer imagefileid) {
+ this.imagefileid = imagefileid;
+ }
+
+ public String getImagefilename() {
+ return imagefilename;
+ }
+
+ public void setImagefilename(String imagefilename) {
+ this.imagefilename = imagefilename;
+ }
+
+ public String getImagefiledesc() {
+ return imagefiledesc;
+ }
+
+ public void setImagefiledesc(String imagefiledesc) {
+ this.imagefiledesc = imagefiledesc;
+ }
+
+ public Integer getImagefilewidth() {
+ return imagefilewidth;
+ }
+
+ public void setImagefilewidth(Integer imagefilewidth) {
+ this.imagefilewidth = imagefilewidth;
+ }
+
+ public Integer getImagefileheight() {
+ return imagefileheight;
+ }
+
+ public void setImagefileheight(Integer imagefileheight) {
+ this.imagefileheight = imagefileheight;
+ }
+
+ public Integer getImagefielsize() {
+ return imagefielsize;
+ }
+
+ public void setImagefielsize(Integer imagefielsize) {
+ this.imagefielsize = imagefielsize;
+ }
+
+ public String getDocfiletype() {
+ return docfiletype;
+ }
+
+ public void setDocfiletype(String docfiletype) {
+ this.docfiletype = docfiletype;
+ }
+
+ public Integer getVersionid() {
+ return versionid;
+ }
+
+ public void setVersionid(Integer versionid) {
+ this.versionid = versionid;
+ }
+
+ public String getVersiondetail() {
+ return versiondetail;
+ }
+
+ public void setVersiondetail(String versiondetail) {
+ this.versiondetail = versiondetail;
+ }
+
+ public String getIsextfile() {
+ return isextfile;
+ }
+
+ public void setIsextfile(String isextfile) {
+ this.isextfile = isextfile;
+ }
+
+ public String getHasusedtemplet() {
+ return hasusedtemplet;
+ }
+
+ public void setHasusedtemplet(String hasusedtemplet) {
+ this.hasusedtemplet = hasusedtemplet;
+ }
+
+ public Integer getSignaturecount() {
+ return signaturecount;
+ }
+
+ public void setSignaturecount(Integer signaturecount) {
+ this.signaturecount = signaturecount;
+ }
+
+ public Integer getOperateuserid() {
+ return operateuserid;
+ }
+
+ public void setOperateuserid(Integer operateuserid) {
+ this.operateuserid = operateuserid;
+ }
+
+ public String getOperatedate() {
+ return operatedate;
+ }
+
+ public void setOperatedate(String operatedate) {
+ this.operatedate = operatedate;
+ }
+
+ public String getOperatetime() {
+ return operatetime;
+ }
+
+ public void setOperatetime(String operatetime) {
+ this.operatetime = operatetime;
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/com/engine/htxc/contract/entity/ImagefileEntity.java b/src/main/java/com/engine/htxc/contract/entity/ImagefileEntity.java
new file mode 100644
index 0000000..1f8be6e
--- /dev/null
+++ b/src/main/java/com/engine/htxc/contract/entity/ImagefileEntity.java
@@ -0,0 +1,291 @@
+package com.engine.htxc.contract.entity;
+/**
+ * @Title: ecology-9
+ * @Company: 泛微软件
+ * @author: K1810050
+ * @version: 1.0
+ * @CreateDate: 2022/8/18 21:25
+ * @Description: 文件表
+ * @ModifyLog:
+ **/
+public class ImagefileEntity {
+ private Integer imagefileid;
+
+ private String imagefilename;
+
+ private String imagefiletype;
+
+ private Integer imagefileused;
+
+ private String filerealpath;
+
+ private String iszip;
+
+ private String isencrypt;
+
+ private String filesize;
+
+ private Integer downloads;
+
+ private String miniimgpath;
+
+ private String imgsize;
+
+ private String isftp;
+
+ private Integer ftpconfigid;
+
+ private Integer isaesencrypt;
+
+ private String aescode;
+
+ private String tokenkey;
+
+ private String storagestatus;
+
+ private String comefrom;
+
+ private Integer objid;
+
+ private String objotherpara;
+
+ private String delfilerealpath;
+
+ private Integer mainimagefile;
+
+ private String fileid;
+
+ private Integer secretlevel;
+
+ private String secretvalidity;
+
+ private Integer sensitiveWtype;
+
+ private String sensitiveWtime;
+
+ private byte[] imagefile;
+
+ public Integer getImagefileid() {
+ return imagefileid;
+ }
+
+ public void setImagefileid(Integer imagefileid) {
+ this.imagefileid = imagefileid;
+ }
+
+ public String getImagefilename() {
+ return imagefilename;
+ }
+
+ public void setImagefilename(String imagefilename) {
+ this.imagefilename = imagefilename;
+ }
+
+ public String getImagefiletype() {
+ return imagefiletype;
+ }
+
+ public void setImagefiletype(String imagefiletype) {
+ this.imagefiletype = imagefiletype;
+ }
+
+ public Integer getImagefileused() {
+ return imagefileused;
+ }
+
+ public void setImagefileused(Integer imagefileused) {
+ this.imagefileused = imagefileused;
+ }
+
+ public String getFilerealpath() {
+ return filerealpath;
+ }
+
+ public void setFilerealpath(String filerealpath) {
+ this.filerealpath = filerealpath;
+ }
+
+ public String getIszip() {
+ return iszip;
+ }
+
+ public void setIszip(String iszip) {
+ this.iszip = iszip;
+ }
+
+ public String getIsencrypt() {
+ return isencrypt;
+ }
+
+ public void setIsencrypt(String isencrypt) {
+ this.isencrypt = isencrypt;
+ }
+
+ public String getFilesize() {
+ return filesize;
+ }
+
+ public void setFilesize(String filesize) {
+ this.filesize = filesize;
+ }
+
+ public Integer getDownloads() {
+ return downloads;
+ }
+
+ public void setDownloads(Integer downloads) {
+ this.downloads = downloads;
+ }
+
+ public String getMiniimgpath() {
+ return miniimgpath;
+ }
+
+ public void setMiniimgpath(String miniimgpath) {
+ this.miniimgpath = miniimgpath;
+ }
+
+ public String getImgsize() {
+ return imgsize;
+ }
+
+ public void setImgsize(String imgsize) {
+ this.imgsize = imgsize;
+ }
+
+ public String getIsftp() {
+ return isftp;
+ }
+
+ public void setIsftp(String isftp) {
+ this.isftp = isftp;
+ }
+
+ public Integer getFtpconfigid() {
+ return ftpconfigid;
+ }
+
+ public void setFtpconfigid(Integer ftpconfigid) {
+ this.ftpconfigid = ftpconfigid;
+ }
+
+ public Integer getIsaesencrypt() {
+ return isaesencrypt;
+ }
+
+ public void setIsaesencrypt(Integer isaesencrypt) {
+ this.isaesencrypt = isaesencrypt;
+ }
+
+ public String getAescode() {
+ return aescode;
+ }
+
+ public void setAescode(String aescode) {
+ this.aescode = aescode;
+ }
+
+ public String getTokenkey() {
+ return tokenkey;
+ }
+
+ public void setTokenkey(String tokenkey) {
+ this.tokenkey = tokenkey;
+ }
+
+ public String getStoragestatus() {
+ return storagestatus;
+ }
+
+ public void setStoragestatus(String storagestatus) {
+ this.storagestatus = storagestatus;
+ }
+
+ public String getComefrom() {
+ return comefrom;
+ }
+
+ public void setComefrom(String comefrom) {
+ this.comefrom = comefrom;
+ }
+
+ public Integer getObjid() {
+ return objid;
+ }
+
+ public void setObjid(Integer objid) {
+ this.objid = objid;
+ }
+
+ public String getObjotherpara() {
+ return objotherpara;
+ }
+
+ public void setObjotherpara(String objotherpara) {
+ this.objotherpara = objotherpara;
+ }
+
+ public String getDelfilerealpath() {
+ return delfilerealpath;
+ }
+
+ public void setDelfilerealpath(String delfilerealpath) {
+ this.delfilerealpath = delfilerealpath;
+ }
+
+ public Integer getMainimagefile() {
+ return mainimagefile;
+ }
+
+ public void setMainimagefile(Integer mainimagefile) {
+ this.mainimagefile = mainimagefile;
+ }
+
+ public String getFileid() {
+ return fileid;
+ }
+
+ public void setFileid(String fileid) {
+ this.fileid = fileid;
+ }
+
+ public Integer getSecretlevel() {
+ return secretlevel;
+ }
+
+ public void setSecretlevel(Integer secretlevel) {
+ this.secretlevel = secretlevel;
+ }
+
+ public String getSecretvalidity() {
+ return secretvalidity;
+ }
+
+ public void setSecretvalidity(String secretvalidity) {
+ this.secretvalidity = secretvalidity;
+ }
+
+ public Integer getSensitiveWtype() {
+ return sensitiveWtype;
+ }
+
+ public void setSensitiveWtype(Integer sensitiveWtype) {
+ this.sensitiveWtype = sensitiveWtype;
+ }
+
+ public String getSensitiveWtime() {
+ return sensitiveWtime;
+ }
+
+ public void setSensitiveWtime(String sensitiveWtime) {
+ this.sensitiveWtime = sensitiveWtime;
+ }
+
+ public byte[] getImagefile() {
+ return imagefile;
+ }
+
+ public void setImagefile(byte[] imagefile) {
+ this.imagefile = imagefile;
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/com/engine/htxc/contract/entity/UfDsfgl.java b/src/main/java/com/engine/htxc/contract/entity/UfDsfgl.java
new file mode 100644
index 0000000..1df3723
--- /dev/null
+++ b/src/main/java/com/engine/htxc/contract/entity/UfDsfgl.java
@@ -0,0 +1,721 @@
+package com.engine.htxc.contract.entity;
+/**
+ * @Title: ecology-9
+ * @Company: 泛微软件
+ * @author: K1810050
+ * @version: 1.0
+ * @CreateDate: 2022/8/18 21:25
+ * @Description: 对手方表
+ * @ModifyLog:
+ **/
+public class UfDsfgl {
+ private Integer id;
+
+ private Integer requestid;
+
+ private String dsfmc;
+
+ private Integer dsflx;
+
+ private String zjhm;
+
+ private Integer formmodeid;
+
+ private Integer modedatacreater;
+
+ private Integer modedatacreatertype;
+
+ private String modedatacreatedate;
+
+ private String modedatacreatetime;
+
+ private Integer modedatamodifier;
+
+ private String modedatamodifydatetime;
+
+ private String modeuuid;
+
+ private String frxm;
+
+ private String frsfzhm;
+
+ private Integer zczb;
+
+ private String gsclsj;
+
+ private String gszcdz;
+
+ private String lxfs;
+
+ private String dsfbm;
+
+ private Integer zt;
+
+ private Integer ly;
+
+ private String zjgxsj;
+
+ private Integer khlx;
+
+ private String lxdh;
+
+ private String email;
+
+ private String jgmc;
+
+ private String dz;
+
+ private String sqqsdb;
+
+ private String bgms;
+
+ private String bgdz;
+
+ private String xm;
+
+ private String dsfdwmc;
+
+ private Integer szjg;
+
+ private Integer szbm;
+
+ private String lhyysm;
+
+ private String zfyysm;
+
+ private String hfyysm;
+
+ private String jglx;
+
+ private String lxr;
+
+ private String gljg;
+
+ private String ssxy;
+
+ private String sxyysm;
+
+ private String fbsxyysm;
+
+ private String scyysm;
+
+ private String sxyysmsx;
+
+ private Integer scbs;
+
+ private String khwyid;
+
+ private Integer sfwyxtjzjh;
+
+ private String cjywx;
+
+ private String xgywx;
+
+ private String ywm;
+
+ private String ywjc;
+
+ private String yzbm;
+
+ private String zwm;
+
+ private String zwjc;
+
+ private String tyshxydmyyzz;
+
+ private String clrq;
+
+ private String zzjgdm;
+
+ private String gszch;
+
+ private String xymc;
+
+ private String gszwmc;
+
+ private String bgjlbd;
+
+ private String jglxr;
+
+ private String kycecifid;
+
+ private String yjcxxx;
+
+ private Integer jgcrmsclj;
+
+ private String zhtbsj;
+
+ private String khytfl;
+
+ private String fid;
+
+ private Integer dqbb;
+
+ public Integer getId() {
+ return id;
+ }
+
+ public void setId(Integer id) {
+ this.id = id;
+ }
+
+ public Integer getRequestid() {
+ return requestid;
+ }
+
+ public void setRequestid(Integer requestid) {
+ this.requestid = requestid;
+ }
+
+ public String getDsfmc() {
+ return dsfmc;
+ }
+
+ public void setDsfmc(String dsfmc) {
+ this.dsfmc = dsfmc;
+ }
+
+ public Integer getDsflx() {
+ return dsflx;
+ }
+
+ public void setDsflx(Integer dsflx) {
+ this.dsflx = dsflx;
+ }
+
+ public String getZjhm() {
+ return zjhm;
+ }
+
+ public void setZjhm(String zjhm) {
+ this.zjhm = zjhm;
+ }
+
+ public Integer getFormmodeid() {
+ return formmodeid;
+ }
+
+ public void setFormmodeid(Integer formmodeid) {
+ this.formmodeid = formmodeid;
+ }
+
+ public Integer getModedatacreater() {
+ return modedatacreater;
+ }
+
+ public void setModedatacreater(Integer modedatacreater) {
+ this.modedatacreater = modedatacreater;
+ }
+
+ public Integer getModedatacreatertype() {
+ return modedatacreatertype;
+ }
+
+ public void setModedatacreatertype(Integer modedatacreatertype) {
+ this.modedatacreatertype = modedatacreatertype;
+ }
+
+ public String getModedatacreatedate() {
+ return modedatacreatedate;
+ }
+
+ public void setModedatacreatedate(String modedatacreatedate) {
+ this.modedatacreatedate = modedatacreatedate;
+ }
+
+ public String getModedatacreatetime() {
+ return modedatacreatetime;
+ }
+
+ public void setModedatacreatetime(String modedatacreatetime) {
+ this.modedatacreatetime = modedatacreatetime;
+ }
+
+ public Integer getModedatamodifier() {
+ return modedatamodifier;
+ }
+
+ public void setModedatamodifier(Integer modedatamodifier) {
+ this.modedatamodifier = modedatamodifier;
+ }
+
+ public String getModedatamodifydatetime() {
+ return modedatamodifydatetime;
+ }
+
+ public void setModedatamodifydatetime(String modedatamodifydatetime) {
+ this.modedatamodifydatetime = modedatamodifydatetime;
+ }
+
+ public String getModeuuid() {
+ return modeuuid;
+ }
+
+ public void setModeuuid(String modeuuid) {
+ this.modeuuid = modeuuid;
+ }
+
+ public String getFrxm() {
+ return frxm;
+ }
+
+ public void setFrxm(String frxm) {
+ this.frxm = frxm;
+ }
+
+ public String getFrsfzhm() {
+ return frsfzhm;
+ }
+
+ public void setFrsfzhm(String frsfzhm) {
+ this.frsfzhm = frsfzhm;
+ }
+
+ public Integer getZczb() {
+ return zczb;
+ }
+
+ public void setZczb(Integer zczb) {
+ this.zczb = zczb;
+ }
+
+ public String getGsclsj() {
+ return gsclsj;
+ }
+
+ public void setGsclsj(String gsclsj) {
+ this.gsclsj = gsclsj;
+ }
+
+ public String getGszcdz() {
+ return gszcdz;
+ }
+
+ public void setGszcdz(String gszcdz) {
+ this.gszcdz = gszcdz;
+ }
+
+ public String getLxfs() {
+ return lxfs;
+ }
+
+ public void setLxfs(String lxfs) {
+ this.lxfs = lxfs;
+ }
+
+ public String getDsfbm() {
+ return dsfbm;
+ }
+
+ public void setDsfbm(String dsfbm) {
+ this.dsfbm = dsfbm;
+ }
+
+ public Integer getZt() {
+ return zt;
+ }
+
+ public void setZt(Integer zt) {
+ this.zt = zt;
+ }
+
+ public Integer getLy() {
+ return ly;
+ }
+
+ public void setLy(Integer ly) {
+ this.ly = ly;
+ }
+
+ public String getZjgxsj() {
+ return zjgxsj;
+ }
+
+ public void setZjgxsj(String zjgxsj) {
+ this.zjgxsj = zjgxsj;
+ }
+
+ public Integer getKhlx() {
+ return khlx;
+ }
+
+ public void setKhlx(Integer khlx) {
+ this.khlx = khlx;
+ }
+
+ public String getLxdh() {
+ return lxdh;
+ }
+
+ public void setLxdh(String lxdh) {
+ this.lxdh = lxdh;
+ }
+
+ public String getEmail() {
+ return email;
+ }
+
+ public void setEmail(String email) {
+ this.email = email;
+ }
+
+ public String getJgmc() {
+ return jgmc;
+ }
+
+ public void setJgmc(String jgmc) {
+ this.jgmc = jgmc;
+ }
+
+ public String getDz() {
+ return dz;
+ }
+
+ public void setDz(String dz) {
+ this.dz = dz;
+ }
+
+ public String getSqqsdb() {
+ return sqqsdb;
+ }
+
+ public void setSqqsdb(String sqqsdb) {
+ this.sqqsdb = sqqsdb;
+ }
+
+ public String getBgms() {
+ return bgms;
+ }
+
+ public void setBgms(String bgms) {
+ this.bgms = bgms;
+ }
+
+ public String getBgdz() {
+ return bgdz;
+ }
+
+ public void setBgdz(String bgdz) {
+ this.bgdz = bgdz;
+ }
+
+ public String getXm() {
+ return xm;
+ }
+
+ public void setXm(String xm) {
+ this.xm = xm;
+ }
+
+ public String getDsfdwmc() {
+ return dsfdwmc;
+ }
+
+ public void setDsfdwmc(String dsfdwmc) {
+ this.dsfdwmc = dsfdwmc;
+ }
+
+ public Integer getSzjg() {
+ return szjg;
+ }
+
+ public void setSzjg(Integer szjg) {
+ this.szjg = szjg;
+ }
+
+ public Integer getSzbm() {
+ return szbm;
+ }
+
+ public void setSzbm(Integer szbm) {
+ this.szbm = szbm;
+ }
+
+ public String getLhyysm() {
+ return lhyysm;
+ }
+
+ public void setLhyysm(String lhyysm) {
+ this.lhyysm = lhyysm;
+ }
+
+ public String getZfyysm() {
+ return zfyysm;
+ }
+
+ public void setZfyysm(String zfyysm) {
+ this.zfyysm = zfyysm;
+ }
+
+ public String getHfyysm() {
+ return hfyysm;
+ }
+
+ public void setHfyysm(String hfyysm) {
+ this.hfyysm = hfyysm;
+ }
+
+ public String getJglx() {
+ return jglx;
+ }
+
+ public void setJglx(String jglx) {
+ this.jglx = jglx;
+ }
+
+ public String getLxr() {
+ return lxr;
+ }
+
+ public void setLxr(String lxr) {
+ this.lxr = lxr;
+ }
+
+ public String getGljg() {
+ return gljg;
+ }
+
+ public void setGljg(String gljg) {
+ this.gljg = gljg;
+ }
+
+ public String getSsxy() {
+ return ssxy;
+ }
+
+ public void setSsxy(String ssxy) {
+ this.ssxy = ssxy;
+ }
+
+ public String getSxyysm() {
+ return sxyysm;
+ }
+
+ public void setSxyysm(String sxyysm) {
+ this.sxyysm = sxyysm;
+ }
+
+ public String getFbsxyysm() {
+ return fbsxyysm;
+ }
+
+ public void setFbsxyysm(String fbsxyysm) {
+ this.fbsxyysm = fbsxyysm;
+ }
+
+ public String getScyysm() {
+ return scyysm;
+ }
+
+ public void setScyysm(String scyysm) {
+ this.scyysm = scyysm;
+ }
+
+ public String getSxyysmsx() {
+ return sxyysmsx;
+ }
+
+ public void setSxyysmsx(String sxyysmsx) {
+ this.sxyysmsx = sxyysmsx;
+ }
+
+ public Integer getScbs() {
+ return scbs;
+ }
+
+ public void setScbs(Integer scbs) {
+ this.scbs = scbs;
+ }
+
+ public String getKhwyid() {
+ return khwyid;
+ }
+
+ public void setKhwyid(String khwyid) {
+ this.khwyid = khwyid;
+ }
+
+ public Integer getSfwyxtjzjh() {
+ return sfwyxtjzjh;
+ }
+
+ public void setSfwyxtjzjh(Integer sfwyxtjzjh) {
+ this.sfwyxtjzjh = sfwyxtjzjh;
+ }
+
+ public String getCjywx() {
+ return cjywx;
+ }
+
+ public void setCjywx(String cjywx) {
+ this.cjywx = cjywx;
+ }
+
+ public String getXgywx() {
+ return xgywx;
+ }
+
+ public void setXgywx(String xgywx) {
+ this.xgywx = xgywx;
+ }
+
+ public String getYwm() {
+ return ywm;
+ }
+
+ public void setYwm(String ywm) {
+ this.ywm = ywm;
+ }
+
+ public String getYwjc() {
+ return ywjc;
+ }
+
+ public void setYwjc(String ywjc) {
+ this.ywjc = ywjc;
+ }
+
+ public String getYzbm() {
+ return yzbm;
+ }
+
+ public void setYzbm(String yzbm) {
+ this.yzbm = yzbm;
+ }
+
+ public String getZwm() {
+ return zwm;
+ }
+
+ public void setZwm(String zwm) {
+ this.zwm = zwm;
+ }
+
+ public String getZwjc() {
+ return zwjc;
+ }
+
+ public void setZwjc(String zwjc) {
+ this.zwjc = zwjc;
+ }
+
+ public String getTyshxydmyyzz() {
+ return tyshxydmyyzz;
+ }
+
+ public void setTyshxydmyyzz(String tyshxydmyyzz) {
+ this.tyshxydmyyzz = tyshxydmyyzz;
+ }
+
+ public String getClrq() {
+ return clrq;
+ }
+
+ public void setClrq(String clrq) {
+ this.clrq = clrq;
+ }
+
+ public String getZzjgdm() {
+ return zzjgdm;
+ }
+
+ public void setZzjgdm(String zzjgdm) {
+ this.zzjgdm = zzjgdm;
+ }
+
+ public String getGszch() {
+ return gszch;
+ }
+
+ public void setGszch(String gszch) {
+ this.gszch = gszch;
+ }
+
+ public String getXymc() {
+ return xymc;
+ }
+
+ public void setXymc(String xymc) {
+ this.xymc = xymc;
+ }
+
+ public String getGszwmc() {
+ return gszwmc;
+ }
+
+ public void setGszwmc(String gszwmc) {
+ this.gszwmc = gszwmc;
+ }
+
+ public String getBgjlbd() {
+ return bgjlbd;
+ }
+
+ public void setBgjlbd(String bgjlbd) {
+ this.bgjlbd = bgjlbd;
+ }
+
+ public String getJglxr() {
+ return jglxr;
+ }
+
+ public void setJglxr(String jglxr) {
+ this.jglxr = jglxr;
+ }
+
+ public String getKycecifid() {
+ return kycecifid;
+ }
+
+ public void setKycecifid(String kycecifid) {
+ this.kycecifid = kycecifid;
+ }
+
+ public String getYjcxxx() {
+ return yjcxxx;
+ }
+
+ public void setYjcxxx(String yjcxxx) {
+ this.yjcxxx = yjcxxx;
+ }
+
+ public Integer getJgcrmsclj() {
+ return jgcrmsclj;
+ }
+
+ public void setJgcrmsclj(Integer jgcrmsclj) {
+ this.jgcrmsclj = jgcrmsclj;
+ }
+
+ public String getZhtbsj() {
+ return zhtbsj;
+ }
+
+ public void setZhtbsj(String zhtbsj) {
+ this.zhtbsj = zhtbsj;
+ }
+
+ public String getKhytfl() {
+ return khytfl;
+ }
+
+ public void setKhytfl(String khytfl) {
+ this.khytfl = khytfl;
+ }
+
+ public String getFid() {
+ return fid;
+ }
+
+ public void setFid(String fid) {
+ this.fid = fid;
+ }
+
+ public Integer getDqbb() {
+ return dqbb;
+ }
+
+ public void setDqbb(Integer dqbb) {
+ this.dqbb = dqbb;
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/com/engine/htxc/contract/entity/UfHtqcDt1.java b/src/main/java/com/engine/htxc/contract/entity/UfHtqcDt1.java
new file mode 100644
index 0000000..9293aec
--- /dev/null
+++ b/src/main/java/com/engine/htxc/contract/entity/UfHtqcDt1.java
@@ -0,0 +1,273 @@
+package com.engine.htxc.contract.entity;
+
+public class UfHtqcDt1 {
+ private Integer id;
+
+ private Integer mainid;
+
+ private String cz;
+
+ private Integer sfyy;
+
+ private String scsj;
+
+ private String qrwlyy;
+
+ private Integer yyzt;
+
+ private String yyhwj;
+
+ private String wjmc;
+
+ private String zpdfhwj;
+
+ private Integer dzjyyzt;
+
+ private Integer fwjyyzt;
+
+ private Integer yyfs;
+
+ private Integer dzyyfs;
+
+ private Integer dsmdy;
+
+ private String fwdyfs;
+
+ private String wlyyfs;
+
+ private String qrdzyy;
+
+ private String yyid;
+
+ private String yyfswb;
+
+ private String wfqssj;
+
+ private String sfqssj;
+
+ private Integer qszt;
+
+ private String yyqksm;
+
+ private String wfyyj;
+
+ private String yqxdyr;
+
+ private String dsf;
+
+ public Integer getId() {
+ return id;
+ }
+
+ public void setId(Integer id) {
+ this.id = id;
+ }
+
+ public Integer getMainid() {
+ return mainid;
+ }
+
+ public void setMainid(Integer mainid) {
+ this.mainid = mainid;
+ }
+
+ public String getCz() {
+ return cz;
+ }
+
+ public void setCz(String cz) {
+ this.cz = cz;
+ }
+
+ public Integer getSfyy() {
+ return sfyy;
+ }
+
+ public void setSfyy(Integer sfyy) {
+ this.sfyy = sfyy;
+ }
+
+ public String getScsj() {
+ return scsj;
+ }
+
+ public void setScsj(String scsj) {
+ this.scsj = scsj;
+ }
+
+ public String getQrwlyy() {
+ return qrwlyy;
+ }
+
+ public void setQrwlyy(String qrwlyy) {
+ this.qrwlyy = qrwlyy;
+ }
+
+ public Integer getYyzt() {
+ return yyzt;
+ }
+
+ public void setYyzt(Integer yyzt) {
+ this.yyzt = yyzt;
+ }
+
+ public String getYyhwj() {
+ return yyhwj;
+ }
+
+ public void setYyhwj(String yyhwj) {
+ this.yyhwj = yyhwj;
+ }
+
+ public String getWjmc() {
+ return wjmc;
+ }
+
+ public void setWjmc(String wjmc) {
+ this.wjmc = wjmc;
+ }
+
+ public String getZpdfhwj() {
+ return zpdfhwj;
+ }
+
+ public void setZpdfhwj(String zpdfhwj) {
+ this.zpdfhwj = zpdfhwj;
+ }
+
+ public Integer getDzjyyzt() {
+ return dzjyyzt;
+ }
+
+ public void setDzjyyzt(Integer dzjyyzt) {
+ this.dzjyyzt = dzjyyzt;
+ }
+
+ public Integer getFwjyyzt() {
+ return fwjyyzt;
+ }
+
+ public void setFwjyyzt(Integer fwjyyzt) {
+ this.fwjyyzt = fwjyyzt;
+ }
+
+ public Integer getYyfs() {
+ return yyfs;
+ }
+
+ public void setYyfs(Integer yyfs) {
+ this.yyfs = yyfs;
+ }
+
+ public Integer getDzyyfs() {
+ return dzyyfs;
+ }
+
+ public void setDzyyfs(Integer dzyyfs) {
+ this.dzyyfs = dzyyfs;
+ }
+
+ public Integer getDsmdy() {
+ return dsmdy;
+ }
+
+ public void setDsmdy(Integer dsmdy) {
+ this.dsmdy = dsmdy;
+ }
+
+ public String getFwdyfs() {
+ return fwdyfs;
+ }
+
+ public void setFwdyfs(String fwdyfs) {
+ this.fwdyfs = fwdyfs;
+ }
+
+ public String getWlyyfs() {
+ return wlyyfs;
+ }
+
+ public void setWlyyfs(String wlyyfs) {
+ this.wlyyfs = wlyyfs;
+ }
+
+ public String getQrdzyy() {
+ return qrdzyy;
+ }
+
+ public void setQrdzyy(String qrdzyy) {
+ this.qrdzyy = qrdzyy;
+ }
+
+ public String getYyid() {
+ return yyid;
+ }
+
+ public void setYyid(String yyid) {
+ this.yyid = yyid;
+ }
+
+ public String getYyfswb() {
+ return yyfswb;
+ }
+
+ public void setYyfswb(String yyfswb) {
+ this.yyfswb = yyfswb;
+ }
+
+ public String getWfqssj() {
+ return wfqssj;
+ }
+
+ public void setWfqssj(String wfqssj) {
+ this.wfqssj = wfqssj;
+ }
+
+ public String getSfqssj() {
+ return sfqssj;
+ }
+
+ public void setSfqssj(String sfqssj) {
+ this.sfqssj = sfqssj;
+ }
+
+ public Integer getQszt() {
+ return qszt;
+ }
+
+ public void setQszt(Integer qszt) {
+ this.qszt = qszt;
+ }
+
+ public String getYyqksm() {
+ return yyqksm;
+ }
+
+ public void setYyqksm(String yyqksm) {
+ this.yyqksm = yyqksm;
+ }
+
+ public String getWfyyj() {
+ return wfyyj;
+ }
+
+ public void setWfyyj(String wfyyj) {
+ this.wfyyj = wfyyj;
+ }
+
+ public String getYqxdyr() {
+ return yqxdyr;
+ }
+
+ public void setYqxdyr(String yqxdyr) {
+ this.yqxdyr = yqxdyr;
+ }
+
+ public String getDsf() {
+ return dsf;
+ }
+
+ public void setDsf(String dsf) {
+ this.dsf = dsf;
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/com/engine/htxc/contract/entity/UfHtqcDt3.java b/src/main/java/com/engine/htxc/contract/entity/UfHtqcDt3.java
new file mode 100644
index 0000000..e2c77d4
--- /dev/null
+++ b/src/main/java/com/engine/htxc/contract/entity/UfHtqcDt3.java
@@ -0,0 +1,263 @@
+package com.engine.htxc.contract.entity;
+
+public class UfHtqcDt3 {
+ private Integer id;
+
+ private Integer mainid;
+
+ private String wjmc;
+
+ private String cz;
+
+ private Integer sfyy;
+
+ private String scsj;
+
+ private String qrwlyy;
+
+ private Integer yyzt;
+
+ private String yyhwj;
+
+ private String zpdfhwj;
+
+ private Integer dzjyyzt;
+
+ private Integer fwjyyzt;
+
+ private Integer yyfs;
+
+ private Integer dzyyfs;
+
+ private Integer dsmdy;
+
+ private String fwdyfs;
+
+ private String wlyyfs;
+
+ private String qrdzyy;
+
+ private String yyid;
+
+ private String yyfswb;
+
+ private String wfqssj;
+
+ private String sfqssj;
+
+ private Integer qszt;
+
+ private String yyqksm;
+
+ private String yqxdyr;
+
+ private String dsf;
+
+ public Integer getId() {
+ return id;
+ }
+
+ public void setId(Integer id) {
+ this.id = id;
+ }
+
+ public Integer getMainid() {
+ return mainid;
+ }
+
+ public void setMainid(Integer mainid) {
+ this.mainid = mainid;
+ }
+
+ public String getWjmc() {
+ return wjmc;
+ }
+
+ public void setWjmc(String wjmc) {
+ this.wjmc = wjmc;
+ }
+
+ public String getCz() {
+ return cz;
+ }
+
+ public void setCz(String cz) {
+ this.cz = cz;
+ }
+
+ public Integer getSfyy() {
+ return sfyy;
+ }
+
+ public void setSfyy(Integer sfyy) {
+ this.sfyy = sfyy;
+ }
+
+ public String getScsj() {
+ return scsj;
+ }
+
+ public void setScsj(String scsj) {
+ this.scsj = scsj;
+ }
+
+ public String getQrwlyy() {
+ return qrwlyy;
+ }
+
+ public void setQrwlyy(String qrwlyy) {
+ this.qrwlyy = qrwlyy;
+ }
+
+ public Integer getYyzt() {
+ return yyzt;
+ }
+
+ public void setYyzt(Integer yyzt) {
+ this.yyzt = yyzt;
+ }
+
+ public String getYyhwj() {
+ return yyhwj;
+ }
+
+ public void setYyhwj(String yyhwj) {
+ this.yyhwj = yyhwj;
+ }
+
+ public String getZpdfhwj() {
+ return zpdfhwj;
+ }
+
+ public void setZpdfhwj(String zpdfhwj) {
+ this.zpdfhwj = zpdfhwj;
+ }
+
+ public Integer getDzjyyzt() {
+ return dzjyyzt;
+ }
+
+ public void setDzjyyzt(Integer dzjyyzt) {
+ this.dzjyyzt = dzjyyzt;
+ }
+
+ public Integer getFwjyyzt() {
+ return fwjyyzt;
+ }
+
+ public void setFwjyyzt(Integer fwjyyzt) {
+ this.fwjyyzt = fwjyyzt;
+ }
+
+ public Integer getYyfs() {
+ return yyfs;
+ }
+
+ public void setYyfs(Integer yyfs) {
+ this.yyfs = yyfs;
+ }
+
+ public Integer getDzyyfs() {
+ return dzyyfs;
+ }
+
+ public void setDzyyfs(Integer dzyyfs) {
+ this.dzyyfs = dzyyfs;
+ }
+
+ public Integer getDsmdy() {
+ return dsmdy;
+ }
+
+ public void setDsmdy(Integer dsmdy) {
+ this.dsmdy = dsmdy;
+ }
+
+ public String getFwdyfs() {
+ return fwdyfs;
+ }
+
+ public void setFwdyfs(String fwdyfs) {
+ this.fwdyfs = fwdyfs;
+ }
+
+ public String getWlyyfs() {
+ return wlyyfs;
+ }
+
+ public void setWlyyfs(String wlyyfs) {
+ this.wlyyfs = wlyyfs;
+ }
+
+ public String getQrdzyy() {
+ return qrdzyy;
+ }
+
+ public void setQrdzyy(String qrdzyy) {
+ this.qrdzyy = qrdzyy;
+ }
+
+ public String getYyid() {
+ return yyid;
+ }
+
+ public void setYyid(String yyid) {
+ this.yyid = yyid;
+ }
+
+ public String getYyfswb() {
+ return yyfswb;
+ }
+
+ public void setYyfswb(String yyfswb) {
+ this.yyfswb = yyfswb;
+ }
+
+ public String getWfqssj() {
+ return wfqssj;
+ }
+
+ public void setWfqssj(String wfqssj) {
+ this.wfqssj = wfqssj;
+ }
+
+ public String getSfqssj() {
+ return sfqssj;
+ }
+
+ public void setSfqssj(String sfqssj) {
+ this.sfqssj = sfqssj;
+ }
+
+ public Integer getQszt() {
+ return qszt;
+ }
+
+ public void setQszt(Integer qszt) {
+ this.qszt = qszt;
+ }
+
+ public String getYyqksm() {
+ return yyqksm;
+ }
+
+ public void setYyqksm(String yyqksm) {
+ this.yyqksm = yyqksm;
+ }
+
+ public String getYqxdyr() {
+ return yqxdyr;
+ }
+
+ public void setYqxdyr(String yqxdyr) {
+ this.yqxdyr = yqxdyr;
+ }
+
+ public String getDsf() {
+ return dsf;
+ }
+
+ public void setDsf(String dsf) {
+ this.dsf = dsf;
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/com/engine/htxc/contract/entity/UfHtqcDt4.java b/src/main/java/com/engine/htxc/contract/entity/UfHtqcDt4.java
new file mode 100644
index 0000000..f99794e
--- /dev/null
+++ b/src/main/java/com/engine/htxc/contract/entity/UfHtqcDt4.java
@@ -0,0 +1,63 @@
+package com.engine.htxc.contract.entity;
+
+public class UfHtqcDt4 {
+ private Integer id;
+
+ private Integer mainid;
+
+ private String sl;
+
+ private String bhsje;
+
+ private String jshjje;
+
+ private String htslz;
+
+ public Integer getId() {
+ return id;
+ }
+
+ public void setId(Integer id) {
+ this.id = id;
+ }
+
+ public Integer getMainid() {
+ return mainid;
+ }
+
+ public void setMainid(Integer mainid) {
+ this.mainid = mainid;
+ }
+
+ public String getSl() {
+ return sl;
+ }
+
+ public void setSl(String sl) {
+ this.sl = sl;
+ }
+
+ public String getBhsje() {
+ return bhsje;
+ }
+
+ public void setBhsje(String bhsje) {
+ this.bhsje = bhsje;
+ }
+
+ public String getJshjje() {
+ return jshjje;
+ }
+
+ public void setJshjje(String jshjje) {
+ this.jshjje = jshjje;
+ }
+
+ public String getHtslz() {
+ return htslz;
+ }
+
+ public void setHtslz(String htslz) {
+ this.htslz = htslz;
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/com/engine/htxc/contract/entity/UfOtcdertra.java b/src/main/java/com/engine/htxc/contract/entity/UfOtcdertra.java
new file mode 100644
index 0000000..0b4e42a
--- /dev/null
+++ b/src/main/java/com/engine/htxc/contract/entity/UfOtcdertra.java
@@ -0,0 +1,742 @@
+package com.engine.htxc.contract.entity;
+
+/**
+ * @Title: ecology-9
+ * @Company: 泛微软件
+ * @author: K1810050
+ * @version: 1.0
+ * @CreateDate: 2022/8/18 21:26
+ * @Description: 场外衍生品表
+ * @ModifyLog:
+ **/
+public class UfOtcdertra {
+ private Integer id;
+
+ private Integer requestid;
+
+ private String htlx;
+
+ private Integer sfsymbfb;
+
+ private String xzfb;
+
+ private String htmc;
+
+ private String sfwdsf;
+
+ private Integer bmdj;
+
+ private Integer sfsw;
+
+ private Integer htjexz;
+
+ private String htzje;
+
+ private Integer bz;
+
+ private String htjedx;
+
+ private Integer zhrmb;
+
+ private Integer sflx;
+
+ private Integer sffs;
+
+ private Integer sfxjwfk;
+
+ private String cgfwxxxx;
+
+ private String wdsfyy;
+
+ private Integer zt;
+
+ private String htbh;
+
+ private String bhsje;
+
+ private String syyhsxm;
+
+ private String wsymbyy;
+
+ private Integer htzwbj;
+
+ private Integer htxz;
+
+ private Integer htslz;
+
+ private Integer qcbm;
+
+ private Integer qcjg;
+
+ private Integer dqbb;
+
+ private String htzw;
+
+ private String htzwfzzd;
+
+ private String htfj;
+
+ private String htfjfzzd;
+
+ private String beizhu;
+
+ private String htzwdzyyj;
+
+ private String htfjdzyyj;
+
+ private String fhtlx;
+
+ private String zscqgs;
+
+ private String fid;
+
+ private String bgjlbd;
+
+ private Integer fpxz;
+
+ private String sh;
+
+ private String htlxwb;
+
+ private Integer bzhlz;
+
+ private Integer htsplcrequestid;
+
+ private Integer jshjje;
+
+ private Integer jsbz;
+
+ private String sfktj;
+
+ private String qcrq;
+
+ private Integer yyjgdzt;
+
+ private String cgxgbm;
+
+ private String yyjdbs;
+
+ private String cyyz;
+
+ private Integer formmodeid;
+
+ private Integer modedatacreater;
+
+ private Integer modedatacreatertype;
+
+ private String modedatacreatedate;
+
+ private String modedatacreatetime;
+
+ private Integer modedatamodifier;
+
+ private String modedatamodifydatetime;
+
+ private String modeuuid;
+
+ private Integer qcr;
+
+ private String syscode;
+
+ private String modulecode;
+
+ private String htxgcp;
+
+ private Integer gdlx;
+
+ private Integer yspfl;
+
+ private String htdsf;
+
+ private String htspr;
+
+ private String glht;
+
+ private String yz;
+
+ private Integer autosealflag;
+
+ public Integer getId() {
+ return id;
+ }
+
+ public void setId(Integer id) {
+ this.id = id;
+ }
+
+ public Integer getRequestid() {
+ return requestid;
+ }
+
+ public void setRequestid(Integer requestid) {
+ this.requestid = requestid;
+ }
+
+ public String getHtlx() {
+ return htlx;
+ }
+
+ public void setHtlx(String htlx) {
+ this.htlx = htlx;
+ }
+
+ public Integer getSfsymbfb() {
+ return sfsymbfb;
+ }
+
+ public void setSfsymbfb(Integer sfsymbfb) {
+ this.sfsymbfb = sfsymbfb;
+ }
+
+ public String getXzfb() {
+ return xzfb;
+ }
+
+ public void setXzfb(String xzfb) {
+ this.xzfb = xzfb;
+ }
+
+ public String getHtmc() {
+ return htmc;
+ }
+
+ public void setHtmc(String htmc) {
+ this.htmc = htmc;
+ }
+
+ public String getSfwdsf() {
+ return sfwdsf;
+ }
+
+ public void setSfwdsf(String sfwdsf) {
+ this.sfwdsf = sfwdsf;
+ }
+
+ public Integer getBmdj() {
+ return bmdj;
+ }
+
+ public void setBmdj(Integer bmdj) {
+ this.bmdj = bmdj;
+ }
+
+ public Integer getSfsw() {
+ return sfsw;
+ }
+
+ public void setSfsw(Integer sfsw) {
+ this.sfsw = sfsw;
+ }
+
+ public Integer getHtjexz() {
+ return htjexz;
+ }
+
+ public void setHtjexz(Integer htjexz) {
+ this.htjexz = htjexz;
+ }
+
+ public String getHtzje() {
+ return htzje;
+ }
+
+ public void setHtzje(String htzje) {
+ this.htzje = htzje;
+ }
+
+ public Integer getBz() {
+ return bz;
+ }
+
+ public void setBz(Integer bz) {
+ this.bz = bz;
+ }
+
+ public String getHtjedx() {
+ return htjedx;
+ }
+
+ public void setHtjedx(String htjedx) {
+ this.htjedx = htjedx;
+ }
+
+ public Integer getZhrmb() {
+ return zhrmb;
+ }
+
+ public void setZhrmb(Integer zhrmb) {
+ this.zhrmb = zhrmb;
+ }
+
+ public Integer getSflx() {
+ return sflx;
+ }
+
+ public void setSflx(Integer sflx) {
+ this.sflx = sflx;
+ }
+
+ public Integer getSffs() {
+ return sffs;
+ }
+
+ public void setSffs(Integer sffs) {
+ this.sffs = sffs;
+ }
+
+ public Integer getSfxjwfk() {
+ return sfxjwfk;
+ }
+
+ public void setSfxjwfk(Integer sfxjwfk) {
+ this.sfxjwfk = sfxjwfk;
+ }
+
+ public String getCgfwxxxx() {
+ return cgfwxxxx;
+ }
+
+ public void setCgfwxxxx(String cgfwxxxx) {
+ this.cgfwxxxx = cgfwxxxx;
+ }
+
+ public String getWdsfyy() {
+ return wdsfyy;
+ }
+
+ public void setWdsfyy(String wdsfyy) {
+ this.wdsfyy = wdsfyy;
+ }
+
+ public Integer getZt() {
+ return zt;
+ }
+
+ public void setZt(Integer zt) {
+ this.zt = zt;
+ }
+
+ public String getHtbh() {
+ return htbh;
+ }
+
+ public void setHtbh(String htbh) {
+ this.htbh = htbh;
+ }
+
+ public String getBhsje() {
+ return bhsje;
+ }
+
+ public void setBhsje(String bhsje) {
+ this.bhsje = bhsje;
+ }
+
+ public String getSyyhsxm() {
+ return syyhsxm;
+ }
+
+ public void setSyyhsxm(String syyhsxm) {
+ this.syyhsxm = syyhsxm;
+ }
+
+ public String getWsymbyy() {
+ return wsymbyy;
+ }
+
+ public void setWsymbyy(String wsymbyy) {
+ this.wsymbyy = wsymbyy;
+ }
+
+ public Integer getHtzwbj() {
+ return htzwbj;
+ }
+
+ public void setHtzwbj(Integer htzwbj) {
+ this.htzwbj = htzwbj;
+ }
+
+ public Integer getHtxz() {
+ return htxz;
+ }
+
+ public void setHtxz(Integer htxz) {
+ this.htxz = htxz;
+ }
+
+ public Integer getHtslz() {
+ return htslz;
+ }
+
+ public void setHtslz(Integer htslz) {
+ this.htslz = htslz;
+ }
+
+ public Integer getQcbm() {
+ return qcbm;
+ }
+
+ public void setQcbm(Integer qcbm) {
+ this.qcbm = qcbm;
+ }
+
+ public Integer getQcjg() {
+ return qcjg;
+ }
+
+ public void setQcjg(Integer qcjg) {
+ this.qcjg = qcjg;
+ }
+
+ public Integer getDqbb() {
+ return dqbb;
+ }
+
+ public void setDqbb(Integer dqbb) {
+ this.dqbb = dqbb;
+ }
+
+ public String getHtzw() {
+ return htzw;
+ }
+
+ public void setHtzw(String htzw) {
+ this.htzw = htzw;
+ }
+
+ public String getHtzwfzzd() {
+ return htzwfzzd;
+ }
+
+ public void setHtzwfzzd(String htzwfzzd) {
+ this.htzwfzzd = htzwfzzd;
+ }
+
+ public String getHtfj() {
+ return htfj;
+ }
+
+ public void setHtfj(String htfj) {
+ this.htfj = htfj;
+ }
+
+ public String getHtfjfzzd() {
+ return htfjfzzd;
+ }
+
+ public void setHtfjfzzd(String htfjfzzd) {
+ this.htfjfzzd = htfjfzzd;
+ }
+
+ public String getBeizhu() {
+ return beizhu;
+ }
+
+ public void setBeizhu(String beizhu) {
+ this.beizhu = beizhu;
+ }
+
+ public String getHtzwdzyyj() {
+ return htzwdzyyj;
+ }
+
+ public void setHtzwdzyyj(String htzwdzyyj) {
+ this.htzwdzyyj = htzwdzyyj;
+ }
+
+ public String getHtfjdzyyj() {
+ return htfjdzyyj;
+ }
+
+ public void setHtfjdzyyj(String htfjdzyyj) {
+ this.htfjdzyyj = htfjdzyyj;
+ }
+
+ public String getFhtlx() {
+ return fhtlx;
+ }
+
+ public void setFhtlx(String fhtlx) {
+ this.fhtlx = fhtlx;
+ }
+
+ public String getZscqgs() {
+ return zscqgs;
+ }
+
+ public void setZscqgs(String zscqgs) {
+ this.zscqgs = zscqgs;
+ }
+
+ public String getFid() {
+ return fid;
+ }
+
+ public void setFid(String fid) {
+ this.fid = fid;
+ }
+
+ public String getBgjlbd() {
+ return bgjlbd;
+ }
+
+ public void setBgjlbd(String bgjlbd) {
+ this.bgjlbd = bgjlbd;
+ }
+
+ public Integer getFpxz() {
+ return fpxz;
+ }
+
+ public void setFpxz(Integer fpxz) {
+ this.fpxz = fpxz;
+ }
+
+ public String getSh() {
+ return sh;
+ }
+
+ public void setSh(String sh) {
+ this.sh = sh;
+ }
+
+ public String getHtlxwb() {
+ return htlxwb;
+ }
+
+ public void setHtlxwb(String htlxwb) {
+ this.htlxwb = htlxwb;
+ }
+
+ public Integer getBzhlz() {
+ return bzhlz;
+ }
+
+ public void setBzhlz(Integer bzhlz) {
+ this.bzhlz = bzhlz;
+ }
+
+ public Integer getHtsplcrequestid() {
+ return htsplcrequestid;
+ }
+
+ public void setHtsplcrequestid(Integer htsplcrequestid) {
+ this.htsplcrequestid = htsplcrequestid;
+ }
+
+ public Integer getJshjje() {
+ return jshjje;
+ }
+
+ public void setJshjje(Integer jshjje) {
+ this.jshjje = jshjje;
+ }
+
+ public Integer getJsbz() {
+ return jsbz;
+ }
+
+ public void setJsbz(Integer jsbz) {
+ this.jsbz = jsbz;
+ }
+
+ public String getSfktj() {
+ return sfktj;
+ }
+
+ public void setSfktj(String sfktj) {
+ this.sfktj = sfktj;
+ }
+
+ public String getQcrq() {
+ return qcrq;
+ }
+
+ public void setQcrq(String qcrq) {
+ this.qcrq = qcrq;
+ }
+
+ public Integer getYyjgdzt() {
+ return yyjgdzt;
+ }
+
+ public void setYyjgdzt(Integer yyjgdzt) {
+ this.yyjgdzt = yyjgdzt;
+ }
+
+ public String getCgxgbm() {
+ return cgxgbm;
+ }
+
+ public void setCgxgbm(String cgxgbm) {
+ this.cgxgbm = cgxgbm;
+ }
+
+ public String getYyjdbs() {
+ return yyjdbs;
+ }
+
+ public void setYyjdbs(String yyjdbs) {
+ this.yyjdbs = yyjdbs;
+ }
+
+ public String getCyyz() {
+ return cyyz;
+ }
+
+ public void setCyyz(String cyyz) {
+ this.cyyz = cyyz;
+ }
+
+ public Integer getFormmodeid() {
+ return formmodeid;
+ }
+
+ public void setFormmodeid(Integer formmodeid) {
+ this.formmodeid = formmodeid;
+ }
+
+ public Integer getModedatacreater() {
+ return modedatacreater;
+ }
+
+ public void setModedatacreater(Integer modedatacreater) {
+ this.modedatacreater = modedatacreater;
+ }
+
+ public Integer getModedatacreatertype() {
+ return modedatacreatertype;
+ }
+
+ public void setModedatacreatertype(Integer modedatacreatertype) {
+ this.modedatacreatertype = modedatacreatertype;
+ }
+
+ public String getModedatacreatedate() {
+ return modedatacreatedate;
+ }
+
+ public void setModedatacreatedate(String modedatacreatedate) {
+ this.modedatacreatedate = modedatacreatedate;
+ }
+
+ public String getModedatacreatetime() {
+ return modedatacreatetime;
+ }
+
+ public void setModedatacreatetime(String modedatacreatetime) {
+ this.modedatacreatetime = modedatacreatetime;
+ }
+
+ public Integer getModedatamodifier() {
+ return modedatamodifier;
+ }
+
+ public void setModedatamodifier(Integer modedatamodifier) {
+ this.modedatamodifier = modedatamodifier;
+ }
+
+ public String getModedatamodifydatetime() {
+ return modedatamodifydatetime;
+ }
+
+ public void setModedatamodifydatetime(String modedatamodifydatetime) {
+ this.modedatamodifydatetime = modedatamodifydatetime;
+ }
+
+ public String getModeuuid() {
+ return modeuuid;
+ }
+
+ public void setModeuuid(String modeuuid) {
+ this.modeuuid = modeuuid;
+ }
+
+ public Integer getQcr() {
+ return qcr;
+ }
+
+ public void setQcr(Integer qcr) {
+ this.qcr = qcr;
+ }
+
+ public String getSyscode() {
+ return syscode;
+ }
+
+ public void setSyscode(String syscode) {
+ this.syscode = syscode;
+ }
+
+ public String getModulecode() {
+ return modulecode;
+ }
+
+ public void setModulecode(String modulecode) {
+ this.modulecode = modulecode;
+ }
+
+ public String getHtxgcp() {
+ return htxgcp;
+ }
+
+ public void setHtxgcp(String htxgcp) {
+ this.htxgcp = htxgcp;
+ }
+
+ public Integer getGdlx() {
+ return gdlx;
+ }
+
+ public void setGdlx(Integer gdlx) {
+ this.gdlx = gdlx;
+ }
+
+ public Integer getYspfl() {
+ return yspfl;
+ }
+
+ public void setYspfl(Integer yspfl) {
+ this.yspfl = yspfl;
+ }
+
+ public String getHtdsf() {
+ return htdsf;
+ }
+
+ public void setHtdsf(String htdsf) {
+ this.htdsf = htdsf;
+ }
+
+ public String getHtspr() {
+ return htspr;
+ }
+
+ public void setHtspr(String htspr) {
+ this.htspr = htspr;
+ }
+
+ public String getGlht() {
+ return glht;
+ }
+
+ public void setGlht(String glht) {
+ this.glht = glht;
+ }
+
+ public String getYz() {
+ return yz;
+ }
+
+ public void setYz(String yz) {
+ this.yz = yz;
+ }
+
+ public Integer getAutosealflag() {
+ return autosealflag;
+ }
+
+ public void setAutosealflag(Integer autosealflag) {
+ this.autosealflag = autosealflag;
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/com/engine/htxc/contract/entity/UfOtcdertraDt.java b/src/main/java/com/engine/htxc/contract/entity/UfOtcdertraDt.java
new file mode 100644
index 0000000..a898e36
--- /dev/null
+++ b/src/main/java/com/engine/htxc/contract/entity/UfOtcdertraDt.java
@@ -0,0 +1,241 @@
+package com.engine.htxc.contract.entity;
+/**
+ * @Title: ecology-9
+ * @Company: 泛微软件
+ * @author: K1810050
+ * @version: 1.0
+ * @CreateDate: 2022/8/18 21:26
+ * @Description: 场外衍生品明细表
+ * @ModifyLog:
+ **/
+public class UfOtcdertraDt {
+ private Integer id;
+
+ private Integer mainid;
+
+ private String wjmc;
+
+ private String cz;
+
+ private Integer sfyy;
+
+ private String scsj;
+
+ private String qrwlyy;
+
+ private Integer yyzt;
+
+ private String yyhwj;
+
+ private String zpdfhwj;
+
+ private Integer dzjyyzt;
+
+ private Integer fwjyyzt;
+
+ private Integer yyfs;
+
+ private Integer dzyyfs;
+
+ private Integer dsmdy;
+
+ private String fwdyfs;
+
+ private String wlyyfs;
+
+ private String qrdzyy;
+
+ private String yyid;
+
+ private String yyfswb;
+
+ private String dsf;
+
+ private String yyqksm;
+
+ private String yqxdyr;
+
+ public Integer getId() {
+ return id;
+ }
+
+ public void setId(Integer id) {
+ this.id = id;
+ }
+
+ public Integer getMainid() {
+ return mainid;
+ }
+
+ public void setMainid(Integer mainid) {
+ this.mainid = mainid;
+ }
+
+ public String getWjmc() {
+ return wjmc;
+ }
+
+ public void setWjmc(String wjmc) {
+ this.wjmc = wjmc;
+ }
+
+ public String getCz() {
+ return cz;
+ }
+
+ public void setCz(String cz) {
+ this.cz = cz;
+ }
+
+ public Integer getSfyy() {
+ return sfyy;
+ }
+
+ public void setSfyy(Integer sfyy) {
+ this.sfyy = sfyy;
+ }
+
+ public String getScsj() {
+ return scsj;
+ }
+
+ public void setScsj(String scsj) {
+ this.scsj = scsj;
+ }
+
+ public String getQrwlyy() {
+ return qrwlyy;
+ }
+
+ public void setQrwlyy(String qrwlyy) {
+ this.qrwlyy = qrwlyy;
+ }
+
+ public Integer getYyzt() {
+ return yyzt;
+ }
+
+ public void setYyzt(Integer yyzt) {
+ this.yyzt = yyzt;
+ }
+
+ public String getYyhwj() {
+ return yyhwj;
+ }
+
+ public void setYyhwj(String yyhwj) {
+ this.yyhwj = yyhwj;
+ }
+
+ public String getZpdfhwj() {
+ return zpdfhwj;
+ }
+
+ public void setZpdfhwj(String zpdfhwj) {
+ this.zpdfhwj = zpdfhwj;
+ }
+
+ public Integer getDzjyyzt() {
+ return dzjyyzt;
+ }
+
+ public void setDzjyyzt(Integer dzjyyzt) {
+ this.dzjyyzt = dzjyyzt;
+ }
+
+ public Integer getFwjyyzt() {
+ return fwjyyzt;
+ }
+
+ public void setFwjyyzt(Integer fwjyyzt) {
+ this.fwjyyzt = fwjyyzt;
+ }
+
+ public Integer getYyfs() {
+ return yyfs;
+ }
+
+ public void setYyfs(Integer yyfs) {
+ this.yyfs = yyfs;
+ }
+
+ public Integer getDzyyfs() {
+ return dzyyfs;
+ }
+
+ public void setDzyyfs(Integer dzyyfs) {
+ this.dzyyfs = dzyyfs;
+ }
+
+ public Integer getDsmdy() {
+ return dsmdy;
+ }
+
+ public void setDsmdy(Integer dsmdy) {
+ this.dsmdy = dsmdy;
+ }
+
+ public String getFwdyfs() {
+ return fwdyfs;
+ }
+
+ public void setFwdyfs(String fwdyfs) {
+ this.fwdyfs = fwdyfs;
+ }
+
+ public String getWlyyfs() {
+ return wlyyfs;
+ }
+
+ public void setWlyyfs(String wlyyfs) {
+ this.wlyyfs = wlyyfs;
+ }
+
+ public String getQrdzyy() {
+ return qrdzyy;
+ }
+
+ public void setQrdzyy(String qrdzyy) {
+ this.qrdzyy = qrdzyy;
+ }
+
+ public String getYyid() {
+ return yyid;
+ }
+
+ public void setYyid(String yyid) {
+ this.yyid = yyid;
+ }
+
+ public String getYyfswb() {
+ return yyfswb;
+ }
+
+ public void setYyfswb(String yyfswb) {
+ this.yyfswb = yyfswb;
+ }
+
+ public String getDsf() {
+ return dsf;
+ }
+
+ public void setDsf(String dsf) {
+ this.dsf = dsf;
+ }
+
+ public String getYyqksm() {
+ return yyqksm;
+ }
+
+ public void setYyqksm(String yyqksm) {
+ this.yyqksm = yyqksm;
+ }
+
+ public String getYqxdyr() {
+ return yqxdyr;
+ }
+
+ public void setYqxdyr(String yqxdyr) {
+ this.yqxdyr = yqxdyr;
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/com/engine/htxc/contract/entity/UfProduct.java b/src/main/java/com/engine/htxc/contract/entity/UfProduct.java
new file mode 100644
index 0000000..7fcc389
--- /dev/null
+++ b/src/main/java/com/engine/htxc/contract/entity/UfProduct.java
@@ -0,0 +1,59 @@
+package com.engine.htxc.contract.entity;
+
+/**
+ * @Title: ecology-9
+ * @Company: 泛微软件
+ * @author: K1810050
+ * @version: 1.0
+ * @CreateDate: 2022/8/2316:02
+ * @Description: 产品建模表
+ * @ModifyLog:
+ **/
+public class UfProduct {
+ private Integer id;
+ private String productid;
+ private String productname;
+ private Integer requestid;
+
+ public Integer getId() {
+ return id;
+ }
+
+ public void setId(Integer id) {
+ this.id = id;
+ }
+
+ public String getProductid() {
+ return productid;
+ }
+
+ public void setProductid(String productid) {
+ this.productid = productid;
+ }
+
+ public String getProductname() {
+ return productname;
+ }
+
+ public void setProductname(String productname) {
+ this.productname = productname;
+ }
+
+ public Integer getRequestid() {
+ return requestid;
+ }
+
+ public void setRequestid(Integer requestid) {
+ this.requestid = requestid;
+ }
+
+ @Override
+ public String toString() {
+ return "UfProduct{" +
+ "id=" + id +
+ ", productid='" + productid + '\'' +
+ ", productname='" + productname + '\'' +
+ ", requestid=" + requestid +
+ '}';
+ }
+}
diff --git a/src/main/java/com/engine/htxc/contract/entity/UfProductCounterParty.java b/src/main/java/com/engine/htxc/contract/entity/UfProductCounterParty.java
new file mode 100644
index 0000000..bf9e614
--- /dev/null
+++ b/src/main/java/com/engine/htxc/contract/entity/UfProductCounterParty.java
@@ -0,0 +1,61 @@
+package com.engine.htxc.contract.entity;
+
+/**
+ * @Title: ecology-9
+ * @Company: 泛微软件
+ * @author: K1810050
+ * @version: 1.0
+ * @CreateDate: 2022/8/2316:31
+ * @Description:
+ * @ModifyLog:
+ **/
+public class UfProductCounterParty{
+ private Integer id;
+
+ private Integer requestid;
+ private String productid;
+ private String socialcreditcode;
+
+ public Integer getId() {
+ return id;
+ }
+
+ public void setId(Integer id) {
+ this.id = id;
+ }
+
+ public Integer getRequestid() {
+ return requestid;
+ }
+
+ public void setRequestid(Integer requestid) {
+ this.requestid = requestid;
+ }
+
+
+ public String getProductid() {
+ return productid;
+ }
+
+ public void setProductid(String productid) {
+ this.productid = productid;
+ }
+
+ public String getSocialcreditcode() {
+ return socialcreditcode;
+ }
+
+ public void setSocialcreditcode(String socialcreditcode) {
+ this.socialcreditcode = socialcreditcode;
+ }
+
+ @Override
+ public String toString() {
+ return "UfProductCounterParty{" +
+ "id=" + id +
+ ", requestid=" + requestid +
+ ", productid='" + productid + '\'' +
+ ", socialcreditcode='" + socialcreditcode + '\'' +
+ '}';
+ }
+}
diff --git a/src/main/java/com/engine/htxc/contract/entity/UserEntity.java b/src/main/java/com/engine/htxc/contract/entity/UserEntity.java
new file mode 100644
index 0000000..dc900b7
--- /dev/null
+++ b/src/main/java/com/engine/htxc/contract/entity/UserEntity.java
@@ -0,0 +1,26 @@
+package com.engine.htxc.contract.entity;
+
+import lombok.Data;
+
+/**
+ * @Title: ecology-9
+ * @Company: 泛微软件
+ * @author: K1810050
+ * @version: 1.0
+ * @CreateDate: 2022/9/2617:01
+ * @Description: 用户信息,多个表关联数据
+ * @ModifyLog:
+ **/
+@Data
+public class UserEntity {
+ private String loginid;
+ private Integer userid;
+ private String username;
+ private String telephone;
+ private String email;
+ private Integer departmentid;
+ private String workcode;
+ private String departmentname;
+ private String departmentcode;
+ private String jobCode;
+}
diff --git a/src/main/java/com/engine/htxc/contract/mapper/CounterPartyMapper.java b/src/main/java/com/engine/htxc/contract/mapper/CounterPartyMapper.java
new file mode 100644
index 0000000..e9a623f
--- /dev/null
+++ b/src/main/java/com/engine/htxc/contract/mapper/CounterPartyMapper.java
@@ -0,0 +1,17 @@
+package com.engine.htxc.contract.mapper;
+
+import com.engine.htxc.contract.entity.UfDsfgl;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
+
+public interface CounterPartyMapper {
+ @Select({""})
+ List selectCounterPartyByCertCode(@Param("items") List certCodes);
+}
diff --git a/src/main/java/com/engine/htxc/contract/modeaction/SaveBankInfoToCounterpartyAction.java b/src/main/java/com/engine/htxc/contract/modeaction/SaveBankInfoToCounterpartyAction.java
new file mode 100644
index 0000000..82d9e23
--- /dev/null
+++ b/src/main/java/com/engine/htxc/contract/modeaction/SaveBankInfoToCounterpartyAction.java
@@ -0,0 +1,56 @@
+package com.engine.htxc.contract.modeaction;
+
+
+import com.engine.common.util.ServiceUtil;
+import com.engine.htxc.commonutil.db.DbTools;
+import com.engine.htxc.contract.service.ContractService;
+import com.engine.htxc.contract.service.impl.ContractServiceImpl;
+import com.google.common.collect.Maps;
+import weaver.formmode.customjavacode.AbstractModeExpandJavaCodeNew;
+import weaver.general.Util;
+import weaver.hrm.User;
+import weaver.soa.workflow.request.RequestInfo;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author K1810015
+ * @version 1.0.0
+ * @ClassName ContractdoctopdfAction.java
+ * @createTime 2022年07月29日 13:44:00
+ */
+public class SaveBankInfoToCounterpartyAction extends AbstractModeExpandJavaCodeNew {
+ private DbTools dbtools=new DbTools();
+
+ private ContractService getService() {
+ return ServiceUtil.getService(ContractServiceImpl.class);
+ }
+ @Override
+ public Map doModeExpand(Map param) {
+ Map result = new HashMap();
+ try {
+ User user = (User)param.get("user");
+ int billid = -1;//数据id
+ int modeid = -1;//模块id
+ RequestInfo requestInfo = (RequestInfo)param.get("RequestInfo");
+ if(requestInfo!=null){
+ billid = Util.getIntValue(requestInfo.getRequestid());
+ modeid = Util.getIntValue(requestInfo.getWorkflowid());
+ if(billid>0&&modeid>0){
+ String tableName = dbtools.getFormmodeidToTable(String.valueOf(modeid))+"_dt2";
+ String sql = "select htdsf,yxzh,khx from "+tableName+" where mainid="+billid;
+ List> dataList = dbtools.getSqlToList(sql);
+ Map data = Maps.newHashMap();
+ data.put("data",dataList);
+ Map map = getService().saveBankInfoToCounterparty(data);
+ }
+ }
+ } catch (Exception e) {
+ result.put("errmsg",e.getMessage());
+ result.put("flag", "false");
+ }
+ return result;
+ }
+}
diff --git a/src/main/java/com/engine/htxc/contract/modeexpand/RecordcontractCreationVersionExpand.java b/src/main/java/com/engine/htxc/contract/modeexpand/RecordcontractCreationVersionExpand.java
new file mode 100644
index 0000000..fcb23f3
--- /dev/null
+++ b/src/main/java/com/engine/htxc/contract/modeexpand/RecordcontractCreationVersionExpand.java
@@ -0,0 +1,48 @@
+package com.engine.htxc.contract.modeexpand;
+
+
+import com.engine.htxc.contract.util.RecordChangeVersion;
+import org.apache.log4j.Logger;
+import weaver.formmode.customjavacode.AbstractModeExpandJavaCodeNew;
+import weaver.general.BaseBean;
+import weaver.general.Util;
+import weaver.soa.workflow.request.RequestInfo;
+
+import java.util.HashMap;
+import java.util.Map;
+
+public class RecordcontractCreationVersionExpand extends AbstractModeExpandJavaCodeNew {
+ /**
+ * 执行模块扩展动作
+ * @param param
+ * param包含(但不限于)以下数据
+ * user 当前用户
+ * importtype 导入方式(仅在批量导入的接口动作会传输) 1 追加,2覆盖,3更新,获取方式(int)param.get("importtype")
+ * 导入链接中拼接的特殊参数(仅在批量导入的接口动作会传输),比如a=1,可通过param.get("a")获取参数值
+ * 页面链接拼接的参数,比如b=2,可以通过param.get("b")来获取参数
+ * @return
+ */
+ public Map doModeExpand(Map param) {
+ Map result = new HashMap();
+ try {
+ Logger.getLogger(this.getClass().getName()).info("扩展接口参数param :"+param);
+ int billid = -1;//数据id
+ int modeid = -1;//模块id
+ RequestInfo requestInfo = (RequestInfo)param.get("RequestInfo");
+ if(requestInfo!=null){
+ billid = Util.getIntValue(requestInfo.getRequestid());
+ modeid = Util.getIntValue(requestInfo.getWorkflowid());
+ if(billid>0&&modeid>0){
+ //------请在下面编写业务逻辑代码------
+ RecordChangeVersion.recordChangeVersion(billid,"uf_htqc");
+ }
+ }
+ } catch (Exception e) {
+ result.put("errmsg",e.getMessage());
+ result.put("flag", "false");
+ }
+ return result;
+ }
+
+
+}
diff --git a/src/main/java/com/engine/htxc/contract/number/cmd/ContractNumberCmd.java b/src/main/java/com/engine/htxc/contract/number/cmd/ContractNumberCmd.java
new file mode 100644
index 0000000..cee6334
--- /dev/null
+++ b/src/main/java/com/engine/htxc/contract/number/cmd/ContractNumberCmd.java
@@ -0,0 +1,208 @@
+package com.engine.htxc.contract.number.cmd;
+
+import cn.hutool.core.date.DateTime;
+import cn.hutool.core.date.DateUtil;
+import com.engine.common.biz.AbstractCommonCommand;
+import com.engine.common.entity.BizLogContext;
+import com.engine.core.interceptor.CommandContext;
+import com.engine.htxc.contract.number.config.NumberConfig;
+import com.engine.htxc.contract.number.entity.Uf_ContractNoAggr;
+import com.engine.htxc.contract.number.entity.Uf_ContractNoAggrUtil;
+import com.engine.integration.util.StringUtils;
+import weaver.conn.RecordSet;
+import weaver.general.Util;
+import weaver.hrm.User;
+import weaver.interfaces.htsc.GlobatTools.DBTools;
+import weaver.interfaces.htsc.GlobatTools.JAVATools;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * @author K1810015
+ * @version 1.0.0
+ * @ClassName ContractNumberCmd.java
+ * @createTime 2022年06月08日 14:24:00
+ */
+public class ContractNumberCmd extends AbstractCommonCommand> {
+
+ public ContractNumberCmd(Map params, User user) {
+ this.params = params;
+ this.user = user;
+ }
+ @Override
+ public BizLogContext getLogContext() {
+ return null;
+ }
+
+ @Override
+ public Map execute(CommandContext commandContext) {
+ String billid= Util.null2String(this.params.get("billid"));
+ Map maintable=gethtqcmap(billid);
+ Map retmap=new HashMap();
+ if(maintable==null || maintable.size()<=0){
+ return null;
+ }
+ boolean iscreate=false;
+ String htlx=Util.null2String(maintable.get("htlx"));
+ String deptid=Util.null2String(this.user.getUserDepartment());
+ Uf_ContractNoAggr uf_contractNoAggr = Uf_ContractNoAggrUtil.getmodeluf_contractnoaggr(billid);
+ if(uf_contractNoAggr==null || StringUtils.isBlank(uf_contractNoAggr.getId())){
+ iscreate=true;
+ uf_contractNoAggr=new Uf_ContractNoAggr();
+ }
+ if(!iscreate){
+ String modehtlx=Util.null2String(uf_contractNoAggr.getHtlx());
+ if(modehtlx.equals(htlx)){
+ retmap.put("data",true);
+ return retmap;
+ }
+ }
+ NumberConfig numberconfig= (NumberConfig)this.params.get("numberconfig");
+ String year= DateUtil.format(DateTime.now(),"yyyy");
+ String month=DateUtil.format(DateTime.now(),"MM");
+ String day=DateUtil.format(DateTime.now(),"dd");
+ Map deptmap= getdeptname(deptid);
+ String deptmark=Util.null2String(deptmap.get("docnumabbreviation"));
+ Map maxnomap=new HashMap<>();
+ maxnomap.put("year",year);
+ maxnomap.put("deptname",deptmark);
+ maxnomap.put("prefix",numberconfig.prefix);
+ if(!iscreate && !StringUtils.isBlank(uf_contractNoAggr.getId())){
+ maxnomap.put("id",uf_contractNoAggr.getId());
+ }
+ Integer maxno=getmaxno(maxnomap);
+ if(maxno<=0){
+ maxno=numberconfig.firstNo;
+ }else{
+ maxno+=1;
+ }
+ maxno=numbernofilter(maxno,numberconfig.positionNo);
+ if(maxno<0){
+ return null;
+ }
+ try {
+ uf_contractNoAggr.setDay(day);
+ uf_contractNoAggr.setMonth(month);
+ uf_contractNoAggr.setYear(year);
+ uf_contractNoAggr.setZzbh(maxno);
+ uf_contractNoAggr.setZzjgjc(deptmark);
+ uf_contractNoAggr.setQz(numberconfig.prefix);
+ uf_contractNoAggr.setMbid(billid);
+ uf_contractNoAggr.setHtlx(htlx);
+ if(StringUtils.isBlank(uf_contractNoAggr.getId())){
+ uf_contractNoAggr.create();
+ }else{
+ uf_contractNoAggr.updata();
+ }
+
+ StringBuilder mark = new StringBuilder(maxno + "");
+ while (mark.length() < numberconfig.length) {
+ mark.insert(0, "0");
+ }
+ String htlxvalue="";
+ if(!StringUtils.isBlank(htlx)){
+ htlxvalue=htlx.split("-").length>1?htlx.split("-")[htlx.split("-").length-1]:"";
+ }
+ boolean flag=updatemodel(billid,numberconfig.prefix+deptmark+year+month+day+htlxvalue+mark);
+ retmap.put("data",flag);
+ return retmap;
+ }catch (Exception ex){
+
+ }
+ return null;
+ }
+
+
+ public boolean updatemodel(String billid,String htbh){
+ if(StringUtils.isBlank(billid) || StringUtils.isBlank(htbh)){
+ return false;
+ }
+
+ Map setmap=new HashMap<>();
+ setmap.put("htbh",htbh);
+ Map wheremap=new HashMap<>();
+ wheremap.put("id",billid);
+ return JAVATools.Updatesql(setmap,"uf_htqc",wheremap);
+ }
+
+
+ public Map gethtqcmap(String billid){
+ if(StringUtils.isBlank(billid)){
+ return null;
+ }
+ String sql="select htlx from uf_htqc where id=?";
+ return DBTools.getsqltomap(sql,billid);
+ }
+
+ /**
+ * @title numbernofilter
+ * @author K1810015
+ * @updateTime 2022/6/10 9:58
+ * @Remark 做过滤
+ * @throws
+ */
+ public Integer numbernofilter(int numberno,String positionNo){
+ if((","+positionNo+",").indexOf(","+numberno+",")<0){
+ return numberno;
+ }
+ boolean flag=true;
+ int sum=0;
+ while(flag&&sum<10000){
+ numberno+=1;
+ if((","+positionNo+",").indexOf(","+numberno+",")<0){
+ flag =false;
+ }
+ }
+ if(flag){
+ return -1;
+ }
+ return numberno;
+ }
+
+ /**
+ * @title getmaxno
+ * @author K1810015
+ * @updateTime 2022/6/9 15:29
+ * @Remark 获取建模表里最大的数据
+ * @throws
+ */
+ public Integer getmaxno(Map map){
+ String year=Util.null2String(map.get("year"));
+ String deptname=Util.null2String(map.get("deptname"));
+ String prefix=Util.null2String(map.get("prefix"));
+ String id=Util.null2String(map.get("id"));
+ Map retmap=null;
+ if(StringUtils.isBlank(id)){
+ String sql="select max(zzbh) as zzbh from uf_ContractNoAggr where qz=? and year=? and zzjgjc=? ";
+ retmap=DBTools.getsqltomap(sql,prefix,year,deptname);
+ }else{
+ String sql="select zzbh-1 as zzbh from uf_ContractNoAggr where id=?";
+ retmap=DBTools.getsqltomap(sql,id);
+
+ }
+ if(retmap==null || retmap.size()<=0){
+ return -1;
+ }
+ int maxno =Util.getIntValue(Util.null2String(retmap.get("zzbh")),-1);
+ return maxno;
+ }
+
+ /**
+ * @title getdeptname
+ * @author K1810015
+ * @updateTime 2022/6/9 15:08
+ * @Remark 获取部门扩展表的所有数据
+ * @throws
+ */
+ public Map getdeptname(String deptid){
+ RecordSet rs=new RecordSet();
+ if(StringUtils.isBlank(deptid)){
+ return null;
+ }
+ String sql="select * from hrmdepartmentdefined where 1=1 and deptid=?" ;
+ return DBTools.getsqltomap(sql,deptid);
+ }
+
+
+}
diff --git a/src/main/java/com/engine/htxc/contract/number/config/NumberConfig.java b/src/main/java/com/engine/htxc/contract/number/config/NumberConfig.java
new file mode 100644
index 0000000..7b32ded
--- /dev/null
+++ b/src/main/java/com/engine/htxc/contract/number/config/NumberConfig.java
@@ -0,0 +1,20 @@
+package com.engine.htxc.contract.number.config;
+
+/**
+ * @author K1810015
+ * @version 1.0.0
+ * @ClassName ContractConfig.java
+ * @createTime 2022年06月08日 14:09:00
+ */
+public class NumberConfig {
+
+ public int length=5;
+
+ public String positionNo="";
+
+ public int firstNo=1;
+
+ public String prefix="";
+
+
+}
diff --git a/src/main/java/com/engine/htxc/contract/number/entity/Uf_ContractNoAggr.java b/src/main/java/com/engine/htxc/contract/number/entity/Uf_ContractNoAggr.java
new file mode 100644
index 0000000..a55ddd4
--- /dev/null
+++ b/src/main/java/com/engine/htxc/contract/number/entity/Uf_ContractNoAggr.java
@@ -0,0 +1,119 @@
+package com.engine.htxc.contract.number.entity;
+
+import weaver.interfaces.htsc.GlobatTools.TableUtils;
+
+/**
+ * @author K1810015
+ * @version 1.0.0
+ * @ClassName Uf_ContractNoAggr.java
+ * @createTime 2022年06月09日 14:43:00
+ */
+public class Uf_ContractNoAggr extends TableUtils {
+ public String qz;
+
+ public String getQz() {
+ return qz;
+ }
+
+ public void setQz(String qz) {
+ this.qz = qz;
+ }
+
+ public String getYear() {
+ return year;
+ }
+
+ public void setYear(String year) {
+ this.year = year;
+ }
+
+ public String getMonth() {
+ return month;
+ }
+
+ public void setMonth(String month) {
+ this.month = month;
+ }
+
+ public String getDay() {
+ return day;
+ }
+
+ public void setDay(String day) {
+ this.day = day;
+ }
+
+ public String getZzjgjc() {
+ return zzjgjc;
+ }
+
+ public void setZzjgjc(String zzjgjc) {
+ this.zzjgjc = zzjgjc;
+ }
+
+ public String getHtflbh() {
+ return htflbh;
+ }
+
+ public void setHtflbh(String htflbh) {
+ this.htflbh = htflbh;
+ }
+
+
+ public String year;
+ public String month;
+ public String day;
+ public String zzjgjc;
+ public String htflbh;
+
+ public String getMbid() {
+ return mbid;
+ }
+
+ public void setMbid(String mbid) {
+ this.mbid = mbid;
+ }
+
+ public String getHtlx() {
+ return htlx;
+ }
+
+ public void setHtlx(String htlx) {
+ this.htlx = htlx;
+ }
+
+ public String mbid;
+ public String htlx;
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String id;
+ public Integer getZzbh() {
+ return zzbh;
+ }
+
+ public void setZzbh(Integer zzbh) {
+ this.zzbh = zzbh;
+ }
+
+ public Integer zzbh;
+
+ @Override
+ public String toString() {
+ return "Uf_ContractNoAggr{" +
+ "qz='" + qz + '\'' +
+ ", year='" + year + '\'' +
+ ", month='" + month + '\'' +
+ ", day='" + day + '\'' +
+ ", zzjgjc='" + zzjgjc + '\'' +
+ ", htflbh='" + htflbh + '\'' +
+ ", zzbh='" + zzbh + '\'' +
+ '}';
+ }
+}
diff --git a/src/main/java/com/engine/htxc/contract/number/entity/Uf_ContractNoAggrUtil.java b/src/main/java/com/engine/htxc/contract/number/entity/Uf_ContractNoAggrUtil.java
new file mode 100644
index 0000000..5d758fe
--- /dev/null
+++ b/src/main/java/com/engine/htxc/contract/number/entity/Uf_ContractNoAggrUtil.java
@@ -0,0 +1,43 @@
+package com.engine.htxc.contract.number.entity;
+
+import com.engine.integration.util.StringUtils;
+import weaver.general.Util;
+import weaver.interfaces.htsc.GlobatTools.DBTools;
+import weaver.interfaces.htsc.GlobatTools.TableUtils;
+
+import java.util.Map;
+
+/**
+ * @author K1810015
+ * @version 1.0.0
+ * @ClassName Uf_ContractNoAggr.java
+ * @createTime 2022年06月09日 14:43:00
+ */
+public class Uf_ContractNoAggrUtil extends TableUtils {
+
+
+ public static Uf_ContractNoAggr getmodeluf_contractnoaggr(String modeid){
+ String sql="select id from Uf_ContractNoAggr where 1=1 and mbid=?";
+ Map map=DBTools.getsqltomap(sql,modeid);
+ if(map==null || map.size()<=0){
+ return null;
+ }
+ String id= Util.null2String(map.get("id"));
+ if(StringUtils.isBlank(id)){
+ return null;
+ }
+ try{
+ Uf_ContractNoAggr uf_contractNoAggr=(Uf_ContractNoAggr) new Uf_ContractNoAggr().select(id);
+ if(uf_contractNoAggr==null){
+ return null;
+ }
+ if(StringUtils.isBlank(uf_contractNoAggr.getId())){
+ return null;
+ };
+ return uf_contractNoAggr;
+ }catch (Exception e){
+
+ }
+ return null;
+ }
+}
diff --git a/src/main/java/com/engine/htxc/contract/number/service/ContractNumberService.java b/src/main/java/com/engine/htxc/contract/number/service/ContractNumberService.java
new file mode 100644
index 0000000..e131573
--- /dev/null
+++ b/src/main/java/com/engine/htxc/contract/number/service/ContractNumberService.java
@@ -0,0 +1,16 @@
+package com.engine.htxc.contract.number.service;
+
+import weaver.hrm.User;
+
+import java.util.Map;
+
+/**
+ * @author K1810015
+ * @version 1.0.0
+ * @ClassName ContractNumberService.java
+ * @createTime 2022年06月08日 14:20:00
+ */
+public interface ContractNumberService {
+
+ public Boolean createNumber(Map map, User user);
+}
diff --git a/src/main/java/com/engine/htxc/contract/number/service/impl/ContractNumberServiceImpl.java b/src/main/java/com/engine/htxc/contract/number/service/impl/ContractNumberServiceImpl.java
new file mode 100644
index 0000000..551e54a
--- /dev/null
+++ b/src/main/java/com/engine/htxc/contract/number/service/impl/ContractNumberServiceImpl.java
@@ -0,0 +1,94 @@
+package com.engine.htxc.contract.number.service.impl;
+
+import com.engine.htsc.seal.web.RedisTools;
+import com.engine.htxc.contract.number.cmd.ContractNumberCmd;
+import com.engine.htxc.contract.number.config.NumberConfig;
+import com.engine.htxc.contract.number.service.ContractNumberService;
+import com.engine.core.impl.Service;
+import com.engine.integration.util.StringUtils;
+import redis.clients.jedis.Jedis;
+import weaver.general.BaseBean;
+import weaver.general.Util;
+import weaver.hrm.User;
+import weaver.interfaces.htsc.comInfo.PropBean;
+import weaver.wechat.util.Utils;
+
+import java.util.Map;
+
+/**
+ * @author K1810015
+ * @version 1.0.0
+ * @ClassName ContractNumberServiceImpl.java
+ * @createTime 2022年06月08日 14:20:00
+ */
+public class ContractNumberServiceImpl extends Service implements ContractNumberService {
+
+ private PropBean pb=new PropBean();
+ private BaseBean bs=new BaseBean();
+ @Override
+ public Boolean createNumber(Map map, User user) {
+
+ if(map==null || map.size()<=0 ){
+ return false;
+ }
+ NumberConfig numberConfig=new NumberConfig();
+ //先去取外部的变量因素
+ String firstno= Utils.null2String(pb.getPropName("contract.firstno"));
+ String positionno= Utils.null2String(pb.getPropName("contract.positionno"));
+ String prefix=Utils.null2String(pb.getPropName("contract.prefix"));
+ if(StringUtils.isBlank(prefix)){
+ return false;
+ }
+ numberConfig.prefix=prefix;
+ if(!StringUtils.isBlank(positionno)){
+ numberConfig.positionNo=positionno;
+ }
+ if(!StringUtils.isBlank(firstno)){
+ int isum=Util.getIntValue(firstno,-1);
+ if(isum>0){
+ numberConfig.firstNo=isum;
+ }
+ }
+
+ map.put("numberconfig",numberConfig);
+ //重置配置 config文件
+
+ String deptid=Util.null2String(user.getUserDepartment());
+
+ // Jedis jedis = RedisTools.GetJedis();
+ // String rediskey = "dept"+deptid+"_redis_key";
+ boolean flag=false;
+ Map retmap= new ContractNumberCmd(map,user).execute(null);
+ String value="";
+ if(retmap!=null && retmap.size()>0){
+ value=Util.null2String(retmap.get("data"));
+ }
+ if("true".equals(value)){
+ flag= true;
+ }
+// try{
+// int counts=0;
+// int expireTime=Util.getIntValue(Util.null2String(pb.getPropName("RedisExpiretime")));
+// boolean redisfalg=RedisTools.TryGetDistributedLock(jedis,rediskey,deptid,expireTime);
+// bs.writeLog("redis开始状态:"+redisfalg+",deptid:"+deptid);
+// while (redisfalg==false && counts<10) {
+// Thread.sleep(500);
+// counts++;
+// redisfalg=RedisTools.TryGetDistributedLock(jedis,rediskey,deptid,expireTime);
+// }
+// bs.writeLog("redis结束状态:"+redisfalg+",deptid:"+deptid);
+// }catch (Exception e){
+// bs.writeLog(rediskey+"保存失败"+e.getMessage());
+// }finally {
+// bs.writeLog(rediskey+"解锁开始");
+// RedisTools.releaseDistributedLock(jedis,rediskey,deptid);
+// bs.writeLog(rediskey+"解锁结束");
+// bs.writeLog(rediskey+"释放锁开始");
+// jedis.close();
+// bs.writeLog(rediskey+"释放锁结束");
+// }
+ return flag;
+ }
+
+
+}
diff --git a/src/main/java/com/engine/htxc/contract/service/ContractListService.java b/src/main/java/com/engine/htxc/contract/service/ContractListService.java
new file mode 100644
index 0000000..3068eff
--- /dev/null
+++ b/src/main/java/com/engine/htxc/contract/service/ContractListService.java
@@ -0,0 +1,8 @@
+package com.engine.htxc.contract.service;
+
+import java.util.Map;
+
+public interface ContractListService {
+
+ Map deleteData(Map paramMap);
+}
diff --git a/src/main/java/com/engine/htxc/contract/service/ContractService.java b/src/main/java/com/engine/htxc/contract/service/ContractService.java
new file mode 100644
index 0000000..61cf352
--- /dev/null
+++ b/src/main/java/com/engine/htxc/contract/service/ContractService.java
@@ -0,0 +1,99 @@
+package com.engine.htxc.contract.service;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.engine.htxc.contract.dto.ContractProcessDTO;
+import com.engine.htxc.contract.dto.ProcessInfoDTO;
+import com.engine.htxc.contract.entity.CghtMainEntity;
+import weaver.hrm.User;
+
+import java.util.Map;
+
+/**
+ * @author K1810015
+ * @version 1.0.0
+ * @ClassName ContractService.java
+ * @createTime 2022年07月01日 09:59:00
+ */
+public interface ContractService {
+
+ /**
+ * 备份出一个新的附件
+ * @title getfileinfo
+ * @author K1810015
+ * @updateTime 2022/9/5 10:51
+ */
+ public JSONArray getfileinfo(User user,Map map);
+
+ /**
+ * 获取附件的详细细信息
+ * @title getdocimagefileinfo
+ * @author K1810015
+ * @updateTime 2022/9/5 10:52
+ */
+ public JSONArray getdocimagefileinfo(User user,Map map);
+
+ /**
+ * 修改合同状态
+ * @title updateStatus
+ * @author K1810015
+ * @updateTime 2022/9/5 10:51
+ */
+ public boolean updateStatus(User user,Map map);
+
+ public boolean updateContractenType(User user,Map map);
+
+ /**
+ * 合同建模发起流程取消关联
+ * @title unLinkMode
+ * @author K1810015
+ * @updateTime 2022/9/5 10:51
+ */
+ public String unLinkMode(User user,Map map);
+
+ /**
+ * 合同建模发起流程关联
+ * @title linkMode
+ * @author K1810015
+ * @updateTime 2022/9/5 10:50
+ */
+ public String linkMode(User user,Map map);
+
+ /**
+ * 分送节点人员下一步骤必填选项
+ * @title WorkflowNextJudge
+ * @author K1810015
+ * @updateTime 2022/8/26 14:37
+ */
+ public String workflowNextJudge(User user,Map map);
+
+ public String guidePages(User user,Map map);
+
+ /**
+ * 根据获取合同建模里所有印章的名称
+ * @title todosealname
+ * @author K1810015
+ * @updateTime 2022/9/5 10:47
+ */
+ public String todosealname(User user,Map map);
+
+
+ /**
+ * 采购发起合同草稿
+ * @param cghtMainEntity
+ * @return
+ */
+ CghtMainEntity createCghtqc(CghtMainEntity cghtMainEntity);
+
+
+ /**
+ * 创建合同并发起合同流程
+ * @param user 系统用户
+ * @param contractProcessDTO 合同流程数据
+ * @return
+ */
+ ProcessInfoDTO startContractProcess(User user, ContractProcessDTO contractProcessDTO);
+
+ Map saveBankInfoToCounterparty(Map paramMap);
+
+}
diff --git a/src/main/java/com/engine/htxc/contract/service/ContractUpdateWfService.java b/src/main/java/com/engine/htxc/contract/service/ContractUpdateWfService.java
new file mode 100644
index 0000000..9194a77
--- /dev/null
+++ b/src/main/java/com/engine/htxc/contract/service/ContractUpdateWfService.java
@@ -0,0 +1,16 @@
+package com.engine.htxc.contract.service;
+
+import weaver.hrm.User;
+
+import java.util.Map;
+
+/**
+ * @author K1810015
+ * @version 1.0.0
+ * @ClassName ContractUpdateWfService.java
+ * @createTime 2022年08月12日 11:31:00
+ */
+public interface ContractUpdateWfService {
+
+ public void updateworkflow(Map map, User user);
+}
diff --git a/src/main/java/com/engine/htxc/contract/service/ContractdoctopdfService.java b/src/main/java/com/engine/htxc/contract/service/ContractdoctopdfService.java
new file mode 100644
index 0000000..d3ca9da
--- /dev/null
+++ b/src/main/java/com/engine/htxc/contract/service/ContractdoctopdfService.java
@@ -0,0 +1,21 @@
+package com.engine.htxc.contract.service;
+
+import java.util.Map;
+
+/**
+ * @author K1810015
+ * @version 1.0.0
+ * @ClassName ContractdoctopdfService.java
+ * @createTime 2022年07月29日 13:50:00
+ */
+public interface ContractdoctopdfService {
+
+ /**
+ * 建模保存之后doc转dpf
+ * @title doctopdf
+ * @author K1810015
+ * @updateTime 2022/7/31 23:15
+ * @throws
+ */
+ public void doctopdf(Map map);
+}
diff --git a/src/main/java/com/engine/htxc/contract/service/CounterpartyService.java b/src/main/java/com/engine/htxc/contract/service/CounterpartyService.java
new file mode 100644
index 0000000..24e660f
--- /dev/null
+++ b/src/main/java/com/engine/htxc/contract/service/CounterpartyService.java
@@ -0,0 +1,8 @@
+package com.engine.htxc.contract.service;
+
+import java.util.Map;
+
+public interface CounterpartyService {
+
+ Map getRoleName(Map map);
+}
diff --git a/src/main/java/com/engine/htxc/contract/service/ProductCounterpartyService.java b/src/main/java/com/engine/htxc/contract/service/ProductCounterpartyService.java
new file mode 100644
index 0000000..6660091
--- /dev/null
+++ b/src/main/java/com/engine/htxc/contract/service/ProductCounterpartyService.java
@@ -0,0 +1,23 @@
+package com.engine.htxc.contract.service;
+
+import com.engine.htxc.contract.dto.ProductCounterPartyDTO;
+import com.engine.htxc.contract.dto.ProductCounterpartyEnum;
+import weaver.hrm.User;
+
+/**
+ * @Title: ecology-9
+ * @Company: 泛微软件
+ * @author: K1810050
+ * @version: 1.0
+ * @CreateDate: 2022/8/2315:15
+ * @Description: 产品对手方接口
+ * @ModifyLog:
+ **/
+public interface ProductCounterpartyService {
+ /**
+ * 添加产品对手方
+ * @param user
+ * @param productCounterParty
+ */
+ ProductCounterpartyEnum addProductCounterParty(User user, ProductCounterPartyDTO productCounterParty);
+}
diff --git a/src/main/java/com/engine/htxc/contract/service/impl/ContractListServiceImpl.java b/src/main/java/com/engine/htxc/contract/service/impl/ContractListServiceImpl.java
new file mode 100644
index 0000000..de753e3
--- /dev/null
+++ b/src/main/java/com/engine/htxc/contract/service/impl/ContractListServiceImpl.java
@@ -0,0 +1,65 @@
+package com.engine.htxc.contract.service.impl;
+
+import com.engine.core.impl.Service;
+import com.engine.htxc.commonutil.db.DbTools;
+import com.engine.htxc.contract.service.ContractListService;
+import com.google.common.collect.Lists;
+import com.google.common.collect.Maps;
+import weaver.interfaces.htsc.comInfo.PropBean;
+
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+public class ContractListServiceImpl extends Service implements ContractListService {
+
+ private DbTools dbtools=new DbTools();
+ private PropBean pb=new PropBean();
+ @Override
+ public Map deleteData(Map paramMap) {
+ String ids = paramMap.get("ids") == null? "":paramMap.get("ids").toString();
+ Map apiData = Maps.newHashMap();
+ List errorHtbhs = Lists.newArrayList();
+ apiData.put("code","200");
+ try {
+ String sql = "select count(0) num from UF_CONTRACTLIST where zt!=0 and htbh in ("+ids+")";
+ int num = dbtools.ifExist(sql);
+ if (num > 0){ //删除的数据中有不是草稿的数据
+ apiData.put("code","400");
+ apiData.put("message","只能删除草稿状态的数据");
+ return apiData;
+ }
+ //获得表单id及对应的billid
+ String billIdSql = "select formidd,bid,htbh from UF_CONTRACTLIST where htbh in ("+ids+")";
+ List> list = dbtools.getSqlToList(billIdSql);
+ Map>> collect = list.stream().collect(Collectors.groupingBy(e -> e.get("formidd").toString()));
+ collect.entrySet().forEach(e -> {
+ String formid = e.getKey();
+ String tableName = dbtools.getFormidToTable(formid);
+ String billids = "";
+ String htbh = "";
+ for (Map map : e.getValue()){
+ billids = billids + map.get("bid") +",";
+ htbh = htbh + map.get("htbh")+",";
+ }
+ htbh = htbh.substring(0,htbh.length()-1);
+ billids = billids.substring(0,billids.length()-1);
+ String deleteSql = "delete from "+tableName+" where id in ("+billids+")";
+ boolean result = dbtools.execteSql(deleteSql);
+ if (!result){
+ errorHtbhs.add(htbh);
+ }
+ });
+
+ }catch (Exception e){
+ apiData.put("code","400");
+ apiData.put("message",e.getMessage());
+ }
+ if (errorHtbhs.size() >0){
+ apiData.put("code","400");
+ apiData.put("message","删除失败");
+ apiData.put("errorData",errorHtbhs);
+ }
+ return apiData;
+ }
+}
diff --git a/src/main/java/com/engine/htxc/contract/service/impl/ContractServiceImpl.java b/src/main/java/com/engine/htxc/contract/service/impl/ContractServiceImpl.java
new file mode 100644
index 0000000..151588f
--- /dev/null
+++ b/src/main/java/com/engine/htxc/contract/service/impl/ContractServiceImpl.java
@@ -0,0 +1,775 @@
+package com.engine.htxc.contract.service.impl;
+
+import cn.hutool.core.date.DateTime;
+import cn.hutool.core.date.DateUtil;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.engine.common.util.ServiceUtil;
+import com.engine.core.impl.Service;
+import com.engine.htxc.common.R;
+import com.engine.htxc.commonutil.db.DbTools;
+import com.engine.htxc.commonutil.base.BaseUtil;
+import com.engine.htxc.commonutil.db.EntityCrudUtil;
+import com.engine.htxc.commonutil.fileutil.FileUtil;
+import com.engine.htxc.commonutil.log.CustomizeLog;
+import com.engine.htxc.contract.cmd.WorkflowNextJudgeCmd;
+import com.engine.htxc.contract.dao.CghtDao;
+import com.engine.htxc.contract.dao.ContractDao;
+import com.engine.htxc.contract.dao.ContractModeDao;
+import com.engine.htxc.contract.dto.*;
+import com.engine.htxc.contract.entity.*;
+import com.engine.htxc.contract.number.entity.Uf_ContractNoAggr;
+import com.engine.htxc.contract.service.ContractService;
+import static com.engine.htxc.workflow.create.business.contract.init.ContractSignType.Archived;
+
+import com.engine.htxc.contract.util.ContractUtil;
+import com.engine.htxc.eseal.service.EsealService;
+import com.engine.htxc.eseal.service.impl.EsealServiceImpl;
+import com.engine.htxc.workflow.create.autotrigger.contract.service.impl.AutoApprovalServiceImpl;
+import com.engine.htxc.workflow.create.autotrigger.contract.vo.AutoApproval;
+import com.engine.integration.util.StringUtils;
+import com.google.common.collect.Lists;
+import com.google.common.collect.Maps;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import weaver.conn.RecordSetTrans;
+import weaver.docs.docs.DocIdUpdate;
+import weaver.docs.docs.DocImageManager;
+import weaver.docs.docs.ImageFileIdUpdate;
+import weaver.docs.docs.VersionIdUpdate;
+import weaver.formmode.setup.ModeRightInfo;
+import weaver.general.Util;
+import weaver.hrm.User;
+import weaver.interfaces.htsc.GlobatTools.DBTools;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import weaver.interfaces.htsc.comInfo.PropBean;
+
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.*;
+import java.util.stream.Collectors;
+
+/**
+ * @author K1810015
+ * @version 1.0.0
+ * @ClassName ContractServiceImpl.java
+ * @createTime 2022年07月01日 09:59:00
+ */
+public class ContractServiceImpl extends Service implements ContractService {
+
+ private static final Logger logger= LoggerFactory.getLogger(ContractServiceImpl.class);
+
+ public static final int DEFAULT_DOCLANGURAGE = 7;
+ /**
+ * 主目录默认值
+ */
+ public static final int DEFAULT_MAINCATEGORY = -1;
+ /**
+ * 子目录默认值
+ */
+ public static final int DEFAULT_SUBCATEGORY = -1;
+ /**
+ * 落款日期是否特殊要求默认值
+ */
+ public static final String LKRQSFYTSYQ_DEFAULT = "0";
+ /**
+ * 非压缩文件
+ */
+ public static final String IS_NOT_ZIP = "0";
+ public static final int SFXJWFK_NO = 1;
+ public static final String SFWDSF_DEFAULT = "0";
+ public static final String BHSJE_DEFAULT = "0.00";
+
+ private final DbTools dbtools=new DbTools();
+ private PropBean pb=new PropBean();
+
+ private EsealService esealService=ServiceUtil.getService(EsealServiceImpl.class);
+
+ @Override
+ public JSONArray getfileinfo(User user, Map map) {
+ String contractmode= Util.null2String(map.get("contractmode"));
+ if(StringUtils.isBlank(contractmode)){
+ return null;
+ }
+ String sql="select wj as docid,mbmc as filename from uf_wdzx where mbbh in (?)";
+ List> retlist= DBTools.getsqltolist(sql,contractmode);
+ if(retlist==null || retlist.size()<=0){
+ return null;
+ }
+ JSONArray jsonArray= new FileUtil().getfilelinfo(user,retlist);
+ return jsonArray;
+ }
+
+ @Override
+ public JSONArray getdocimagefileinfo(User user, Map map) {
+ JSONArray jsonarray=new JSONArray();
+ String docids= Util.null2String(map.get("docids"));
+ if(StringUtils.isBlank(docids)){
+ return jsonarray;
+ }
+ jsonarray= new FileUtil().getdocimagefileinfo(user, Arrays.stream(docids.split(",")).collect(Collectors.toList()));
+ return jsonarray;
+ }
+
+
+ @Override
+ public boolean updateStatus(User user, Map map) {
+
+ String formid = Util.null2String(map.get("formid"));
+ String id = Util.null2String(map.get("id"));
+ if (StringUtils.isBlank(id) || StringUtils.isBlank(formid)) {
+ return false;
+ }
+ Map setmap = new HashMap<>(1);
+ setmap.put("yyjgdzt", Util.null2String(Archived.getValue()));
+ String tablename = dbtools.getFormmodeidToTable(formid);
+ if (StringUtils.isBlank(tablename)) {
+ return false;
+ }
+ Map wheremap = new HashMap<>(1);
+ wheremap.put("id", id);
+ return dbtools.updateSql(tablename, setmap, wheremap);
+ }
+
+ @Override
+ public boolean updateContractenType(User user, Map map) {
+ String gdlx = Util.null2String(map.get("gdlx"));
+ String gdbz = Util.null2String(map.get("gdbz"));
+ String formid = Util.null2String(map.get("formid"));
+ String id = Util.null2String(map.get("id"));
+ if (StringUtils.isBlank(id) || StringUtils.isBlank(formid) || StringUtils.isBlank(gdlx)) {
+ return false;
+ }
+ Map setmap = new HashMap<>(1);
+ setmap.put("gdlx", gdlx);
+ if (!StringUtils.isBlank(gdbz)) {
+ setmap.put("gdbz", gdbz);
+ }
+ String tablename = dbtools.getFormmodeidToTable(formid);
+ if (StringUtils.isBlank(tablename)) {
+ return false;
+ }
+ Map wheremap = new HashMap<>(1);
+ wheremap.put("id", id);
+ return dbtools.updateSql(tablename, setmap, wheremap);
+ }
+
+ @Override
+ public String linkMode(User user, Map map) {
+ String requestid=Util.null2String(map.get("requestid"));
+ if(StringUtils.isBlank(requestid)){
+ return JSON.toJSONString(R.error("参数有误"));
+ }
+ List> detail=dbtools.getRequestidToMapList(requestid,null,4);
+ if(detail==null && detail.size()<=0){
+ return JSON.toJSONString(R.error("数据有误"));
+ }
+ Map setmap=new HashMap<>(2);
+ setmap.put("htsplcrequestid",requestid);
+ setmap.put("zt","2");
+ detail.forEach((item)->{
+ Map detailmap=(HashMap)item;
+ String htbh=Util.null2String(detailmap.get("htbh"));
+ String htbb=Util.null2String(detailmap.get("htbb"));
+ String htlx=Util.null2String(detailmap.get("htlx"));
+ if(!StringUtils.isBlank(htbb) && !StringUtils.isBlank(htbh) && !StringUtils.isBlank(htlx)){
+ //做删除操作
+ ContractModeDao contractModeDao=new ContractModeDao(htlx,htbh,htbb);
+ if(!StringUtils.isBlank(contractModeDao.modeid)){
+ contractModeDao.updateMode(setmap);
+ }
+ }
+ });
+
+ return JSON.toJSONString(R.ok("已关联!"));
+ }
+
+ @Override
+ public String unLinkMode(User user, Map map) {
+ String requestid=Util.null2String(map.get("requestid"));
+ if(StringUtils.isBlank(requestid)){
+ return JSON.toJSONString(R.error("参数有误"));
+ }
+ List> detail=dbtools.getRequestidToMapList(requestid,null,4);
+ if(detail==null && detail.size()<=0){
+ return JSON.toJSONString(R.error("数据有误"));
+ }
+ Map setmap=new HashMap<>(2);
+ setmap.put("htsplcrequestid","");
+ setmap.put("zt","0");
+ detail.forEach((item)->{
+ Map detailmap=(HashMap)item;
+ String htbh=Util.null2String(detailmap.get("htbh"));
+ String htbb=Util.null2String(detailmap.get("htbb"));
+ String htlx=Util.null2String(detailmap.get("htlx"));
+ if(!StringUtils.isBlank(htbb) && !StringUtils.isBlank(htbh) && !StringUtils.isBlank(htlx)){
+ //做删除操作
+ ContractModeDao contractModeDao=new ContractModeDao(htlx,htbh,htbb);
+ if(contractModeDao!=null){
+ contractModeDao.updateMode(setmap);
+ }
+ }
+ });
+
+ return JSON.toJSONString(R.ok("已删除!"));
+ }
+
+
+
+ @Override
+ public String workflowNextJudge(User user, Map map) {
+ String requestid=Util.null2String(map.get("requestid"));
+ if(StringUtils.isBlank(requestid)){
+ return JSON.toJSONString(R.error("参数有误"));
+ }
+ CustomizeLog.printLog("参看参数:"+requestid+"userid:"+user.toString());
+ Map retmap= new WorkflowNextJudgeCmd(map,user).execute(null);
+ if(retmap==null || retmap.isEmpty()){
+ return(JSON.toJSONString(R.error("参数有误"))) ;
+ }
+ if((boolean)retmap.get("flag")==true){
+ return JSON.toJSONString( R.ok("true"));
+ }
+ return JSON.toJSONString(R.error(Util.null2String(retmap.get("msg"))));
+
+ }
+
+ @Override
+ public String guidePages(User user, Map map) {
+ String htbhs=Util.null2String(map.get("htbhs"));
+ Map res=new HashMap<>(2);
+ if(StringUtils.isBlank(htbhs)){
+ return JSON.toJSONString(R.error("参数有误"));
+ }
+ String condition = Arrays.stream(htbhs.split(",")).distinct().map((item)->"\'"+item+"\'").collect(Collectors.joining(","));
+ String validSql = " select wm_concat_old(distinct htlx) htlx from uf_contractlist where htbh in ("+condition+") ";
+ String htlx= dbtools.getsqlonevalue(validSql,null);
+ if(StringUtils.isBlank(htlx)){
+ return JSON.toJSONString(R.error("查询结果集有误"));
+ }
+ Integer count=htlx.split(",").length;
+ res.put("htlx",htlx);
+ res.put("count",count);
+ if(count!=1) {
+ return JSON.toJSONString( R.ok(res));
+ }
+ //查询合同所有附件
+ List fjlist=new ArrayList<>();
+ // by wf 添加印章字段、常用印章字段
+ List ztlist=new ArrayList<>();
+ List yzlist=new ArrayList<>();
+ List cyyzlist=new ArrayList<>();
+ String configSql = " select a.jmbd maintable,b.jmbd dttable,fjzd from uf_htspckhtqcpzb a, uf_htspckhtqcpzb_dt1 b " +
+ " where a.id=b.mainid and htfl='"+htlx+"'";
+ List configlist=dbtools.getSqlToList(configSql,null);
+ if(configlist==null &&configlist.size()<=0){
+ //查询结果
+ return JSON.toJSONString(R.error("配置文件有误"));
+ }
+ configlist.forEach((item)->{
+ Map configmap=(HashMap)item;
+ String maintable = Util.null2String(configmap.get("maintable"));
+ String dttable = Util.null2String(configmap.get("dttable"));
+ String fjzd = Util.null2String(configmap.get("fjzd"));
+ String fjSql = " select wm_concat_old("+fjzd+") as "+fjzd+" from "+maintable+" a,"+dttable+" b where a.id=b.mainid and htbh in("+condition+")";
+ String filevalue= dbtools.getsqlonevalue(fjSql);
+ if(!StringUtils.isBlank(filevalue)){
+ fjlist.add(Arrays.stream(filevalue.split(",")).distinct().collect(Collectors.joining(",")));
+ }
+ String yzSql = " select yz,cyyz,zt from "+maintable+" where htbh in("+condition+")";
+ List> signlist= dbtools.getSqlToList(yzSql);
+ if (signlist!=null &&signlist.size()>0) {
+ signlist.forEach((signmap)->{
+ yzlist.add(Util.null2String(signmap.get("yz")));
+ cyyzlist.add(Util.null2String(signmap.get("cyyz")));
+ ztlist.add(Util.null2String(signmap.get("zt")));
+
+ });
+
+ }
+ });
+ boolean flag= true;
+ if(!ztlist.isEmpty()){
+ flag= ztlist.stream().allMatch(item->(",0,6,").indexOf(","+item+",")>=0);
+ }
+
+ res.put("flag",flag);
+
+ res.put("htfj",fjlist.stream().distinct().collect(Collectors.joining(",")));
+ res.put("yz", Arrays.stream(yzlist.stream().collect(Collectors.joining(",")).split(",")).distinct().collect(Collectors.joining(",")) );
+ res.put("cyyz",Arrays.stream(cyyzlist.stream().collect(Collectors.joining(",")).split(",")).distinct().collect(Collectors.joining(",")));
+ return JSON.toJSONString( R.ok(res));
+ }
+
+
+ @Override
+ public String todosealname(User user, Map map){
+ String htlx=Util.null2String(map.get("htlx"));
+ String htbh=Util.null2String(map.get("htbh"));
+
+ String tablename= ContractUtil.getContractTableName(htlx);
+ if(StringUtils.isBlank(tablename)){
+ return JSON.toJSONString(R.error("参数有误"));
+ }
+ String signcount= ContractDao.getSealCount(tablename,htbh);
+ if(StringUtils.isBlank(signcount)){
+ return JSON.toJSONString(R.error("查询数据有误"));
+ }
+ Map esealwhere=new HashMap<>(1);
+ esealwhere.put("sealno",signcount);
+ List> list= esealService.getSealNoToName(esealwhere,user);
+ Map retlist=new HashMap<>(1);
+ retlist.put("data",list);
+ return JSON.toJSONString(R.ok(retlist));
+ }
+
+ @Override
+ public CghtMainEntity createCghtqc(CghtMainEntity cghtMainEntity) {
+ //类型加前缀
+ cghtMainEntity.setHtlx(addCategoryPrefix(pb, cghtMainEntity.getHtlx()));
+
+ //生成合同编号
+ Uf_ContractNoAggr contractNo = getContractNoObj(cghtMainEntity.getQcbm(),cghtMainEntity.getHtlx());
+ final String htbh = genContractNo(contractNo);
+ logger.info("合同编号:[{}]",htbh);
+ cghtMainEntity.setHtbh(htbh);
+
+ //插入采购合同起草主表 明细表
+ CghtDao.insertCghtqcMain(contractNo,cghtMainEntity);
+ return cghtMainEntity;
+ }
+
+ @Override
+ public ProcessInfoDTO startContractProcess(final User user, ContractProcessDTO contractProcessDTO) {
+ final List contractList = contractProcessDTO.getContractList();
+ if(null==contractList||contractList.isEmpty()){
+ logger.error("合同详情为空");
+ return null;
+ }
+ logger.info("创建合同数:[{}]",contractList.size());
+ final Map userInfoMap = ContractDao.getUserByWorkcodeAndDeptCode(contractProcessDTO.getUserCode(), contractProcessDTO.getUserDeptCode());
+
+ RecordSetTrans rst=new RecordSetTrans();
+ rst.setAutoCommit(false);
+ try {
+ //拟搞人信息
+ //保存合同详情
+ List contractCodeList=saveContractDetailList(user, contractProcessDTO, userInfoMap, contractList, rst);
+ //发起流程
+ logger.info("合同数据草稿创建完成,发起流程");
+ final int requestId = startProcess(contractProcessDTO, userInfoMap, contractCodeList);
+ logger.info("合同创建处理结束,流程requestId:[{}]",requestId);
+ if(requestId<0){
+ throw new RuntimeException("发起流程失败");
+ }
+ final ProcessInfoDTO processInfoDTO = new ProcessInfoDTO();
+ processInfoDTO.setRequestId(String.valueOf(requestId));
+ processInfoDTO.setWorkflowNo(String.join(",", contractCodeList));
+
+ rst.commit();
+ logger.info("流程发起成功,合同数据已commit");
+ return processInfoDTO;
+ } catch (Exception e) {
+ logger.error("发起流程出错,数据回滚",e);
+ rst.rollback();
+ }finally {
+ rst.setAutoCommit(true);
+ }
+ return null;
+ }
+
+ private List saveContractDetailList(User user, ContractProcessDTO contractProcessDTO, Map userInfoMap, List contractList, RecordSetTrans rst) throws Exception {
+ //收集合同编号
+ List contractCodeList=new ArrayList<>();
+ for (ContractDetailDTO contractDetailDTO : contractList) {
+ //主表数据
+ //插入合同主表数据
+ logger.info("创建合同主表数据:[{}]",contractDetailDTO.getContractName());
+ final UfOtcdertra contractMain = setContractMainData(contractProcessDTO, userInfoMap, contractDetailDTO, pb);
+ //生成合同编号
+ Uf_ContractNoAggr contractNo = getContractNoObj(Integer.valueOf(userInfoMap.get("DEPARTMENTID")),contractMain.getHtlx());
+ final String htbh = genContractNo(contractNo);
+ logger.info("生成合同编号:[{}]",htbh);
+ //收集合同编号
+ contractCodeList.add(htbh);
+ contractMain.setHtbh(htbh);
+
+ //保存合同数据
+ EntityCrudUtil.transInsert(rst,"uf_otcdertra",contractMain,UfOtcdertra.class);
+ //查询合同id
+ final int dataId = ContractDao.getDataIdByUuid(rst,contractMain.getModeuuid());
+ contractMain.setId(dataId);
+
+ //关联合同编号记录
+ contractNo.setMbid(Util.null2String(dataId));
+ //插入合同编号组合
+ EntityCrudUtil.transInsert(rst,"uf_contractnoaggr",contractNo,Uf_ContractNoAggr.class);
+
+
+ //插入正文文件信息 UF_OTCDERTRA_DT1
+ logger.info("创建合同正文数:[{}]",contractDetailDTO.getMainFileList().size());
+ final List mainfileids = createAttachFiles(user, rst, contractDetailDTO, contractMain, "uf_otcdertra_dt1");
+ //保存合同正文id 到主表
+ contractMain.setHtzw(String.join(",",mainfileids));
+
+ //插入附件文件信息 UF_OTCDERTRA_DT3 附件可以为空
+ if(null!=contractDetailDTO.getAttachedFileList()){
+ logger.info("创建合同附件数:[{}]",contractDetailDTO.getAttachedFileList().size());
+ final List attachFiles = createAttachFiles(user, rst, contractDetailDTO, contractMain, "uf_otcdertra_dt3");
+ //保存合同附件id 到主表
+ contractMain.setHtfj(String.join(",",attachFiles));
+ }
+
+ //更新主表正文和附件字段
+ ContractDao.updateUfOtcdertraFiles(rst, contractMain);
+ logger.info("权限重构:[{}]",dataId);
+ //权限重构
+ modeRight(contractMain);
+
+ }
+ return contractCodeList;
+ }
+
+ private void modeRight(UfOtcdertra contractMain) {
+ ModeRightInfo modeRightInfo = new ModeRightInfo();
+ modeRightInfo.setNewRight(true);
+ modeRightInfo.editModeDataShare(contractMain.getQcr(), contractMain.getFormmodeid(), contractMain.getId());
+ }
+
+
+
+ private List createAttachFiles(User user, RecordSetTrans rst, ContractDetailDTO contractDetailDTO, UfOtcdertra contractMain, String tableName) throws Exception {
+ List fileIds=new ArrayList<>();
+ for (ContractFileDTO contractFileDTO : contractDetailDTO.getMainFileList()) {
+ logger.info("合同文件名称:[{}]",contractFileDTO.getFileName());
+
+ //插入docdetail
+ final Docdetail docdetail = insertDocDetail(rst, contractFileDTO);
+ fileIds.add(String.valueOf(docdetail.getId()));
+
+ //插入imagefile
+ final ImagefileEntity imagefile = insertImagefile(rst, contractFileDTO);
+
+ //插入docimagefile
+ insertDocImagefile(user, rst, contractFileDTO, docdetail, imagefile);
+
+ insertUfOtcdertraDt(rst, contractMain, tableName, contractFileDTO, docdetail);
+ }
+ return fileIds;
+ }
+
+ private void insertUfOtcdertraDt(RecordSetTrans rst, UfOtcdertra contractMain, String tableName, ContractFileDTO contractFileDTO, Docdetail docdetail) throws Exception {
+ final UfOtcdertraDt attachFileEnty = new UfOtcdertraDt();
+ attachFileEnty.setMainid(contractMain.getId());
+ //wjmc 文件名称
+ attachFileEnty.setWjmc(String.valueOf(docdetail.getId()));
+ //yyfs 用印方式
+ attachFileEnty.setYyfs(SealMethodEnum.valueOf(contractFileDTO.getSealMethod()).ordinal());
+ //dzyyfs 电子用印方式
+ attachFileEnty.setDzyyfs(EsealMethodEnum.valueOf(contractFileDTO.getEsealMethod()).ordinal());
+ //dsmdy 单双面打印
+ attachFileEnty.setDsmdy(PrintSideEnum.valueOf(contractFileDTO.getPrintBothSide()).ordinal());
+ //fwdyfs/wlyyfs "防伪打印份数/
+ //物理用印份数"
+ attachFileEnty.setFwdyfs(Util.null2String(contractFileDTO.getPrintCount()));
+ attachFileEnty.setWlyyfs(Util.null2String(contractFileDTO.getPrintCount()));
+ //用印状态默认0
+ attachFileEnty.setYyzt(0);
+
+ EntityCrudUtil.transInsert(rst, tableName,attachFileEnty,UfOtcdertraDt.class);
+ }
+
+ //文档索引不可回滚
+ private Docdetail insertDocDetail(RecordSetTrans rst, ContractFileDTO contractFileDTO) throws Exception {
+ //插入docdetail
+ final Docdetail docdetail = new Docdetail();
+ docdetail.setDocsubject(contractFileDTO.getFileName());
+ docdetail.setDocextendname(contractFileDTO.getSuffix());
+ docdetail.setDoclangurage(DEFAULT_DOCLANGURAGE);
+ docdetail.setMaincategory(DEFAULT_MAINCATEGORY);
+ final PropBean propBean = new PropBean();
+ docdetail.setSeccategory(Integer.valueOf(propBean.getPropName("contract.jc.seccategory")));
+ docdetail.setSubcategory(DEFAULT_SUBCATEGORY);
+ int docId = new DocIdUpdate().getDocNewId();
+ if (docId<0) {
+ logger.error("获取 Docdetail id失败");
+ throw new RuntimeException("获取 Docdetail id失败");
+ }
+ docdetail.setId(docId);
+ logger.info("Docdetail id:[{}]",docdetail.getId());
+ EntityCrudUtil.transInsert(rst,"docdetail",docdetail,Docdetail.class);
+ return docdetail;
+ }
+
+
+
+ private void insertDocImagefile(User user, RecordSetTrans rst, ContractFileDTO contractFileDTO, Docdetail docdetail, ImagefileEntity imagefile) throws Exception {
+ Docimagefile docimagefile=new Docimagefile();
+ docimagefile.setDocid(docdetail.getId());
+ docimagefile.setImagefileid(imagefile.getImagefileid());
+ docimagefile.setImagefilename(contractFileDTO.getFileName());
+ docimagefile.setIsextfile("1");
+ final LocalDateTime now = LocalDateTime.now();
+ docimagefile.setOperatedate(now.format(DateTimeFormatter.ISO_LOCAL_DATE));
+ docimagefile.setOperatetime(now.format(DateTimeFormatter.ofPattern("HH:mm:ss")));
+ docimagefile.setOperateuserid(user.getUID());
+ final DocImageManager docImageManager = new DocImageManager();
+ int docimageId = docImageManager.getNextDocImageFileId();
+ if(docimageId<0){
+ throw new RuntimeException("获取 Docimagefile id 失败");
+ }
+ docimagefile.setId(docimageId);
+ logger.info("Docimagefile id:[{}]",docimagefile.getId());
+
+ int versionId = new VersionIdUpdate().getVersionNewId();
+ docimagefile.setVersionid(versionId);
+ logger.info("Docimagefile versionid:[{}]",docimagefile.getId());
+ EntityCrudUtil.transInsert(rst,"DocImageFile",docimagefile,Docimagefile.class);
+ }
+
+ private ImagefileEntity insertImagefile(RecordSetTrans rst, ContractFileDTO contractFileDTO) throws Exception {
+ final ImagefileEntity imagefile = new ImagefileEntity();
+ int imagefileId=new ImageFileIdUpdate().getImageFileNewId();
+ if(imagefileId<0){
+ throw new RuntimeException("获取imagefileId失败");
+ }
+ logger.info("imagefile id:[{}]",imagefileId);
+ imagefile.setImagefileid(imagefileId);
+ imagefile.setImagefilename(contractFileDTO.getFileName());
+ imagefile.setFileid(contractFileDTO.getFileId());
+ imagefile.setImagefiletype("application/octet-stream");
+ imagefile.setIszip(IS_NOT_ZIP);
+ EntityCrudUtil.transInsert(rst,"imagefile",imagefile, ImagefileEntity.class);
+ return imagefile;
+ }
+
+
+ /**
+ * 业务类建模默认值:
+ * @param contractProcessDTO
+ * @param userInfo
+ * @param contractDetailDTO
+ * @param pb
+ * @return
+ */
+ private UfOtcdertra setContractMainData(ContractProcessDTO contractProcessDTO, Map userInfo, ContractDetailDTO contractDetailDTO, PropBean pb) {
+ //建模主表
+ final UfOtcdertra contractMain = EntityCrudUtil.createModeBaseAttributes("uf_otcdertra", UfOtcdertra.class);
+ //设置默认值
+ //币种(bz)默认=0 人民币
+ contractMain.setBz(CurrencyEnum.CNY.ordinal());
+ //不含税金额 (bhsje) 默认=0.00
+ contractMain.setBhsje(BHSJE_DEFAULT);
+ //向境外收付款(sfxjwfk)默认=1
+ contractMain.setSfxjwfk(SFXJWFK_NO);
+ //无明确对手方(sfwdsf) 默认=0
+ contractMain.setSfwdsf(SFWDSF_DEFAULT);
+
+ contractMain.setModedatacreater(Integer.valueOf(userInfo.get("USERID")));
+ //htmc 合同名称
+ contractMain.setHtmc(contractDetailDTO.getContractName());
+
+ //htdsf 合同对手方
+ final List counterPartyList = contractDetailDTO.getCounterPartyList();
+ final List idCardList = counterPartyList.stream().map(CounterPartyDTO::getCertNo).collect(Collectors.toList());
+ final List codeList = ContractDao.selectCounterPartyByCertCode(idCardList);
+ contractMain.setHtdsf(String.join(",", codeList));
+
+ //bmdj 保密等级
+ contractMain.setBmdj(SecretLevelEnum.NORMAL_BUSINESS_SECRET.ordinal());
+ //htlx 合同类型
+ if(StringUtils.isBlank(contractProcessDTO.getContractCategoryId())){
+ contractMain.setHtlx(pb.getPropName("contract.jc.categoryId"));
+ }else{
+ contractMain.setHtlx(addCategoryPrefix(pb, contractProcessDTO.getContractCategoryId()));
+ }
+ //qcbm 起草部门
+ contractMain.setQcbm(Integer.valueOf(userInfo.get("DEPARTMENTID")));
+ //qcr 起草人
+ contractMain.setQcr(Integer.valueOf(userInfo.get("USERID")));
+ //qcrq 起草日期
+ contractMain.setQcrq(LocalDateTime.now().format(DateTimeFormatter.ISO_LOCAL_DATE));
+ //htjexz 合同金额性质
+ contractMain.setHtjexz(AmountTypeEnum.NO_AMOUNT.ordinal());
+ //sfsw 是否涉外
+ contractMain.setSfsw(ConcerningForeignEnum.NO_CONCERNING_FOREIGN.ordinal());
+ //htxz 合同性质
+ contractMain.setHtxz(ContractNatureEnum.MAIN_CONTRACT.ordinal());
+ //beizhu 备注
+ contractMain.setBeizhu(contractDetailDTO.getContractComment());
+ //yz 印章
+ //查询印章是否存在
+ contractMain.setYz(String.join(",", contractDetailDTO.getSeals()));
+
+ //sfsymbfb 是否使用模板范本
+ final String textSource = contractDetailDTO.getTextSource();
+ if(TextSourceEnum.LOCAL.name().equals(textSource)){
+ contractMain.setSfsymbfb(UseTextEnum.NO_TEXT.ordinal());
+ }else{
+ contractMain.setSfsymbfb(UseTextEnum.USE_TEXT.ordinal());
+ }
+ //wsymbyy 未使用模板原因
+ contractMain.setWsymbyy(contractDetailDTO.getUnusedTextReason());
+ //dqbb 当前版本
+ contractMain.setDqbb(Util.getIntValue(pb.getPropName("contract.currentVersion"),1));
+ //zt 合同状态
+ contractMain.setZt(ContractStatusEnum.DRAFT.ordinal());
+ //autoSealFlag 字段用印
+ contractMain.setAutosealflag(contractProcessDTO.getAutoSealFlag()?1:0);
+ return contractMain;
+ }
+
+ private String genContractNo(Uf_ContractNoAggr contractNo) {
+ return contractNo.getQz()+ contractNo.getZzjgjc()+ contractNo.getYear()+ contractNo.getMonth()+ contractNo.getDay()+String.format("%05d", contractNo.getZzbh());
+ }
+
+ /**
+ * 获取合同编号
+ * @param deptId
+ * @param htlx
+ * @return
+ */
+ private Uf_ContractNoAggr getContractNoObj(int deptId,String htlx) {
+ final String deptAbbr = ContractDao.getDeptAbbrByDeptId(deptId);
+ final DateTime now = DateTime.now();
+ String year= DateUtil.format(now,"yyyy");
+ String month=DateUtil.format(now,"MM");
+ String day=DateUtil.format(now,"dd");
+ final String prefix = pb.getPropName("contract.prefix");
+ final int zzbh = ContractDao.getMaxNum(deptAbbr, year, prefix);
+
+ Uf_ContractNoAggr contractNo=new Uf_ContractNoAggr();
+ contractNo.setDay(day);
+ contractNo.setMonth(month);
+ contractNo.setYear(year);
+ contractNo.setZzbh(zzbh);
+ contractNo.setZzjgjc(deptAbbr);
+ contractNo.setQz(prefix);
+ contractNo.setHtlx(htlx);
+ return contractNo;
+ }
+
+
+
+
+ /**
+ *
+ *
+ * {
+ * "requestnam": "流程标题",
+ * "creatorid": "拟稿人",
+ * "szbm": "所在部门",
+ * "szjg": "所在机构",
+ * "jjcd": "缓急程度",
+ * "lxfs": "联系方式",
+ * "ngrq": "拟稿时间",
+ * "nbsh": "内部审核",
+ * "bmld": "部门领导",
+ * "sqjh": "授权简化",
+ * "qttzyddx": "通知阅读对象",
+ * "shfs": "审核方式:默认:0",
+ * "lkrqsfytsyq": "落款日期是否有特殊要求 = 否",
+ * "xzhtlb": "选择合同列表,DAS创建建模表成功后,存合同编码",
+ * "yz": "印章"
+ * }
+ * @param contractProcessDTO
+ * @param contractCodeList
+ * @return
+ */
+ private int startProcess(ContractProcessDTO contractProcessDTO, Map userInfo, List contractCodeList) {
+
+ Set sealSet=new HashSet<>();
+ contractProcessDTO.getContractList().forEach(contractDetailDTO -> sealSet.addAll(contractDetailDTO.getSeals()));
+ AutoApproval autoApproval=new AutoApproval();
+ autoApproval.setCreatorid(userInfo.get("USERID"));
+ autoApproval.setRequestname(contractProcessDTO.getProcessTitle());
+ autoApproval.setSzbm(userInfo.get("DEPARTMENTID"));
+ autoApproval.setSzjg(BaseUtil.getusertoszjg(userInfo.get("USERID")));
+ //紧急程度默认0
+ autoApproval.setJjcd(String.valueOf(UrgencyEum.NORMAL.ordinal()));
+ autoApproval.setLxfs(contractProcessDTO.getTelephone());
+ autoApproval.setNgrq(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm")));
+ //内部审核
+ if(contractProcessDTO.getInternalAuditIds()!=null&&!contractProcessDTO.getInternalAuditIds().isEmpty()){
+ autoApproval.setNbsh(ContractDao.getUsersByWorkcodeAndJobCodeList(contractProcessDTO.getInternalAuditIds()).stream().map(user->Util.null2String(user.getUserid())).collect(Collectors.joining(",")));
+ }
+ //部门领导
+ if(null!=contractProcessDTO.getDeptHeadIds()&&!contractProcessDTO.getDeptHeadIds().isEmpty()){
+ autoApproval.setBmld(ContractDao.getUsersByWorkcodeAndJobCodeList(contractProcessDTO.getDeptHeadIds()).stream().map(user->Util.null2String(user.getUserid())).collect(Collectors.joining(",")));
+ }
+
+ //授权简化
+ autoApproval.setSqjh(Util.null2String(AuthoritySimplifyEnum.NO_SIMPLIFY.ordinal()));
+ //通知阅读
+ if(null!=contractProcessDTO.getNoticeReaderIds()&&!contractProcessDTO.getNoticeReaderIds().isEmpty()){
+ autoApproval.setQttzyddx(ContractDao.getUsersByWorkcodeAndJobCodeList(contractProcessDTO.getNoticeReaderIds()).stream().map(user->Util.null2String(user.getUserid())).collect(Collectors.joining(",")));
+ }
+ //审核方式 默认1 并发
+ autoApproval.setShfs(String.valueOf(ApprovalWayEnum.PARALLEL.ordinal()));
+ //落款日期默认0
+ autoApproval.setLkrqsfytsyq(LKRQSFYTSYQ_DEFAULT);
+ autoApproval.setXzhtlb(String.join(",", contractCodeList));
+ if(StringUtils.isBlank(contractProcessDTO.getContractCategoryId())){
+ autoApproval.setHtlx(pb.getPropName("contract.jc.categoryId"));
+ }else{
+ autoApproval.setHtlx(addCategoryPrefix(pb, contractProcessDTO.getContractCategoryId()));
+ }
+ autoApproval.setYz(String.join(",", sealSet));
+ return ServiceUtil.getService(AutoApprovalServiceImpl.class).create(autoApproval);
+ }
+
+ private String addCategoryPrefix(PropBean pb, String contractCategoryId) {
+ return pb.getPropName("contract.jc.categoryPrefix") + "_" + contractCategoryId;
+ }
+
+
+ @Override
+ public Map saveBankInfoToCounterparty(Map paramMap) {
+ List> data =(List>)paramMap.get("data");
+ Map apiData = Maps.newHashMap();
+ apiData.put("code","200");
+ List errorData = Lists.newArrayList();
+ String sql = "select id from uf_dsfgl where dsfbm=? and scbs!=1 and fid is null";
+ try {
+ data.forEach(e -> {
+ String htdsf = e.get("htdsf") == null?"":e.get("htdsf").toString();
+ String yhzh = e.get("yxzh") == null?"":e.get("yxzh").toString();
+ String khh = e.get("khx") == null?"":e.get("khx").toString();
+ if (!"".equals(htdsf)){
+ List> idList = dbtools.getSqlToList(sql,htdsf);
+ if (idList.size() > 0){
+ String mainid = idList.get(0).get("id").toString();
+ String ifexistSql = "select count(0) num from uf_dsfgl_dt2 where mainid ="+mainid+" and yxzh="+yhzh;
+ int num = dbtools.ifExist(ifexistSql);
+ //当银行账户不存在时不存在时才插入新数据
+ if (num == 0){
+ Map map = Maps.newHashMap();
+ map.put("htdsf",htdsf);
+ map.put("yxzh",yhzh);
+ map.put("khx",khh);
+ map.put("mainid",mainid);
+ boolean result = dbtools.insert("uf_dsfgl_dt2",map);
+ if (!result){
+ errorData.add(yhzh);
+ }
+ }
+ }
+ }
+ });
+ }catch (Exception e){
+ apiData.put("code","400");
+ apiData.put("message",e.getMessage());
+ }
+ if (errorData.size() > 0){
+ apiData.put("code","400");
+ apiData.put("message","添加失败");
+ apiData.put("errorData",errorData);
+ }
+
+ return apiData;
+ }
+}
diff --git a/src/main/java/com/engine/htxc/contract/service/impl/ContractUpdateWfServiceImpl.java b/src/main/java/com/engine/htxc/contract/service/impl/ContractUpdateWfServiceImpl.java
new file mode 100644
index 0000000..e48d979
--- /dev/null
+++ b/src/main/java/com/engine/htxc/contract/service/impl/ContractUpdateWfServiceImpl.java
@@ -0,0 +1,97 @@
+package com.engine.htxc.contract.service.impl;
+
+import com.engine.core.impl.Service;
+import com.engine.htxc.commonutil.base.BaseUtil;
+import com.engine.htxc.commonutil.db.DbTools;
+import com.engine.htxc.contract.service.ContractUpdateWfService;
+import com.engine.integration.util.StringUtils;
+import weaver.general.Util;
+import weaver.hrm.User;
+import weaver.interfaces.htsc.comInfo.PropBean;
+
+import java.util.*;
+import java.util.stream.Collectors;
+
+/**
+ * @author K1810015
+ * @version 1.0.0
+ * @ClassName ContractUpdateWfServiceImpl.java
+ * @createTime 2022年08月12日 11:32:00
+ */
+public class ContractUpdateWfServiceImpl extends Service implements ContractUpdateWfService {
+
+ private DbTools dbtools=new DbTools();
+ private PropBean pb=new PropBean();
+ private String wktablename="";
+ private String modetablename="";
+ @Override
+ public void updateworkflow(Map map, User user) {
+ this.modetablename = Util.null2String(map.get("tablename"));
+ String billid = Util.null2String(map.get("billid"));
+ String sql="select htbh,yz from "+modetablename+" where id=?";
+ Map mapvalue= dbtools.getsqltomap(sql,billid);
+ if(mapvalue==null || mapvalue.size()<=0){
+ return ;
+ }
+ String htbh=Util.null2String(mapvalue.get("htbh"));
+ String yz=Util.null2String(mapvalue.get("yz"));
+ if(StringUtils.isBlank(htbh)){
+ return ;
+ }
+ getwktablename();
+ List> maplist=getwktableall(htbh);
+ if(maplist.size()<=0){
+ return ;
+ }
+ maplist.forEach((item)->{
+ String id=Util.null2String(item.get("id"));
+ String xzhtlb=Util.null2String(item.get("xzhtlb"));
+ String yzoldvalue=Util.null2String(item.get("yz"));
+ String yznewvalue=yz;
+ if(!StringUtils.isBlank(id) && !StringUtils.isBlank(xzhtlb)){
+ if(xzhtlb.split(",").length>1){
+ yznewvalue=getmodeesealall(modetablename,xzhtlb);
+ }
+ if(!BaseUtil.stringcompare(yznewvalue,yzoldvalue)){
+ Map setmap=new HashMap<>();
+
+ setmap.put("yz", Arrays.stream(yznewvalue.split(",")).distinct().collect(Collectors.joining(",")));
+
+ Map wheremap=new HashMap<>();
+ wheremap.put("id",id);
+ dbtools.updateSql(this.wktablename,setmap,wheremap);
+ };
+ }
+ });
+ }
+
+
+ private List> getwktableall(String htbh){
+ List> listmap=new ArrayList<>();
+ if(StringUtils.isBlank(htbh)){
+ return listmap;
+ }
+
+ if(StringUtils.isBlank(this.wktablename)){
+ return listmap;
+ }
+ String sql="select id,yz,xzhtlb from "+this.wktablename+" where instr(','||xzhtlb||',',',"+htbh+",')>0";
+ return dbtools.getSqlToList(sql);
+ }
+
+ private void getwktablename(){
+ String number=pb.getPropName("contract.approval.unnumber");
+ this.wktablename=dbtools.getUnnumberToTablename(number);
+ }
+
+ private String getmodeesealall(String tablename,String htbh){
+ if(StringUtils.isBlank(tablename) || StringUtils.isBlank(htbh)){
+ return "";
+ }
+ String sql="select wm_concat_old(yz) as yz from "+tablename+" where htbh in ("+
+ Arrays.stream(htbh.split(",")).distinct().filter(Objects::nonNull).map((item)->"\'"+item+"'").collect(Collectors.joining(","))
+ +")";
+ return dbtools.getsqlonevalue(sql);
+ }
+
+}
diff --git a/src/main/java/com/engine/htxc/contract/service/impl/ContractdoctopdfServiceImpl.java b/src/main/java/com/engine/htxc/contract/service/impl/ContractdoctopdfServiceImpl.java
new file mode 100644
index 0000000..dee0766
--- /dev/null
+++ b/src/main/java/com/engine/htxc/contract/service/impl/ContractdoctopdfServiceImpl.java
@@ -0,0 +1,85 @@
+package com.engine.htxc.contract.service.impl;
+
+import com.engine.core.impl.Service;
+import com.engine.htxc.commonutil.db.DbTools;
+import com.engine.htxc.commonutil.fileutil.GatewayUtil;
+import com.engine.htxc.contract.service.ContractdoctopdfService;
+import com.engine.integration.util.StringUtils;
+import weaver.general.Util;
+import weaver.wps.doccenter.convert.DocTypeConvert;
+import weaver.wps.doccenter.utils.Tools;
+
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 节点后将doc转pdf,目前为测试,后期会采用异步的方式
+ * @author K1810015
+ * @version 1.0.0
+ * @ClassName ContractdoctopdfServiceimpl.java
+ * @createTime 2022年07月29日 13:50:00
+ */
+public class ContractdoctopdfServiceImpl extends Service implements ContractdoctopdfService {
+
+
+ private DbTools dbTools=new DbTools();
+
+ private String inerttablename="uf_htqc_dt5";
+
+ public String detaillist="1,3";
+
+ @Override
+ public void doctopdf(Map map) {
+ String billid= Util.null2String(map.get("billid"));
+ if(StringUtils.isBlank(billid)){
+ return ;
+ }
+
+ Arrays.stream(detaillist.split(",")).forEach((item)->{
+ List> listmap= gettablemap(billid,item);
+ if(listmap!=null && listmap.size()>0){
+ listmap.forEach((Map retmap)->{
+ // String wjmcvalue=Util.null2String(retmap.get("wjmc"));
+ String imagefilename=Util.null2String(retmap.get("imagefilename"));
+ String imagefileid=Util.null2String(retmap.get("imagefileid"));
+ Map pdfmap = new HashMap(5);
+ String oldimagefilenamepdf = (!Tools.isEmptyOrNull(imagefilename) && imagefilename.contains(".") ? imagefilename.substring(0, imagefilename.lastIndexOf(".")) : imagefilename) + ".pdf";
+ pdfmap.put("imagefileid", imagefileid + "");
+ pdfmap.put("fromMould","ecology");
+ pdfmap.put("fileName", imagefilename);
+ pdfmap.put("targetFileFormat", "PDF");
+ pdfmap.put("targetFilename", oldimagefilenamepdf);
+ DocTypeConvert convertDocToPdf = new DocTypeConvert(this.user);
+ int newimagefileid= convertDocToPdf.convertDocType(pdfmap);
+ if(newimagefileid>0){
+ String fileid=GatewayUtil.sendGateway(newimagefileid,oldimagefilenamepdf);
+ if(!StringUtils.isBlank(fileid)) {
+ Map wheremap = new HashMap<>(4);
+ wheremap.put("mainid", billid);
+ wheremap.put("wgid", fileid);
+ wheremap.put("imagefileid", imagefileid);
+ wheremap.put("newimagefileid", Util.null2String(newimagefileid));
+ wheremap.put("name",oldimagefilenamepdf);
+ dbTools.insert(inerttablename, wheremap);
+ }
+ }
+ });
+ }
+ });
+ }
+
+ public List gettablemap(String mainid,String detailid){
+ if(StringUtils.isBlank(mainid) || StringUtils.isBlank(detailid) ){
+ return null;
+ }
+ String sql="select wjmc,d.imagefileid ,d.imagefilename ,dt5.imagefileid old_image from uf_htqc_dt"+detailid+" t " +
+ "left join docimagefile d on t.wjmc=d.docid " +
+ "left join uf_htqc_dt5 dt5 on d.imagefileid=dt5.imagefileid " +
+ "where t.mainid='"+mainid+"' and (dt5.imagefileid is null or dt5.imagefileid !=d.imagefileid ) ";
+ return new DbTools().getSqlToList(sql);
+ }
+
+
+}
diff --git a/src/main/java/com/engine/htxc/contract/service/impl/CounterpartyServiceImpl.java b/src/main/java/com/engine/htxc/contract/service/impl/CounterpartyServiceImpl.java
new file mode 100644
index 0000000..23c9cc9
--- /dev/null
+++ b/src/main/java/com/engine/htxc/contract/service/impl/CounterpartyServiceImpl.java
@@ -0,0 +1,35 @@
+package com.engine.htxc.contract.service.impl;
+
+
+import com.engine.core.impl.Service;
+import com.engine.htxc.commonutil.db.DbTools;
+import com.engine.htxc.contract.service.CounterpartyService;
+import com.google.common.collect.Maps;
+import lombok.extern.slf4j.Slf4j;
+
+import java.util.List;
+import java.util.Map;
+
+@Slf4j
+public class CounterpartyServiceImpl extends Service implements CounterpartyService {
+
+ private DbTools dbTools=new DbTools();
+
+ @Override
+ public Map getRoleName(Map map) {
+ Map apidatas = Maps.newHashMap();
+ try {
+ String userId = map.get("userId") ==null ? "":map.get("userId").toString();
+ String sql = "select b.rolesmark,c.lastname,a.roleid,c.id from hrmrolemembers a,hrmroles b,hrmresource c where a.roleid=b.id and a.resourceid=c.id and c.id=?";
+ List> dataList = dbTools.getSqlToList(sql,userId);
+ apidatas.put("code","200");
+ apidatas.put("data",dataList);
+ apidatas.put("userid",userId);
+ }catch (Exception e){
+ log.error("get rolename fail [{}]", e);
+ apidatas.put("code","400");
+ apidatas.put("message",e.getMessage());
+ }
+ return apidatas;
+ }
+}
diff --git a/src/main/java/com/engine/htxc/contract/service/impl/ProductCounterpartyServiceImpl.java b/src/main/java/com/engine/htxc/contract/service/impl/ProductCounterpartyServiceImpl.java
new file mode 100644
index 0000000..8e9df9a
--- /dev/null
+++ b/src/main/java/com/engine/htxc/contract/service/impl/ProductCounterpartyServiceImpl.java
@@ -0,0 +1,87 @@
+package com.engine.htxc.contract.service.impl;
+
+import com.engine.core.impl.Service;
+import com.engine.htxc.commonutil.db.EntityCrudUtil;
+import com.engine.htxc.contract.dao.ContractDao;
+import com.engine.htxc.contract.dao.ProductDao;
+import com.engine.htxc.contract.dto.ProductCounterPartyDTO;
+import com.engine.htxc.contract.dto.ProductCounterpartyEnum;
+import com.engine.htxc.contract.entity.UfDsfgl;
+import com.engine.htxc.contract.entity.UfProduct;
+import com.engine.htxc.contract.entity.UfProductCounterParty;
+import com.engine.htxc.contract.service.ProductCounterpartyService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import weaver.hrm.User;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @Title: ecology-9
+ * @Company: 泛微软件
+ * @author: K1810050
+ * @version: 1.0
+ * @CreateDate: 2022/8/2315:35
+ * @Description:
+ * @ModifyLog:
+ **/
+public class ProductCounterpartyServiceImpl extends Service implements ProductCounterpartyService {
+
+ private static final Logger logger= LoggerFactory.getLogger(ProductCounterpartyServiceImpl.class);
+
+ @Override
+ public ProductCounterpartyEnum addProductCounterParty(User user, ProductCounterPartyDTO productCounterParty) {
+ // 插入产品关系
+ //根据产品编码查对手方和产品关系表 判断是否和对手方编码一致
+ ProductCounterpartyEnum result=ProductCounterpartyEnum.CREATE_SUCCESS;
+ final UfProductCounterParty ufProductCounterParty = ProductDao.selectUfProductCounterpartyByProductid(productCounterParty.getProductCode());
+ if(null!=ufProductCounterParty){
+ if(null!=ufProductCounterParty.getSocialcreditcode()&&ufProductCounterParty.getSocialcreditcode().equals(productCounterParty.getCertNo())){
+ logger.info("产品已存在和该对手方关系");
+ result= ProductCounterpartyEnum.PRODUCT_COUNTERPARTY_EXIST;
+ }else{
+ logger.error("产品已存在和其他对手方关系");
+ result= ProductCounterpartyEnum.PRODUCT_OTHER_COUNTERPARTY_EXIST;
+ }
+ return result;
+ }
+ final String certNo = productCounterParty.getCertNo();
+ final List usccList = new ArrayList<>();
+ usccList.add(certNo);
+ final List cpList = ContractDao.selectCounterPartyByCertCode(usccList);
+ // 不存在对手方 创建对手方
+ if(cpList.isEmpty()){
+ logger.info("对手方不存在,新建对手方");
+ final UfDsfgl ufDsfgl = EntityCrudUtil.createModeBaseAttributes("uf_dsfgl", UfDsfgl.class);
+ ufDsfgl.setModedatacreater(user.getUID());
+ ufDsfgl.setDsfmc(productCounterParty.getCounterPartyName());
+ ufDsfgl.setDqbb(1);
+ EntityCrudUtil.insertEntity("uf_dsfgl",ufDsfgl,UfDsfgl.class);
+ }else{
+ result=ProductCounterpartyEnum.COUNTERPARTY_EXIST;
+ }
+
+ UfProduct ufProduct = ProductDao.selectProductByProductId(productCounterParty.getProductCode());
+ if(null==ufProduct){
+ logger.info("产品信息不存在,新建产品");
+ final UfProduct ufProduct1 = new UfProduct();
+ ufProduct1.setProductid(productCounterParty.getProductCode());
+ ufProduct1.setProductname(productCounterParty.getProductName());
+ EntityCrudUtil.insertEntity("uf_product",ufProduct1,UfProduct.class);
+ }else{
+ if(ProductCounterpartyEnum.COUNTERPARTY_EXIST==result){
+ result=ProductCounterpartyEnum.PRODUCT_COUNTERPARTY_EXIST;
+ }else{
+ result =ProductCounterpartyEnum.PRODUCT_EXIST;
+ }
+ }
+ logger.info("创建产品对手方关系 productid=[{}],socialcreditcode=[{}]",productCounterParty.getProductCode(),productCounterParty.getProductName());
+ final UfProductCounterParty ufProductCounterParty1 = new UfProductCounterParty();
+ ufProductCounterParty1.setSocialcreditcode(productCounterParty.getCertNo());
+ ufProductCounterParty1.setProductid(productCounterParty.getProductCode());
+ EntityCrudUtil.insertEntity("uf_prodcontrelation",ufProductCounterParty1,UfProductCounterParty.class);
+ return result;
+
+ }
+}
diff --git a/src/main/java/com/engine/htxc/contract/util/ContractUtil.java b/src/main/java/com/engine/htxc/contract/util/ContractUtil.java
new file mode 100644
index 0000000..224374e
--- /dev/null
+++ b/src/main/java/com/engine/htxc/contract/util/ContractUtil.java
@@ -0,0 +1,380 @@
+package com.engine.htxc.contract.util;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import org.apache.commons.lang3.StringUtils;
+import weaver.conn.RecordSet;
+import weaver.general.BaseBean;
+import weaver.general.Util;
+import weaver.hrm.User;
+import weaver.hrm.definedfield.HrmFieldManager;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+public class ContractUtil {
+
+ private ContractUtil(){
+
+ }
+
+ /**
+ * 查询表单字段
+ * @param tablename
+ * @return
+ */
+ public static Map> getTableFieldInfo(String tablename){
+ return getTableFieldInfo(tablename,0);
+ }
+
+ /**
+ * 获取表单字段信息
+ * @param tablename
+ * @param dtnum
+ * @return
+ */
+ public static Map> getTableFieldInfo(String tablename,int dtnum){
+ Map> infoMap = new HashMap<>();
+ RecordSet rs = new RecordSet();
+ String fieldsSql = " select b.* from workflow_bill a,workflow_billfield b " +
+ " where a.id=b.billid and a.tablename=? ";
+ if(dtnum>0){
+ String dtname = tablename+"_dt"+dtnum;
+ fieldsSql += " and detailtable = '"+dtname+"' ";
+ }else{
+ fieldsSql += " and detailtable is null ";
+ }
+
+ rs.executeQuery(fieldsSql,tablename);
+ while(rs.next()){
+ String fieldid = Util.null2String(rs.getString("id"));
+ String fieldname = Util.null2String(rs.getString("fieldname")).toLowerCase();
+ String fielddbtype = Util.null2String(rs.getString("fielddbtype"));
+ String fieldhtmltype = Util.null2String(rs.getString("fieldhtmltype"));
+ String type = Util.null2String(rs.getString("type"));
+
+ Map item = new HashMap<>();
+ item.put("fieldid",fieldid);
+ item.put("fieldname",fieldname);
+ item.put("fielddbtype",fielddbtype);
+ item.put("fieldhtmltype",fieldhtmltype);
+ item.put("type",type);
+
+ infoMap.put(fieldname,item);
+
+ }
+ return infoMap;
+ }
+
+ /**
+ * 合同审批发起节点构建合同查询参数
+ * @param htlb
+ * @return
+ */
+ public static JSONArray getParams(String htlb, String tableName){
+ RecordSet rs = new RecordSet();
+ JSONArray paramArr = new JSONArray();
+ String condition = String.format("'%s'", StringUtils.join(htlb.split(","),"','"));
+ String sql = " select t.* from " +
+ "(select row_number() over(partition by htbh order by dqbb desc) rn,c.* " +
+ " from ( select htbh,dqbb,sjfl,a.htlx from "+tableName+" a,uf_type_of_contract b " +
+ " where substr(a.htlx,instr(a.htlx,'_')+1) =b.htlxbm " +
+ " and a.htbh in("+condition+") " +
+ " ) c " +
+ ") t where t.rn=1 ";
+
+ rs.execute(sql);
+ while (rs.next()){
+ String htbh = Util.null2String(rs.getString("htbh"));
+ String version = Util.null2String(rs.getString("dqbb"));
+ String sjfl = Util.null2String(rs.getString("sjfl"));
+ String htlx = Util.null2String(rs.getString("htlx"));
+
+ JSONObject paramObj = new JSONObject();
+ paramObj.put("htbh",htbh);
+ paramObj.put("version",version);
+ paramObj.put("fhtfl",sjfl);
+ paramObj.put("htlx",htlx);
+ paramArr.add(paramObj);
+ }
+ return paramArr;
+ }
+
+ /**
+ * 根据合同类型查询合同主表名
+ * @param htlx
+ * @return
+ */
+ public static String getContractTableName(String htlx){
+ return getContractTableName(htlx,-1);
+ }
+
+ /**
+ * 根据合同类型查询合同相关名
+ * @param htlx 合同类型
+ * @param type 表类型
+ * @return
+ */
+ public static String getContractTableName(String htlx,int type){
+ String tableName = "";
+ String configSql = "select jmbd from uf_htspckhtqcpzb where htfl=? ";
+ if(type>=0){
+ configSql = " select b.jmbd from uf_htspckhtqcpzb a,uf_htspckhtqcpzb_dt1 b where a.id=b.mainid and htfl=? and zslb="+type;
+ }
+ RecordSet rs = new RecordSet();
+ rs.executeQuery(configSql,htlx);
+ if(rs.next()){
+ tableName = Util.null2String(rs.getString("jmbd")) ;
+ }
+ return tableName;
+ }
+
+
+ /**
+ * 获取字段的显示值
+ * @param fieldInfo 字段信息
+ * @param fieldvalue 字段值
+ * @param user
+ *
+ * @return
+ */
+ public static String getFieldValue(Map fieldInfo, String fieldvalue, User user){
+ String fieldid = fieldInfo.get("fieldid");
+ String fiedlddbtype = fieldInfo.get("fielddbtype");
+ String fieldhtmltype = fieldInfo.get("fieldhtmltype");
+ String detailtype = fieldInfo.get("type");
+ String showValue = fieldvalue;
+
+ try{
+ if("5".equals(fieldhtmltype)){
+ // 查询选择框的所有可以选择的值
+ RecordSet rs = new RecordSet();
+ rs.executeQuery("select selectvalue,selectname from workflow_SelectItem where cancel=0 and fieldid =? and selectvalue=? ",new Object[]{fieldid,fieldvalue});
+ if (rs.next()) {
+ showValue = Util.null2String(rs.getString("selectname"));
+ }
+ }else if("6".equals(fieldhtmltype)){
+ //doc类型
+ if(fieldvalue.length()>0){
+ RecordSet rs = new RecordSet();
+ rs.executeQuery("select docid,imagefileid, imagefilename from docimagefile where docid=? order by versionid desc ",fieldvalue);
+ if (rs.next()) {
+ String docid = rs.getString("docid");
+ String imagefileid = rs.getString("imagefileid");
+ String imagefilename = rs.getString("imagefilename");
+ showValue = docid+","+imagefileid+","+imagefilename;
+ }
+ }
+ }else if("3".equals(fieldhtmltype) && fieldvalue.length()>0){
+ HrmFieldManager hrmFieldManager = new HrmFieldManager();
+ showValue = hrmFieldManager.getFieldvalue(user, fiedlddbtype, Util.getIntValue(fieldid), Util.getIntValue(fieldhtmltype), Util.getIntValue(detailtype), fieldvalue, 0);
+ }
+ }catch (Exception e){
+ new BaseBean().writeLog(e);
+ }
+ return showValue;
+ }
+
+
+ /**
+ * 查询合同基本要素信息
+ * @param htbh 合同编号
+ * @param htlx 合同类型
+ * @param user
+ * @return
+ */
+ public static Map getContractMainData(String htbh,String htlx,User user){
+ Map htitem = new HashMap();
+ RecordSet rs = new RecordSet();
+ String configSql = " select jmbd,htxxzszd from uf_htspckhtqcpzb where htfl=? ";
+ rs.executeQuery(configSql,htlx);
+ if(rs.next()){
+ //表单名
+ String jmbd = Util.null2String(rs.getString("jmbd"));
+ //表单字段
+ String htxxzszd = Util.null2String(rs.getString("htxxzszd"));
+
+ String baseInfoSql = " select * from (select "+htxxzszd+" from "+jmbd+" where htbh=? order by dqbb desc ) where rownum=1 ";
+ Map> mainTableFieldInfo = ContractUtil.getTableFieldInfo(jmbd,0);
+ rs.executeQuery(baseInfoSql,htbh);
+ if(rs.next()){
+ String[] columns = rs.getColumnName();
+ for(int i=0;i fieldInfo = mainTableFieldInfo.get(fieldname);
+ String showname = getFieldValue(fieldInfo,fieldvalue,user);
+ htitem.put(fieldname+"span",showname);
+ }
+ }
+ }
+ }
+ return htitem;
+ }
+
+ /**
+ * 获取合同文件数据
+ * @param htlx 合同类型
+ * @param mainid 主数据id
+ * @param type 正文或附件
+ * @param user 当前用户
+ * @return
+ */
+ public static List> getContractFileData(String htlx, int mainid, int type, User user){
+ List> dataList = new ArrayList<>();
+ RecordSet rs = new RecordSet();
+ RecordSet rs2 = new RecordSet();
+ String configSql = " select zslbms,b.jmbd,htxxmxzszd from uf_htspckhtqcpzb a,uf_htspckhtqcpzb_dt1 b " +
+ "where a.id=b.mainid and htfl=? and zslb=? ";
+ rs.executeQuery(configSql,new Object[]{htlx,type});
+ if(rs.next()) {
+ String jmbd = Util.null2String(rs.getString("jmbd"));
+ String htxxmxzszd = Util.null2String(rs.getString("htxxmxzszd"));
+
+ String mainTable = jmbd.substring(0,jmbd.lastIndexOf("_"));
+ int dtnum = Integer.parseInt(jmbd.substring(jmbd.lastIndexOf("dt")+2));
+ Map> dtFieldInfo = getTableFieldInfo(mainTable,dtnum);
+ String dataSql = " select "+htxxmxzszd+" from "+jmbd+" where mainid=? order by yyfs ";
+ rs2.executeQuery(dataSql,mainid);
+ String[] columns = rs2.getColumnName();
+ while (rs2.next()){
+ Map item = new HashMap();
+ for (int i = 0; i < columns.length; i++) {
+ String fieldname = columns[i].toLowerCase();
+ String fieldvalue = Util.null2String(rs2.getString(fieldname));
+ item.put(fieldname, fieldvalue);
+ //id字段不处理
+ if("id".equals(fieldname)){
+ continue;
+ }
+ //用印后文件字段可能包含多个文件单独处理
+ if("yyhwj".equals(fieldname)){
+ if(StringUtils.isNotBlank(fieldvalue)){
+ List> esealFileList = getEsealFile(fieldname,fieldvalue,dtFieldInfo,user);
+ item.put(fieldname+"Obj", esealFileList);
+ }
+ continue;
+ }
+ addFieldShowName(item,fieldname,fieldvalue,dtFieldInfo,user);
+ }
+ dataList.add(item);
+ }
+ }
+ return dataList;
+ }
+
+ /**
+ * 添加字段的显示值
+ * @param item
+ * @param fieldname
+ * @param fieldvalue
+ * @param tableField
+ * @param user
+ * @return
+ */
+ public static Map addFieldShowName(Map item,String fieldname,String fieldvalue,Map> tableField, User user){
+ Map fieldInfo = tableField.get(fieldname);
+ String showname = getFieldValue(fieldInfo, fieldvalue,user);
+ String fieldhtmltype = fieldInfo.get("fieldhtmltype");
+ if ("6".equals(fieldhtmltype) && !"".equals(showname)) {
+ String[] docInfo = showname.split(",");
+ if (docInfo.length == 3) {
+ item.put("docid", docInfo[0]);
+ item.put("imagefileid", docInfo[1]);
+ item.put("imagefilename", docInfo[2]);
+ }
+ }else if("3".equals(fieldhtmltype) && !"".equals(showname)){
+ String[] fieldvalues = Util.splitString(fieldvalue, ",");
+ String[] fieldshownames = Util.splitString(showname, ",");
+ List> replaceDatas = new ArrayList>();
+ for(int j=0; fieldvalues!=null&&j replaceData = new HashMap();
+ replaceData.put("id", fieldvalues[j]);
+ replaceData.put("name", fieldshownames[j]);
+ replaceDatas.add(replaceData);
+ }
+ item.put(fieldname + "span", showname);
+ item.put(fieldname + "Obj",replaceDatas);
+ }else {
+ item.put(fieldname + "span", showname);
+ }
+ return item;
+ }
+
+ /**
+ * @description: 获取用印后文件
+ * @version: 1.0
+ * @author: wanxq
+ * @date: 2022年08月23 10:36:12
+ * @param: [fieldname, fieldvalue, tableField, user]
+ * @return: java.util.List>
+ **/
+ public static List> getEsealFile(String fieldname, String fieldvalue,Map> tableField,User user){
+ List> esealFileList = new ArrayList<>();
+ Map fieldInfo = tableField.get(fieldname);
+ String[] sealFileIds = fieldvalue.split(",");
+ for(int i=0;i fileMap = new HashMap<>();
+ fileMap.put("docid", docInfo[0]);
+ fileMap.put("imagefileid", docInfo[1]);
+ fileMap.put("imagefilename", docInfo[2]);
+ esealFileList.add(fileMap);
+ }
+ }
+ }
+ return esealFileList;
+ }
+
+ /**
+ * 根据合同类型获取默认建模查看页面地址
+ * @param htlx 合同类型
+ * @return
+ */
+ public static String getViewUrl(String htlx){
+ return getViewUrl(htlx,"0");
+ }
+
+ /**
+ * 根据合同类型获取默认建模查看页面地址
+ * @param htlx 合同类型
+ * @return
+ */
+ public static String getViewUrl(String htlx,String ismobile){
+ String viewUrl = "";
+ RecordSet rs = new RecordSet();
+ String configSql = " select jmckmburl,mobiledydjmckurl from uf_htspckhtqcpzb where htfl=? ";
+ rs.executeQuery(configSql,htlx);
+ if(rs.next()){
+ viewUrl = Util.null2String(rs.getString("jmckmburl"));
+ if("1".equals(ismobile)){
+ viewUrl = Util.null2String(rs.getString("mobiledydjmckurl"));
+ }
+ }
+ return viewUrl;
+ }
+
+ public static String getEditUrl(String wfunnumber,String htlx,String nodeunnumber){
+ String editUrl = "";
+ RecordSet rs = new RecordSet();
+ String configSql = " select jmmburl from uf_contapprtemp where lc=? and htlx=? and lcjd=? ";
+ rs.executeQuery(configSql,new Object[]{wfunnumber,htlx,nodeunnumber});
+ if(rs.next()){
+ editUrl = Util.null2String(rs.getString("jmmburl"));
+ }
+ return editUrl;
+ }
+}
diff --git a/src/main/java/com/engine/htxc/contract/util/RecordChangeFieldLog.java b/src/main/java/com/engine/htxc/contract/util/RecordChangeFieldLog.java
new file mode 100644
index 0000000..be3092a
--- /dev/null
+++ b/src/main/java/com/engine/htxc/contract/util/RecordChangeFieldLog.java
@@ -0,0 +1,99 @@
+package com.engine.htxc.contract.util;
+
+import weaver.conn.RecordSet;
+
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.UUID;
+
+public class RecordChangeFieldLog {
+
+ /**
+ * 插入变更日志表
+ * @param tableName 变更的表名
+ * @param conditionMap 插入变更日志所需参数
+ * @param dataMap 变更字段及对应的值
+ * @throws Exception
+ */
+ public static void recordChange(String tableName, Map conditionMap, Map dataMap) throws Exception {
+ String id = conditionMap.get("id");//数据id
+ String selectParam = "";
+ String columnName = "";
+ String formId = conditionMap.get("formId");//表单id
+ String modeId = conditionMap.get("modeId");//模块id
+ String userId = conditionMap.get("userId");//操作人用户id
+ String primaryName = conditionMap.get("primaryName");//表的主键名称
+ String operateType = conditionMap.get("operateType");//操作类型 1:新建 2:修改 3:删除 4:查看 5:状态变更
+ String viewtype = conditionMap.get("viewtype");//0:主表1:从表
+ String operateName = "";
+ switch (operateType){
+ case "1":
+ operateName="新建";
+ break;
+ case "2":
+ operateName="修改";
+ break;
+ case "3":
+ operateName="删除";
+ break;
+ case "5":
+ operateName="状态变更";
+ break;
+ }
+ for (Map.Entry entry : dataMap.entrySet()) {
+ selectParam = selectParam + entry.getKey().toLowerCase() + ",";
+ columnName = columnName + "'"+entry.getKey().toLowerCase() +"'"+ ",";
+ }
+ selectParam=selectParam.substring(0,selectParam.length()-1);
+ columnName=columnName.substring(0,columnName.length()-1);
+ RecordSet rs = new RecordSet();
+ //查询老数据sql
+ String oldValueSql = "select "+selectParam + " from "+tableName+" where "+primaryName+" in ("+id+")";
+ String[] columns = selectParam.split(",");
+ Map oldMap = new HashMap<>(); //老数据map
+ rs.executeQuery(oldValueSql);
+ if (rs.next()){
+ for (String column :columns){
+ if ("1".equals(operateType)){//当为新建时
+ oldMap.put(column,"");
+ }else {
+ oldMap.put(column,rs.getString(column));
+ }
+ }
+ }
+
+ //查询字段ID方法
+ String fieldSql = "select id,fieldname from workflow_billfield where billid="+formId+" and fieldname in ("+columnName+")";
+ if (viewtype != null){
+ fieldSql = fieldSql + " and viewtype="+viewtype;
+ }
+ rs.executeQuery(fieldSql);
+ Map fieldMap = new HashMap<>();
+ while (rs.next()){
+ fieldMap.put(rs.getString("fieldname"),rs.getString("id"));
+ }
+ //插入Modeviewlog_82507语句
+ String uuid = UUID.randomUUID().toString();
+ SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd&HH:mm:ss");
+ String[] date = sdf2.format(new Date()).split("&");
+ String insertModeviewsql = "insert into Modeviewlog_"+modeId+"(relatedid,relatedname,operatetype,operatedesc,operateuserid,operatedate,operatetime,clientaddress)values(?,?,?,?,?,?,?,?)";
+ Object[] params = {id,"-",operateType,operateName,userId,date[0],date[1],uuid};
+ boolean bool = rs.executeUpdate(insertModeviewsql,params);
+ //查询viewlogId
+ String viewLogIdsql = "select id from Modeviewlog_"+modeId +" where clientaddress='"+uuid+"'";
+ String viewLogId = "";
+ rs.executeQuery(viewLogIdsql);
+ if (rs.next()){
+ viewLogId = rs.getString("id");
+ }
+ String insertModelog = "insert into modelogfielddetail (viewlogid,fieldid,fieldvalue,prefieldvalue,modeid) values(?,?,?,?,?)";
+ for (Map.Entry oldEntry:oldMap.entrySet()){
+ if (fieldMap.get(oldEntry.getKey()) != null && !"".equals(fieldMap.get(oldEntry.getKey()))){
+ Object[] modelogParams = {viewLogId,fieldMap.get(oldEntry.getKey()),dataMap.get(oldEntry.getKey().toUpperCase()),oldEntry.getValue(),modeId};
+ boolean result = rs.executeUpdate(insertModelog,modelogParams);
+ }
+ }
+ }
+}
diff --git a/src/main/java/com/engine/htxc/contract/util/RecordChangeVersion.java b/src/main/java/com/engine/htxc/contract/util/RecordChangeVersion.java
new file mode 100644
index 0000000..b358c82
--- /dev/null
+++ b/src/main/java/com/engine/htxc/contract/util/RecordChangeVersion.java
@@ -0,0 +1,94 @@
+package com.engine.htxc.contract.util;
+
+import weaver.conn.RecordSet;
+import weaver.general.BaseBean;
+import weaver.interfaces.htsc.comInfo.PropBean;
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.UUID;
+
+public class RecordChangeVersion {
+ private static BaseBean bb = new BaseBean();
+
+ /**
+ * 变更快照方法
+ * @param billid 数据id
+ * @param tableName 主表建模表表名
+ * @throws Exception
+ */
+ public static void recordChangeVersion(int billid,String tableName)throws Exception{
+ String querySql = "select * from "+tableName+" where id="+billid;
+ Map dataMap = new HashMap<>();
+ RecordSet rs = new RecordSet();
+ rs.executeQuery(querySql);
+ if (rs.next()){
+ String[] columNames = rs.getColumnName();
+ for (String str : columNames){
+ dataMap.put(str,rs.getString(str));
+ }
+ }
+ PropBean pb = new PropBean();
+ String counterpartySnapshotmodeid = pb.getPropName("contractCreationSnapshotmodeid");
+ dataMap.put("FORMMODEID",counterpartySnapshotmodeid);
+ dataMap.put("FID",billid);
+ String uuid = UUID.randomUUID().toString();
+ dataMap.put("MODEUUID",uuid);
+ int dqbb = Integer.valueOf(dataMap.get("DQBB").toString());
+ dqbb = dqbb+1;
+ String names="";
+ String values="";
+ for (Map.Entry entry :dataMap.entrySet()){
+ names = names + entry.getKey() +",";
+ values = values +"'"+entry.getValue()+"'" +",";
+ };
+ //插入快照版本并修改主记录的当前版本
+ names = names.substring(0,names.length()-1);
+ values = values.substring(0,values.length()-1);
+ String insertSql = "insert into "+tableName+" ("+names+") values ("+values+")";
+ bb.writeLog("插入语句 insertSql:"+insertSql);
+ rs.executeUpdate("update "+tableName+" set DQBB = ? where id=?", dqbb,billid);
+ rs.executeUpdate(insertSql);
+
+ //查询快照版本billid
+ rs.executeQuery("select id from "+tableName+" where modeuuid=?",uuid);
+ if (rs.next()){
+ String id = rs.getString("id");
+ //插入明细表1
+ insertDetail(tableName+"_dt1",id,billid);
+ //插入明细表2
+ insertDetail(tableName+"_dt2",id,billid);
+ //插入明细表3
+ insertDetail(tableName+"_dt3",id,billid);
+ }
+
+ }
+ public static void insertDetail(String tableName,String id,int billid){
+ RecordSet rs = new RecordSet();
+ //插入明细表
+ String detail1Sql = "select * from "+tableName+" where mainid=?";
+ //获取主记录明细表数据
+ rs.executeQuery(detail1Sql,billid);
+ while (rs.next()){
+ Map detail1Map = new HashMap<>();
+ String[] columNames = rs.getColumnName();
+ for (String str : columNames){
+ detail1Map.put(str,rs.getString(str));
+ }
+ detail1Map.put("MAINID",id);
+ String names="";
+ String values="";
+ for (Map.Entry entry :detail1Map.entrySet()){
+ names = names + entry.getKey() +",";
+ values = values +"'"+entry.getValue()+"'" +",";
+ };
+ names = names.substring(0,names.length()-1);
+ values = values.substring(0,values.length()-1);
+ //插入快照的明细表
+ String insertSql = "insert into "+tableName+" ("+names+") values ("+values+")";
+ bb.writeLog("插入明细表"+tableName+":"+insertSql);
+ rs.executeUpdate(insertSql);
+ }
+
+ }
+}
diff --git a/src/main/java/com/engine/htxc/contract/web/ContractAction.java b/src/main/java/com/engine/htxc/contract/web/ContractAction.java
new file mode 100644
index 0000000..88bf284
--- /dev/null
+++ b/src/main/java/com/engine/htxc/contract/web/ContractAction.java
@@ -0,0 +1,300 @@
+package com.engine.htxc.contract.web;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.engine.common.util.ParamUtil;
+import com.engine.common.util.ServiceUtil;
+import com.engine.htxc.apprchalink.contract.service.ContractLinkService;
+import com.engine.htxc.apprchalink.contract.service.impl.ContractLinkServiceImpl;
+import com.engine.htxc.common.ParamValidException;
+import com.engine.htxc.common.R;
+import com.engine.htxc.common.dto.EcologyCommonResponseDTO;
+import com.engine.htxc.commonutil.base.RequestJsonUtil;
+import com.engine.htxc.contract.dto.*;
+import com.engine.htxc.contract.service.ContractService;
+import com.engine.htxc.contract.service.impl.ContractServiceImpl;
+import com.google.common.collect.Maps;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import weaver.general.BaseBean;
+import weaver.general.Util;
+import weaver.hrm.HrmUserVarify;
+import weaver.hrm.User;
+import weaver.interfaces.htsc.GlobatTools.JAVATools;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.Produces;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author K1810015
+ * @version 1.0.0
+ * @ClassName ContractAction.java
+ * @createTime 2022年07月01日 09:56:00
+ */
+public class ContractAction {
+
+ private static final Logger logger= LoggerFactory.getLogger(ContractAction.class);
+
+ private ContractService getService() {
+ return ServiceUtil.getService(ContractServiceImpl.class);
+ }
+
+
+ ContractLinkService contractLinkService=
+ ServiceUtil.getService(ContractLinkServiceImpl.class);
+
+
+ @POST
+ @Path("/getdocmodeinfo")
+ @Produces({MediaType.TEXT_PLAIN})
+ public String getdocmodeinfo(@Context HttpServletRequest request, @Context HttpServletResponse response) {
+ try {
+ User user = HrmUserVarify.getUser(request, response);
+ JSONArray jsonarray= getService().getfileinfo(user, ParamUtil.request2Map(request));
+ return JAVATools.Apiretrun("200",jsonarray);
+ } catch (Exception e) {
+ e.printStackTrace();
+ return JAVATools.Apiretrun("400","error");
+ }
+ }
+
+ @POST
+ @Path("/getdocimagefileinfo")
+ @Produces({MediaType.TEXT_PLAIN})
+ public String getdocimagefileinfo(@Context HttpServletRequest request, @Context HttpServletResponse response) {
+ try {
+ User user = HrmUserVarify.getUser(request, response);
+ JSONArray jsonarray= getService().getdocimagefileinfo(user, ParamUtil.request2Map(request));
+ return JAVATools.Apiretrun("200",jsonarray);
+ } catch (Exception e) {
+ e.printStackTrace();
+ return JAVATools.Apiretrun("400","error");
+ }
+ }
+
+
+
+
+ @POST
+ @Path("/contractuser")
+ @Produces({MediaType.TEXT_PLAIN})
+ public String contractuser(@Context HttpServletRequest request, @Context HttpServletResponse response){
+ JSONObject retjson = new JSONObject();
+ try {
+ User user = HrmUserVarify.getUser(request, response);
+ JSONObject jsonobj = RequestJsonUtil.getRequestJsonObject(request);
+ if(jsonobj==null || jsonobj.size()<=0){
+ retjson.put("status", "400");
+ retjson.put("error", "参数有误");
+ return retjson.toJSONString();
+ }
+ JSONObject jsonObject = contractLinkService.getnextuser(jsonobj);
+ if (jsonObject != null) {
+ retjson.put("status", "200");
+ retjson.put("data", jsonObject);
+ } else {
+ retjson.put("status", "400");
+ retjson.put("error", "参数有误");
+ }
+ return retjson.toJSONString();
+ }catch (Exception e){
+ retjson.put("status", "400");
+ retjson.put("error", "参数有误");
+ return retjson.toJSONString();
+ }
+ }
+
+
+ @POST
+ @Path("/updatestatus")
+ @Produces({MediaType.TEXT_PLAIN})
+ public String updatestatus(@Context HttpServletRequest request, @Context HttpServletResponse response){
+ JSONObject retjson = new JSONObject();
+ try {
+ User user = HrmUserVarify.getUser(request, response);
+ boolean flag= getService().updateStatus(user,ParamUtil.request2Map(request));
+ return JSONObject.toJSONString(R.ok(Util.null2String(flag)));
+ }catch (Exception e){
+ return JSONObject.toJSONString(R.error("msg"));
+ }
+ }
+
+ /**
+ * 分送节点下一步骤判断
+ * @title workflowNextJudge
+ * @author K1810015
+ * @updateTime 2022/8/26 17:42
+ */
+ @POST
+ @Path("/workflowNextJudge")
+ @Produces({MediaType.TEXT_PLAIN})
+ public String workflowNextJudge(@Context HttpServletRequest request, @Context HttpServletResponse response){
+ JSONObject retjson = new JSONObject();
+ try {
+ User user = HrmUserVarify.getUser(request, response);
+ return getService().workflowNextJudge(user,ParamUtil.request2Map(request));
+
+ }catch (Exception e){
+ return JSONObject.toJSONString(R.error("msg"));
+ }
+ }
+
+
+ @POST
+ @Path("/updateContractenType")
+ @Produces({MediaType.TEXT_PLAIN})
+ public String updateContractenType(@Context HttpServletRequest request, @Context HttpServletResponse response){
+ JSONObject retjson = new JSONObject();
+ try {
+ User user = HrmUserVarify.getUser(request, response);
+ boolean flag= getService().updateContractenType(user,ParamUtil.request2Map(request));
+ return JSONObject.toJSONString(R.ok(Util.null2String(flag)));
+ }catch (Exception e){
+ return JSONObject.toJSONString(R.error("msg"));
+ }
+ }
+
+
+ @POST
+ @Path("/startContractProcess")
+ @Produces({MediaType.TEXT_PLAIN})
+ public String startContractProcess(@Context HttpServletRequest request, @Context HttpServletResponse response) {
+ try {
+ User user = HrmUserVarify.getUser(request, response);
+
+ final String contractDataJson = Util.null2String(request.getParameter("contractData"));
+ logger.info("传入合同流程数据:[{}]",contractDataJson);
+ final ContractProcessDTO contractProcessDTO = JSON.parseObject(contractDataJson, ContractProcessDTO.class);
+ new ContractProcessValidator(contractProcessDTO).validate();
+
+ final ProcessInfoDTO processInfoDTO = getService().startContractProcess(user, contractProcessDTO);
+ logger.info("返回数据:[{}]",processInfoDTO);
+
+ if(processInfoDTO==null){
+ return EcologyCommonResponseDTO.failJson("流程发起失败");
+ }
+ return EcologyCommonResponseDTO.successJson(processInfoDTO);
+ }catch (ParamValidException | IllegalArgumentException e){
+ logger.error("参数校验失败",e);
+ return EcologyCommonResponseDTO.failJson("参数校验失败:"+e.getMessage());
+ }catch (Exception e){
+ logger.error("发起合同流程失败",e);
+ }
+ return EcologyCommonResponseDTO.failJson("流程发起失败");
+ }
+
+
+
+ /**
+ * 保存合同起草的开户行等信息到对手方明细表中
+ * @param request
+ * @param response
+ * @return
+ */
+ @POST
+ @Path("/saveBankInfoToCounterparty")
+ @Produces({MediaType.TEXT_PLAIN})
+ public String saveBankInfoToCounterparty(@Context HttpServletRequest request, @Context HttpServletResponse response) {
+ try {
+ Map paramMap = ParamUtil.request2Map(request);
+ String dataString = paramMap.get("data")==null?"":paramMap.get("data").toString();
+ List dataList = JSON.parseArray(dataString,Map.class);
+ Map data = Maps.newHashMap();
+ data.put("data",dataList);
+ return JSON.toJSONString(getService().saveBankInfoToCounterparty(data));
+ }catch (Exception e){
+ logger.error("保存异常",e);
+ }
+ return JAVATools.Apiretrun("-1", "保存合同起草的开户行等信息到对手方明细表中失败");
+ }
+
+
+ /**
+ * 合同审批流程保存之后关联建模
+ * @title linkMode
+ * @author K1810015
+ * @updateTime 2022/8/31 19:54
+ */
+ @POST
+ @Path("/linkmode")
+ @Produces({MediaType.TEXT_PLAIN})
+ public String linkmode(@Context HttpServletRequest request, @Context HttpServletResponse response){
+ JSONObject retjson = new JSONObject();
+ try {
+ User user = HrmUserVarify.getUser(request, response);
+ return getService().linkMode(user,ParamUtil.request2Map(request));
+
+ }catch (Exception e){
+ return JSONObject.toJSONString(R.error("msg"));
+ }
+ }
+
+ /**
+ * 删除流程关联建模
+ * @title linkMode
+ * @author K1810015
+ * @updateTime 2022/8/31 19:54
+ */
+ @POST
+ @Path("/unlinkmode")
+ @Produces({MediaType.TEXT_PLAIN})
+ public String unlinkmode(@Context HttpServletRequest request, @Context HttpServletResponse response){
+ JSONObject retjson = new JSONObject();
+ try {
+ User user = HrmUserVarify.getUser(request, response);
+ return getService().unLinkMode(user,ParamUtil.request2Map(request));
+
+ }catch (Exception e){
+ return JSONObject.toJSONString(R.error("msg"));
+ }
+ }
+ /**
+ * 引导页面
+ * @title guidePages
+ * @author K1810015
+ * @updateTime 2022/9/1 15:28
+ */
+ @POST
+ @Path("/guidePages")
+ @Produces({MediaType.TEXT_PLAIN})
+ public String guidePages(@Context HttpServletRequest request, @Context HttpServletResponse response) {
+ JSONObject retjson = new JSONObject();
+ try {
+ User user = HrmUserVarify.getUser(request, response);
+ return getService().guidePages(user,ParamUtil.request2Map(request));
+
+ }catch (Exception e){
+ return JSONObject.toJSONString(R.error("msg"));
+ }
+ }
+
+ /**
+ * 引导页面
+ * @title guidePages
+ * @author K1810015
+ * @updateTime 2022/9/1 15:28
+ */
+ @POST
+ @Path("/todosealname")
+ @Produces({MediaType.TEXT_PLAIN})
+ public String todosealname(@Context HttpServletRequest request, @Context HttpServletResponse response) {
+ JSONObject retjson = new JSONObject();
+ try {
+ User user = HrmUserVarify.getUser(request, response);
+ return getService().todosealname(user,ParamUtil.request2Map(request));
+
+ }catch (Exception e){
+ return JSONObject.toJSONString(R.error("msg"));
+ }
+ }
+
+}
diff --git a/src/main/java/com/engine/htxc/contract/web/ContractApprovalAction.java b/src/main/java/com/engine/htxc/contract/web/ContractApprovalAction.java
new file mode 100644
index 0000000..80a92a9
--- /dev/null
+++ b/src/main/java/com/engine/htxc/contract/web/ContractApprovalAction.java
@@ -0,0 +1,373 @@
+package com.engine.htxc.contract.web;
+
+import com.alibaba.fastjson.JSON;
+import com.engine.htsc.workflow.util.WorkflowUtil;
+import com.engine.htxc.common.R;
+import com.engine.htxc.contract.util.ContractUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import weaver.conn.RecordSet;
+import weaver.general.Util;
+import weaver.hrm.HrmUserVarify;
+import weaver.hrm.User;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.Produces;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Author : wanxq
+ * @Date : 2022年05月27日09:43:26
+ * @Version : 1.0
+ * @Description : 合同审批流程相关接口
+ **/
+public class ContractApprovalAction {
+
+ private static final Logger LOG = LoggerFactory.getLogger(ContractApprovalAction.class);
+
+ /**
+ * @description: 更新合同状态
+ * @version: 1.0
+ * @author: wanxq
+ * @date: 2022年07月12 17:08:44
+ * @param: [request, response]
+ * @return: java.lang.String
+ **/
+ @POST
+ @Path("/contractstatus/update")
+ @Produces({MediaType.TEXT_PLAIN})
+ public String updateContractStatus(@Context HttpServletRequest request, @Context HttpServletResponse response) {
+ String contractids = Util.null2String(request.getParameter("contractids"));
+ String zt = Util.null2String(request.getParameter("zt"));
+
+ try {
+ String updateSql = " update uf_htqc set zt="+zt+" where id in("+contractids+") ";
+ RecordSet rs = new RecordSet();
+ boolean result = rs.execute(updateSql);
+ if(result){
+ return JSON.toJSONString(R.ok());
+ }else {
+ return JSON.toJSONString(R.error("合同状态更新失败"));
+ }
+ } catch (Exception e) {
+ LOG.error("更新合同状态出错:",e);
+ return JSON.toJSONString(R.error());
+ }
+ }
+
+ /**
+ * @description: 更新合同附件
+ * @version: 1.0
+ * @author: wanxq
+ * @date: 2022年07月26 13:24:12
+ * @param: [request, response]
+ * @return: java.lang.String
+ **/
+ @POST
+ @Path("/updateWfContractFile")
+ @Produces({MediaType.TEXT_PLAIN})
+ public String updateWfContractFile(@Context HttpServletRequest request, @Context HttpServletResponse response) {
+ String fileids = Util.null2String(request.getParameter("fileids"));
+ String requestid = Util.null2String(request.getParameter("requestid"));
+
+ try {
+ RecordSet rs = new RecordSet();
+ String tableName = WorkflowUtil.getTableName(requestid);
+ String updateSql = " update "+tableName+" set htfj=? where requestid=? ";
+ boolean result = rs.executeUpdate(updateSql,new Object[]{fileids,requestid});
+ if(result){
+ return JSON.toJSONString(R.ok());
+ }else {
+ return JSON.toJSONString(R.error("更新合同附件失败"));
+ }
+
+ } catch (Exception e) {
+ LOG.error("更新合同附件出错:",e);
+ return JSON.toJSONString(R.error());
+ }
+ }
+
+ /**
+ * @description:查询合同编辑地址
+ * @version: 1.0
+ * @author: wanxq
+ * @date: 2022年07月27 13:51:33
+ * @param: [request, response]
+ * @return: java.lang.String
+ **/
+ @GET
+ @Path("/contract/getEditUrl")
+ @Produces({MediaType.TEXT_PLAIN})
+ public String getEditUrl(@Context HttpServletRequest request, @Context HttpServletResponse response) {
+ Map apidatas = new HashMap<>();
+ int requestid = Util.getIntValue(request.getParameter("requestid"));
+ int nodeid = Util.getIntValue(request.getParameter("nodeid"));
+ int wfuserid = Util.getIntValue(request.getParameter("f_weaver_belongto_userid"));
+ String wfunnumber = Util.null2String(request.getParameter("wfunnumber"));
+ String nodeunnumber = Util.null2String(request.getParameter("nodeunnumber"));
+ String htlx = Util.null2String(request.getParameter("htlx"));
+
+ RecordSet rs = new RecordSet();
+ Map data = new HashMap<>();
+ data.put("hasRight", false);
+ data.put("isEdit", false);
+
+ //判断是否是流程当前节点参与人
+ String url = "";
+ String sql = " select 1 from workflow_currentoperator where requestid=? and nodeid=? and userid=? ";
+
+ try {
+ rs.executeQuery(sql,new Object[]{requestid,nodeid,wfuserid});
+ if(rs.next() || requestid<0){
+ url = ContractUtil.getEditUrl(wfunnumber,htlx,nodeunnumber);
+ data.put("hasRight", true);
+ data.put("isEdit", true);
+ }
+
+ //如果无权限编辑或者未找到配置的编辑地址,默认查看地址
+ if("".equals(url)){
+ url = ContractUtil.getViewUrl(htlx);
+ }
+ data.put("url",url);
+ apidatas.put("data", data);
+ return JSON.toJSONString(R.ok(apidatas));
+ } catch (Exception e) {
+ LOG.error("获取合同编辑地址出错:",e);
+ return JSON.toJSONString(R.error());
+ }
+ }
+
+ /**
+ * @description: 查询合同查看地址
+ * @version: 1.0
+ * @author: wanxq
+ * @date: 2022年07月27 15:42:06
+ * @param: [request, response]
+ * @return: java.lang.String
+ **/
+ @GET
+ @Path("/contract/getViewUrl")
+ @Produces({MediaType.TEXT_PLAIN})
+ public String getViewUrl(@Context HttpServletRequest request, @Context HttpServletResponse response) {
+ Map apidatas = new HashMap<>();
+ String htlx = Util.null2String(request.getParameter("htlx"));
+ String ismobile = Util.null2String(request.getParameter("ismobile"),"0");
+ try {
+ String viewUrl = ContractUtil.getViewUrl(htlx,ismobile);
+ apidatas.put("url", viewUrl);
+ return JSON.toJSONString(R.ok(apidatas));
+ } catch (Exception e) {
+ LOG.error("获取合同合查看地址出错:",e);
+ return JSON.toJSONString(R.error());
+ }
+ }
+
+ /**
+ * @description: 更新用印方式
+ * @version: 1.0
+ * @author: wanxq
+ * @date: 2022年07月28 10:11:48
+ * @param: [request, response]
+ * @return: java.lang.String
+ **/
+ @POST
+ @Path("/contract/updateSealSetting")
+ @Produces({MediaType.TEXT_PLAIN})
+ public String updateSealSetting(@Context HttpServletRequest request, @Context HttpServletResponse response) {
+
+ User user = HrmUserVarify.getUser(request, response);
+ Map apidatas = new HashMap<>();
+ int dataid = Util.getIntValue(request.getParameter("dataid"));
+ int mainid = Util.getIntValue(request.getParameter("mainid"));
+ String htlx = Util.null2String(request.getParameter("htlx"));
+ int type = Util.getIntValue(request.getParameter("type"));
+ String yyfs = Util.null2String(request.getParameter("yyfs"));
+ String dzyyfs = Util.null2String(request.getParameter("dzyyfs"));
+ String dsmdy = Util.null2String(request.getParameter("dsmdy"));
+ String yqxdyr = Util.null2String(request.getParameter("yqxdyr"));
+ String fwdyfs = Util.null2String(request.getParameter("fwdyfs"));
+ String wlyyfs = Util.null2String(request.getParameter("wlyyfs"));
+ String yyfswb = Util.null2String(request.getParameter("yyfswb"));
+ String yyqksm = Util.null2String(request.getParameter("yyqksm"));
+ try {
+ RecordSet rs = new RecordSet();
+ String jmbd = ContractUtil.getContractTableName(htlx,type);
+ String updateSql = " update "+jmbd+" set yyfs=?,dzyyfs=?"+
+ ",dsmdy=?,yqxdyr=?,fwdyfs=?,wlyyfs=?,yyfswb=?,yyqksm=? where id=? ";
+ boolean result = rs.executeUpdate(updateSql,new Object[]{yyfs,dzyyfs,dsmdy,yqxdyr,fwdyfs,wlyyfs,yyfswb,yyqksm,dataid});
+ if(result){
+ List> docData = ContractUtil.getContractFileData(htlx,mainid,type,user);
+ apidatas.put("docData", docData);
+ return JSON.toJSONString(R.ok(apidatas));
+ }else {
+ return JSON.toJSONString(R.error("更新用印方式失败"));
+ }
+ } catch (Exception e) {
+ LOG.error("更新用印方式出错:",e);
+ return JSON.toJSONString(R.error());
+ }
+ }
+
+ /**
+ * @description: 更新确认物理用印状态
+ * @version: 1.0
+ * @author: wanxq
+ * @date: 2022年07月28 09:34:15
+ * @param: [request, response]
+ * @return: java.lang.String
+ **/
+ @POST
+ @Path("/contract/updateQrwlyyStatus")
+ @Produces({MediaType.TEXT_PLAIN})
+ public String updateQrwlyyStatus(@Context HttpServletRequest request, @Context HttpServletResponse response) {
+ int dataid = Util.getIntValue(request.getParameter("dataid"));
+ String htlx = Util.null2String(request.getParameter("htlx"));
+ int type = Util.getIntValue(request.getParameter("type"));
+ String qrwlyy = Util.null2String(request.getParameter("qrwlyy"));
+
+ try {
+ RecordSet rs = new RecordSet();
+ String jmbd = ContractUtil.getContractTableName(htlx,type);
+ String updateSql = " update "+jmbd+" set qrwlyy=? where id=? ";
+ boolean result = rs.executeUpdate(updateSql,new Object[]{qrwlyy,dataid});
+ if(result){
+ return JSON.toJSONString(R.ok());
+ }else {
+ return JSON.toJSONString(R.error("更新确认物理用印状态失败"));
+ }
+ } catch (Exception e) {
+ LOG.error("更新确认物理用印状态出错:",e);
+ return JSON.toJSONString(R.error());
+ }
+ }
+
+ /**
+ * @description: 批量刷新用印方式
+ * @version: 1.0
+ * @author: wanxq
+ * @date: 2022年07月28 16:17:44
+ * @param: [request, response]
+ * @return: java.lang.String
+ **/
+ @POST
+ @Path("/contract/batchBrushSealWay")
+ @Produces({MediaType.TEXT_PLAIN})
+ public String batchBrushSealWay(@Context HttpServletRequest request, @Context HttpServletResponse response) {
+
+ User user = HrmUserVarify.getUser(request, response);
+ Map apidatas = new HashMap<>();
+ int dataid = Util.getIntValue(request.getParameter("dataid"));
+ int mainid = Util.getIntValue(request.getParameter("mainid"));
+ String htlx = Util.null2String(request.getParameter("htlx"));
+ int type = Util.getIntValue(request.getParameter("type"));
+ String needBrushDataIds = Util.null2String(request.getParameter("needBrushDataIds"));
+
+ try {
+ RecordSet rs = new RecordSet();
+ String jmbd = ContractUtil.getContractTableName(htlx,type);
+ String updateSql = " update "+jmbd+" a set (a.yyfs, a.dzyyfs,a.dsmdy,a.yqxdyr,a.fwdyfs,a.wlyyfs,a.yyfswb) = " +
+ " (select b.yyfs, b.dzyyfs,b.dsmdy,b.yqxdyr,b.fwdyfs,b.wlyyfs,b.yyfswb from "+jmbd+" b where b.id=?) where a.id in("+needBrushDataIds+") ";
+ boolean result = rs.executeUpdate(updateSql,new Object[]{dataid});
+ if(result){
+ List