diff --git a/service/src/main/java/com/hzya/frame/grpU8/nxproof/gbizbsyrec/entity/GbiZbsyrecEntity.xml b/service/src/main/java/com/hzya/frame/grpU8/nxproof/gbizbsyrec/entity/GbiZbsyrecEntity.xml
index a4bd5216..83805dac 100644
--- a/service/src/main/java/com/hzya/frame/grpU8/nxproof/gbizbsyrec/entity/GbiZbsyrecEntity.xml
+++ b/service/src/main/java/com/hzya/frame/grpU8/nxproof/gbizbsyrec/entity/GbiZbsyrecEntity.xml
@@ -122,6 +122,9 @@
delete FROM gbi_zbsyrec where GSDM =#{gsdm} and KJND=#{kjnd} and MODULE='OER' and djlx=#{djlx} and djid=#{djId} AND DJFLMX=#{djflmx}
+
+ delete FROM gbi_zbsyrec where GSDM =#{gsdm} and KJND=#{kjnd} and djid=#{djId}
+
diff --git a/service/src/main/java/com/hzya/frame/grpU8/nxproof/oerdjjsfs/entity/OerDjjsfsEntity.xml b/service/src/main/java/com/hzya/frame/grpU8/nxproof/oerdjjsfs/entity/OerDjjsfsEntity.xml
index 68531fae..1373b9b4 100644
--- a/service/src/main/java/com/hzya/frame/grpU8/nxproof/oerdjjsfs/entity/OerDjjsfsEntity.xml
+++ b/service/src/main/java/com/hzya/frame/grpU8/nxproof/oerdjjsfs/entity/OerDjjsfsEntity.xml
@@ -128,5 +128,9 @@ GSDM,KJND
DELETE FROM oer_djjsfs WHERE GSDM = #{gsdm} AND KJND = #{kjnd} AND DJLXID = #{djlxId} AND MLID = #{mlId}
+
+
+ DELETE FROM oer_djjsfs WHERE GSDM = #{gsdm} AND MLID = #{mlId}
+
diff --git a/service/src/main/java/com/hzya/frame/grpU8/nxproof/oerdjml/entity/OerDjmlEntity.java b/service/src/main/java/com/hzya/frame/grpU8/nxproof/oerdjml/entity/OerDjmlEntity.java
index 6f726222..58fc7ac4 100644
--- a/service/src/main/java/com/hzya/frame/grpU8/nxproof/oerdjml/entity/OerDjmlEntity.java
+++ b/service/src/main/java/com/hzya/frame/grpU8/nxproof/oerdjml/entity/OerDjmlEntity.java
@@ -1,5 +1,9 @@
package com.hzya.frame.grpU8.nxproof.oerdjml.entity;
+import com.hzya.frame.grpU8.nxproof.gbizbsyrec.entity.GbiZbsyrecEntity;
+import com.hzya.frame.grpU8.nxproof.oerdjjsfs.entity.OerDjjsfsEntity;
+import com.hzya.frame.grpU8.nxproof.oerdjnr.entity.OerDjnrEntity;
+import com.hzya.frame.grpU8.nxproof.oeryszb.entity.OerYszbEntity;
import com.hzya.frame.web.entity.BaseEntity;
import lombok.*;
@@ -69,11 +73,10 @@ public class OerDjmlEntity extends BaseEntity {
private String ssrid;
//送审人
private String ssr;
- private List gbiZbsyrecAllEntitylist;
- private List oerDjnrAllEntityList;
- private List oerYszbAllEntityList;
-
-
+ private List gbiZbsyrecEntitylist;
+ private List oerDjnrEntityList;
+ private List oerYszbEntityList;
+ private List oerDjjsfsEntityList;
public String getMlId() {
return mlId;
@@ -347,28 +350,28 @@ public class OerDjmlEntity extends BaseEntity {
this.lclb = lclb;
}
- public List getGbiZbsyrecAllEntitylist() {
- return gbiZbsyrecAllEntitylist;
+ public List getGbiZbsyrecEntitylist() {
+ return gbiZbsyrecEntitylist;
}
- public void setGbiZbsyrecAllEntitylist(List gbiZbsyrecAllEntitylist) {
- this.gbiZbsyrecAllEntitylist = gbiZbsyrecAllEntitylist;
+ public void setGbiZbsyrecEntitylist(List gbiZbsyrecEntitylist) {
+ this.gbiZbsyrecEntitylist = gbiZbsyrecEntitylist;
}
- public List getOerDjnrAllEntityList() {
- return oerDjnrAllEntityList;
+ public List getOerDjnrEntityList() {
+ return oerDjnrEntityList;
}
- public void setOerDjnrAllEntityList(List oerDjnrAllEntityList) {
- this.oerDjnrAllEntityList = oerDjnrAllEntityList;
+ public void setOerDjnrEntityList(List oerDjnrEntityList) {
+ this.oerDjnrEntityList = oerDjnrEntityList;
}
- public List getOerYszbAllEntityList() {
- return oerYszbAllEntityList;
+ public List getOerYszbEntityList() {
+ return oerYszbEntityList;
}
- public void setOerYszbAllEntityList(List oerYszbAllEntityList) {
- this.oerYszbAllEntityList = oerYszbAllEntityList;
+ public void setOerYszbEntityList(List oerYszbEntityList) {
+ this.oerYszbEntityList = oerYszbEntityList;
}
public String getXmdm() {
@@ -450,4 +453,12 @@ public class OerDjmlEntity extends BaseEntity {
public void setSsr(String ssr) {
this.ssr = ssr;
}
+
+ public List getOerDjjsfsEntityList() {
+ return oerDjjsfsEntityList;
+ }
+
+ public void setOerDjjsfsEntityList(List oerDjjsfsEntityList) {
+ this.oerDjjsfsEntityList = oerDjjsfsEntityList;
+ }
}
diff --git a/service/src/main/java/com/hzya/frame/grpU8/nxproof/oerdjml/entity/OerDjmlEntity.xml b/service/src/main/java/com/hzya/frame/grpU8/nxproof/oerdjml/entity/OerDjmlEntity.xml
index ccb2a7c5..bd6b826b 100644
--- a/service/src/main/java/com/hzya/frame/grpU8/nxproof/oerdjml/entity/OerDjmlEntity.xml
+++ b/service/src/main/java/com/hzya/frame/grpU8/nxproof/oerdjml/entity/OerDjmlEntity.xml
@@ -160,6 +160,43 @@ GSDM,KJND,mlId
where GSDM = #{gsdm} and KJND=#{kjnd} and DJLXID=${djlxId} and MLID=${mlId}
+
+
+ update oer_djml set
+
+ GSDM = #{gsdm},
+ KJND = #{kjnd},
+ DJLXID = #{djlxId},
+ MLID = #{mlId},
+ ZT = #{zt},
+ CRerDM = #{crerdm},
+ CRerMC = #{crermc},
+ CRerDate = #{crerdate},
+ FlowCode = #{flowcode},
+ CurSHJD = #{curshjd},
+ NextSHJD = #{nextshjd},
+ SHR = #{shrs},
+ SHRID = #{shrId},
+ SHRQ = #{shrq},
+ JSFS = #{jsfs},
+ DJBH = #{djbh},
+ DJDate = #{djdate},
+ FJS = #{fjs},
+ BMDM = #{bmdm},
+ BMMC = #{bmmc},
+ GRDM = #{grdm},
+ GRMC = #{grmc},
+ TEL = #{tel},
+ YJJE = #{yjje},
+ THJE = #{thje},
+ BLJE = #{blje},
+ JE = #{je},
+ WHJE = #{whje},
+ JEDX = #{jedx},
+
+ where DJBH = #{djbh} and MLID=${mlId}
+
+
DELETE
diff --git a/service/src/main/java/com/hzya/frame/grpU8/nxproof/oerdjml/service/impl/OerDjmlServiceImpl.java b/service/src/main/java/com/hzya/frame/grpU8/nxproof/oerdjml/service/impl/OerDjmlServiceImpl.java
index d89a0acf..4f31ea77 100644
--- a/service/src/main/java/com/hzya/frame/grpU8/nxproof/oerdjml/service/impl/OerDjmlServiceImpl.java
+++ b/service/src/main/java/com/hzya/frame/grpU8/nxproof/oerdjml/service/impl/OerDjmlServiceImpl.java
@@ -190,6 +190,27 @@ public class OerDjmlServiceImpl implements IOerDjmlService {
return pubObjFlowEntity;
}
+ /**
+ * 保存节点PUB_OBJ_FLOW
+ * @param entity
+ * @param maxMlId
+ */
+ public PubObjFlowEntity setPubObjFlow(OerDjmlEntity entity, String maxMlId){
+ PubObjFlowEntity pubObjFlowEntity = new PubObjFlowEntity();
+ PubObjFlowEntity pubObjFlowEntityPofid=iPubObjFlowDao.query(pubObjFlowEntity, "PubObjFlowEntity_list_base");
+ pubObjFlowEntity.setDjh(maxMlId);
+ pubObjFlowEntity.setPofId(pubObjFlowEntityPofid.getPofId());
+ pubObjFlowEntity.setModCode("OER");
+ pubObjFlowEntity.setDjlx(entity.getDjlxId());
+ pubObjFlowEntity.setShrs(entity.getCrerdm());
+ pubObjFlowEntity.setShrmc(entity.getCrermc());
+ pubObjFlowEntity.setFlowcode(entity.getFlowcode());
+ pubObjFlowEntity.setAuditFlag("999");
+ pubObjFlowEntity.setAuditAftFlag("-1");
+ pubObjFlowEntity.setIsaudit("1");
+ return pubObjFlowEntity;
+ }
+
/**
* 新增日志表PubAuditLog
* @param jsonObject
@@ -250,6 +271,43 @@ public class OerDjmlServiceImpl implements IOerDjmlService {
pubAuditLogEntityList.add(pubAuditLogEntity);
pubAuditLogEntityList.add(pubAuditLogEntityTwo);*/
+ pubAuditLogEntityList.add(pubAuditLogEntity);
+ return pubAuditLogEntityList;
+ }
+ /**
+ * 新增日志表PubAuditLog
+ * @param entity
+ * @param maxMlId
+ */
+ public List setPubAuditLog(OerDjmlEntity entity,String maxMlId){
+ List pubAuditLogEntityList=new ArrayList<>();
+ //拼接送审参数
+ PubAuditLogEntity pubAuditLogEntity = new PubAuditLogEntity();
+ pubAuditLogEntity.setBillname("费用报销[向导式]");
+ pubAuditLogEntity.setFlowname("暂时费用报销审批流");
+ pubAuditLogEntity.setNodeseq("-9");
+ pubAuditLogEntity.setNodename("送审");
+ pubAuditLogEntity.setAuditorId("1");
+ pubAuditLogEntity.setAuditor("系统管理员");
+ pubAuditLogEntity.setAmt(entity.getJe());
+ pubAuditLogEntity.setRemark("国子系统送审成功");
+ pubAuditLogEntity.setAtype("国子系统通过");
+ pubAuditLogEntity.setBillId(maxMlId);
+ pubAuditLogEntity.setModname("OER");
+ pubAuditLogEntity.setFlowcode(entity.getFlowcode());
+ pubAuditLogEntity.setGsdm(entity.getGsdm());
+ pubAuditLogEntity.setKjnd(entity.getKjnd());
+ pubAuditLogEntity.setServdatetime("1");
+ pubAuditLogEntity.setAdatetime("1");
+ //获取最大值logid
+ PubAuditLogEntity pubAuditLogEntityLogid = iPubAuditLogDao.query(pubAuditLogEntity, "PubAuditLogEntity_list_base_max");
+ pubAuditLogEntity.setLogId(pubAuditLogEntityLogid.getLogId());
+ //获取最大值logseq
+ PubAuditLogEntity pubAuditLogEntityLogseq=iPubAuditLogDao.query(pubAuditLogEntity,"PubAuditLogEntity_list_base_logseq");
+ pubAuditLogEntity.setLogseq(pubAuditLogEntityLogseq.getLogseq());
+
+
+
pubAuditLogEntityList.add(pubAuditLogEntity);
return pubAuditLogEntityList;
}
@@ -299,6 +357,35 @@ public class OerDjmlServiceImpl implements IOerDjmlService {
return yszbEntity;
}
+ /*****
+ * 根据预算指标,生成指标生成指标使用记录
+ * @Author 👻👻👻👻👻👻👻👻 gjh
+ * @Date 2023-06-29 16:43
+ * @Param [djnrEntity]
+ * @return com.hzya.frame.online.expense.insert.oerYszb.entity.oerYszbEntity
+ **/
+ private GbiZbsyrecEntity setOerYszbEntity(OerDjmlEntity entity,OerDjnrEntity djnrEntity) {
+ GbiZbsyrecEntity yszbEntity = new GbiZbsyrecEntity();
+ BeanUtil.copyProperties(djnrEntity,yszbEntity);
+ yszbEntity.setModule(djnrEntity.getModule());
+ yszbEntity.setDjlx(djnrEntity.getDjlxId());
+ yszbEntity.setDjId(djnrEntity.getMlId());
+ yszbEntity.setDjflh(djnrEntity.getDjflh());
+ yszbEntity.setDjflmx(djnrEntity.getMlId());
+ yszbEntity.setDjywrq(entity.getDjdate());
+ yszbEntity.setDjzt(entity.getZt());
+ yszbEntity.setJhId(djnrEntity.getZbId());
+ yszbEntity.setDjje(djnrEntity.getJe());
+ yszbEntity.setSl("0");
+ yszbEntity.setDjzy(djnrEntity.getZy());
+ yszbEntity.setSzfx("1");
+ yszbEntity.setZblb("MXZB");
+ yszbEntity.setJdzb("0");
+ yszbEntity.setCzlx("0");
+ yszbEntity.setZzbz("0");
+ return yszbEntity;
+ }
+
/****
* 组装结算方式集合
@@ -327,6 +414,22 @@ public class OerDjmlServiceImpl implements IOerDjmlService {
return oerDjjsfsEntityList;
}
}
+ /****
+ * 组装结算方式集合
+ * @Author 👻👻👻👻👻👻👻👻 gjh
+ * @Date 2023-06-29 16:08
+ * @param entity 三方json数据, maxDjbh, maxMlId]
+ * @return java.util.List
+ **/
+ private List setOerDjjsfsEntityList(OerDjmlEntity entity, String maxDjbh, String maxMlId) {
+ List oerDjjsfsEntityList = entity.getOerDjjsfsEntityList();
+ for (int i = 0; i < oerDjjsfsEntityList.size(); i++) {
+ oerDjjsfsEntityList.get(i).setMlId(maxMlId);
+ oerDjjsfsEntityList.get(i).setGsdm(entity.getGsdm());
+ }
+ return oerDjjsfsEntityList;
+
+}
/****
* 根据报销明细生成预算指标数据
@@ -869,9 +972,152 @@ public class OerDjmlServiceImpl implements IOerDjmlService {
* @return java.lang.Object
**/
private Object saveOrUpdateData(OerDjmlEntity entity) {
+ //获取主表数据
+ logger.info("开始处理数据:------>");
+ String gsdm = entity.getGsdm();
+ logger.info("根据公司代码查询最大单据编号,公司代码:------>"+gsdm);
+ if(StrUtil.isEmpty(gsdm)){
+ return BaseResult.getFailureMessageEntity("公司代码不能为空!请排查参数gsdm");
+ }
+ if(StrUtil.isEmpty(entity.getDjdate())){
+ return BaseResult.getFailureMessageEntity("单据日期不能为空!请排查参数djdate");
+ }
+ if(entity.getOerDjnrEntityList() == null || entity.getOerDjnrEntityList().size() == 0 ){
+ return BaseResult.getFailureMessageEntity("报销单明细数据为空!请检查参数");
+ }
+ if(entity.getOerDjjsfsEntityList() == null || entity.getOerDjjsfsEntityList().size() == 0 ){
+ return BaseResult.getFailureMessageEntity("报销单结算明细数据为空!请检查参数");
+ }
+ boolean flag = false;
+ String maxDjbh = null;
+ String maxMlId = null;
+ if(entity.getDjbh() != null && !"".equals(entity.getDjbh())){
+ OerDjmlEntity oerDjmlAllEntity = new OerDjmlEntity();
+ oerDjmlAllEntity.setDjbh(entity.getDjbh());
+ List oerDjmlAllEntities = iOerDjmlDao.queryOerDjml(oerDjmlAllEntity);
+ if(oerDjmlAllEntities != null && oerDjmlAllEntities.size() == 1){
+ flag = true;
+ maxDjbh = oerDjmlAllEntities.get(0).getDjbh();
+ maxMlId = oerDjmlAllEntities.get(0).getMlId();
+ }
+ }
+ if(!flag){
+ logger.info("获取最大单据编号");
+ OerDjmlEntity oerDjmlEntity = new OerDjmlEntity();
+ oerDjmlEntity.setGsdm(gsdm);
+ oerDjmlEntity.setDjdate(entity.getDjdate());
+ oerDjmlEntity.setFph(nullConvert(entity.getFph()));
+ maxDjbh = iOerDjmlDao.getMaxDjbgByGsdm(oerDjmlEntity);
+ logger.info("获取到最大单据编号:------>"+maxDjbh);
+ //查询最大单据ID mlid
+ maxMlId = iOerDjmlDao.getMaxMlIdByGsdm(oerDjmlEntity);
+ logger.info("获取到最大单据ID MLID:------>"+maxMlId);
+ }
- return null;
+ logger.info("组装单据主表数据开始:------>");
+ OerDjmlEntity oerdjml = setMainData(entity,maxDjbh,maxMlId);
+ logger.info("保存主表信息:------>");
+ if(flag){
+ iOerDjmlDao.update("OerDjmlEntity_update_data",oerdjml);
+ //删除明细
+ OerDjnrEntity oerDjnrEntity = new OerDjnrEntity();
+ oerDjnrEntity.setMlId(maxMlId);
+ oerDjnrEntity.setGsdm(entity.getGsdm());
+ oerDjnrEntity.setKjnd(entity.getKjnd());
+ oerDjnrEntity.setDjlxId(entity.getDjlxId());
+ iOerDjnrDao.delete("OerDjnrEntity_delete",oerDjnrEntity);
+ //删除预算指标
+ OerYszbEntity oerYszbEntity = new OerYszbEntity();
+ oerYszbEntity.setGsdm(entity.getGsdm());
+ oerYszbEntity.setKjnd(entity.getKjnd());
+ oerYszbEntity.setMlId(maxMlId);
+ iOerYszbDao.delete("OerYszbEntity_delete",oerYszbEntity);
+
+ //删除预算指标记录
+ GbiZbsyrecEntity oeryszb= new GbiZbsyrecEntity();
+ oeryszb.setGsdm(entity.getGsdm());
+ oeryszb.setKjnd(entity.getKjnd());
+ oeryszb.setDjId(maxMlId);
+ iGbiZbsyrecDao.delete("GbiZbsyrecEntity_delete_mlid",oeryszb);
+ //删除单据结算方式
+ OerDjjsfsEntity oerDjjsfsEntity = new OerDjjsfsEntity();
+ oerDjjsfsEntity.setMlId(maxMlId);
+ oerDjjsfsEntity.setGsdm(entity.getGsdm());
+ iOerDjjsfsDao.delete("OerDjjsfsEntity_delete_delMlid",oerDjjsfsEntity);
+ //删除日志
+ //删除节点
+ }else {
+ iOerDjmlDao.save("OerDjmlEntity_insert",oerdjml);
+ }
+
+ logger.info("组装单据报销明细开始:------>");
+ List oerDjnrEntityList = setOerDjnrEntity(entity,maxDjbh,maxMlId);
+ logger.info("保存报销明细开始:------>");
+ for(OerDjnrEntity djnrEntity : oerDjnrEntityList){
+ iOerDjnrDao.save("OerDjnrEntity_insert",djnrEntity);
+ logger.info("保存完报销明细后,根据明细数据生成预算指标数据:------>");
+ OerYszbEntity yszbEntity = createOerYszbEntity(djnrEntity,maxMlId);
+ logger.info("保存预算指标开始:------>");
+ iOerYszbDao.save("OerYszbEntity_insert",yszbEntity);
+ logger.info("保存预算指标记录:------>");
+ GbiZbsyrecEntity oeryszb= setOerYszbEntity(entity,djnrEntity);
+ iGbiZbsyrecDao.save("GbiZbsyrecEntity_insert",oeryszb);
+ }
+ logger.info("组装单据结算方式明细开始:------>");
+ List oerDjjsfsEntityList = setOerDjjsfsEntityList(entity,maxDjbh,maxMlId);
+ logger.info("保存结算方式明细开始:------>");
+ for(OerDjjsfsEntity oerdjjsfs :oerDjjsfsEntityList){
+ iOerDjjsfsDao.save("OerDjjsfsEntity_insert",oerdjjsfs);
+ }
+ //保存日志表PubAuditLog
+ List pubAuditLogEntityList = setPubAuditLog(entity, maxMlId);
+ for (PubAuditLogEntity pubAuditLog : pubAuditLogEntityList) {
+ iPubAuditLogDao.save("PubAuditLogEntity_insert",pubAuditLog);
+ }
+ //保存节点PUB_OBJ_FLOW
+ PubObjFlowEntity pubObjFlowEntity = setPubObjFlow(entity, maxMlId);
+ iPubObjFlowDao.save("PubObjFlowEntity_insert",pubObjFlowEntity);
+
+ return BaseResult.getSuccessMessageEntity("保存报销单成功");
+ }
+
+ /**
+ * @Author lvleigang
+ * @Description 设置报销单明细
+ * @Date 3:39 下午 2024/8/15
+ * @param entity
+ * @param maxDjbh
+ * @param maxMlId
+ * @return java.util.List
+ **/
+ private List setOerDjnrEntity(OerDjmlEntity entity, String maxDjbh, String maxMlId) {
+ List djnrEntityList = entity.getOerDjnrEntityList();
+ for (int i = 0; i < djnrEntityList.size(); i++) {
+ djnrEntityList.get(i).setMlId(maxMlId);
+ djnrEntityList.get(i).setGsdm(entity.getGsdm());
+ }
+ return djnrEntityList;
+ }
+
+ /**
+ * @Author lvleigang
+ * @Description 设置值
+ * @Date 3:30 下午 2024/8/15
+ * @param oerDjmlEntity
+ * @param maxDjbh
+ * @param maxMlId
+ * @return com.hzya.frame.grpU8.nxproof.oerdjml.entity.OerDjmlEntity
+ **/
+ private OerDjmlEntity setMainData(OerDjmlEntity oerDjmlEntity, String maxDjbh, String maxMlId) {
+ oerDjmlEntity.setDjbh(maxDjbh);
+ oerDjmlEntity.setMlId(maxMlId);
+ //oerDjmlEntity.setZt("3");
+ //oerDjmlEntity.setFlowcode("000006");
+ //oerDjmlEntity.setCurshjd("999");
+ //oerDjmlEntity.setNextshjd("-1");
+ logger.info("主表数据组装完成:"+JSON.toJSONString(oerDjmlEntity));
+ return oerDjmlEntity;
}
protected T getData(String key, JSONObject jsonObject, Class clz) {