parent
dce400eb37
commit
9dabf05268
|
@ -2,6 +2,7 @@ package com.hzya.frame.grpU8.nxproof.oerdjml.service;
|
|||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.hzya.frame.grpU8.nxproof.oerdjml.entity.OerDjmlEntity;
|
||||
import com.hzya.frame.sysnew.application.entity.SysExtensionApiEntity;
|
||||
|
||||
/**
|
||||
* @Author:hecan
|
||||
|
@ -24,5 +25,10 @@ public interface IOerDjmlService {
|
|||
|
||||
OerDjmlEntity queryOerDjmlEntity(OerDjmlEntity oerDjmlEntity);
|
||||
|
||||
|
||||
/**
|
||||
* 保存方法前,先调这个方法 组装参数
|
||||
* @param entity
|
||||
* @return
|
||||
*/
|
||||
SysExtensionApiEntity saveExpensePre(SysExtensionApiEntity entity);
|
||||
}
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
package com.hzya.frame.grpU8.nxproof.oerdjml.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.convert.Convert;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
|
@ -20,6 +22,8 @@ import com.hzya.frame.grpU8.nxproof.pubauditlog.dao.IPubAuditLogDao;
|
|||
import com.hzya.frame.grpU8.nxproof.pubauditlog.entity.PubAuditLogEntity;
|
||||
import com.hzya.frame.grpU8.nxproof.pubobjflow.dao.IPubObjFlowDao;
|
||||
import com.hzya.frame.grpU8.nxproof.pubobjflow.entity.PubObjFlowEntity;
|
||||
import com.hzya.frame.seeyon.enums.ColEventTypeEnum;
|
||||
import com.hzya.frame.sysnew.application.entity.SysExtensionApiEntity;
|
||||
import com.hzya.frame.web.exception.BaseSystemException;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
|
@ -28,6 +32,7 @@ import org.springframework.stereotype.Service;
|
|||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @Author:hecan
|
||||
|
@ -597,6 +602,177 @@ public class OerDjmlServiceImpl implements IOerDjmlService {
|
|||
}
|
||||
|
||||
|
||||
/**
|
||||
* 保存方法前,先调这个方法 组装参数
|
||||
*
|
||||
* @param entity
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public SysExtensionApiEntity saveExpensePre(SysExtensionApiEntity entity) {
|
||||
try {
|
||||
String bodys = entity.getBodys();
|
||||
Map<String, String> headers = entity.getHeaders();
|
||||
String eventType = headers.get("eventType");
|
||||
String formmainTableName = headers.get("formmainTableName");
|
||||
String forsonTableName = headers.get("forsonTableName");
|
||||
String djlxid = headers.get("djlxid");
|
||||
String flowcode = headers.get("flowcode");
|
||||
JSONObject seeyonData = JSONObject.parseObject(bodys);
|
||||
if (null != seeyonData){
|
||||
/**
|
||||
* 流程发起 保存/更新单据 要全部数据
|
||||
* 流程撤销 只更新状态,传单号和状态就好了
|
||||
* 流程终止 只更新状态,传单号和状态就好了
|
||||
* 流程结束 更新状态 并上传附件
|
||||
*/
|
||||
JSONObject formmainData = seeyonData.getJSONObject(formmainTableName);
|
||||
JSONArray forsonData = seeyonData.getJSONArray(forsonTableName);
|
||||
JSONObject forjsonData0 = forsonData.getJSONObject(0);
|
||||
OerDjmlEntity djml = new OerDjmlEntity();
|
||||
djml.setDjbh(formmainData.getString("field0001"));
|
||||
//流程发起
|
||||
if (ColEventTypeEnum.ONSTART.getType().equals(eventType)){
|
||||
djml.setGsdm(forjsonData0.getString("field0084"));
|
||||
djml.setKjnd(forjsonData0.getString("field0082"));
|
||||
djml.setDjlxId(djlxid);
|
||||
djml.setZt("2");
|
||||
djml.setCrerdm("");
|
||||
djml.setCrermc("");
|
||||
djml.setCrerdate(formmainData.getString("startDate"));
|
||||
djml.setDjdate(formmainData.getString("field0002"));
|
||||
djml.setJe(formmainData.getString("field0080"));
|
||||
djml.setJedx( Convert.numberToChinese(Double.valueOf(formmainData.getString("field0080")),true));
|
||||
djml.setYjje("0.00");
|
||||
djml.setThje("0.00");
|
||||
djml.setBlje(formmainData.getString("field0080"));
|
||||
djml.setFjs( formmainData.getString("field0004"));
|
||||
djml.setZy( formmainData.getString("field0009"));
|
||||
//部门代码
|
||||
djml.setBmdm( formmainData.getString("field0006"));
|
||||
djml.setBmdm( formmainData.getString("field0006"));
|
||||
//项目代码
|
||||
djml.setXmdm(forjsonData0.getString("field0074"));
|
||||
djml.setXmmc(forjsonData0.getString("field0075"));
|
||||
//个人代码
|
||||
djml.setGrdm("");
|
||||
djml.setGrmc("");
|
||||
//经济代码
|
||||
djml.setJjdm("");
|
||||
djml.setJjmc("");
|
||||
//银行帐号 开户银行
|
||||
djml.setYhzh(forjsonData0.getString("field0079"));
|
||||
djml.setKhyh(forjsonData0.getString("field0078"));
|
||||
//当前审核节点、下个审核节点 ,不在grp审批,是不是不用填了
|
||||
djml.setCurshjd("");
|
||||
djml.setNextshjd("");
|
||||
djml.setFlowcode(flowcode);
|
||||
djml.setJsfs(spliceStr(forjsonData0.getString("field0095"),forjsonData0.getString("field0094")));
|
||||
//电话,oa上没有
|
||||
djml.setTel("");
|
||||
djml.setClf_ccr(formmainData.getString("field0010"));
|
||||
//送审日期
|
||||
djml.setSsrq( DateUtil.format(formmainData.getDate("startDate"),"yyyyMMddHHmmssSSS"));
|
||||
djml.setSsrid("");
|
||||
djml.setSsr("");
|
||||
|
||||
|
||||
//明细
|
||||
List<OerDjnrEntity> djnrList = new ArrayList<>();
|
||||
//结算方式
|
||||
List<OerDjjsfsEntity> jsfsList = new ArrayList<>();
|
||||
int xh = 1;
|
||||
for (int i=0; i<forsonData.size();i++) {
|
||||
JSONObject forson = forsonData.getJSONObject(i);
|
||||
String gsdm = forson.getString("field0084");
|
||||
String kjnd = forson.getString("field0082");
|
||||
String je = forson.getString("field0032");
|
||||
//单据内容
|
||||
OerDjnrEntity djnr = new OerDjnrEntity();
|
||||
djnr.setXh(String.valueOf(xh));
|
||||
djnr.setGsdm(gsdm);
|
||||
djnr.setKjnd(kjnd);
|
||||
djnr.setDjlxId(djlxid);
|
||||
//表内项id 不知道存什么
|
||||
djnr.setBnxId("");
|
||||
djnr.setJe(je);
|
||||
djnr.setBmdm(forson.getString("field0088"));
|
||||
djnr.setBmmc(forson.getString("field0087"));
|
||||
djnr.setXmdm(forson.getString("field0074"));
|
||||
djnr.setXmmc(forson.getString("field0075"));
|
||||
djnr.setJjdm("");
|
||||
djnr.setJjmc("");
|
||||
//grp库里有,不知道是什么 1001基本支出 2001项目支出(网银)
|
||||
djnr.setFzx8dm("");
|
||||
djnr.setFzx8mc("");
|
||||
//指标id
|
||||
djnr.setZbId(forson.getString("field0085"));
|
||||
djnr.setJflxdm("");
|
||||
djnr.setJflxmc("");
|
||||
djnr.setZy(forson.getString("field0030"));
|
||||
djnr.setClf_startdate(forson.getString("field0016"));
|
||||
djnr.setClf_enddate(forson.getString("field0017"));
|
||||
djnr.setClf_ccdd(forson.getString("field0019"));
|
||||
djnr.setClf_ccksd(forson.getString("field0018"));
|
||||
djnr.setClf_djzs(djml.getFjs());
|
||||
djnr.setClf_ccts(forson.getString("field0023"));
|
||||
djnr.setClf_ccrs(forson.getString("field0021"));
|
||||
djnr.setClf_zw(forson.getString("field0092"));
|
||||
djnr.setClf_jtgj(forson.getString("field0020"));
|
||||
djnr.setClf_jtf(forson.getString("field0024"));
|
||||
djnr.setClf_zsbz(forson.getString("field0077"));
|
||||
djnr.setClf_zsf(forson.getString("field0025"));
|
||||
djnr.setCLF_HSBZ(forson.getString("field0026"));
|
||||
//oa没有,要加
|
||||
djnr.setClf_hsf("");
|
||||
djnr.setClf_jtbz("");
|
||||
djnr.setClf_qtf(forson.getString("field0028"));
|
||||
djnr.setFjs(djml.getFjs());
|
||||
djnrList.add(djnr);
|
||||
//结算方式
|
||||
OerDjjsfsEntity jsfs = new OerDjjsfsEntity();
|
||||
jsfs.setGsdm(gsdm);
|
||||
jsfs.setKjnd(kjnd);
|
||||
jsfs.setDjlxId(djlxid);
|
||||
jsfs.setXh(String.valueOf(xh));
|
||||
jsfs.setJsfsdm(forson.getString("field0095"));
|
||||
jsfs.setJsfsmc(forson.getString("field0094"));
|
||||
jsfs.setKmdm(forson.getString("field0089"));
|
||||
jsfs.setKmmc(forson.getString("field0066"));
|
||||
jsfs.setSkr(forson.getString("field0096"));
|
||||
jsfs.setKhyh(forson.getString("field0078"));
|
||||
jsfs.setYhzh(forson.getString("field0079"));
|
||||
jsfs.setJe(je);
|
||||
jsfs.setYh("");
|
||||
jsfs.setYhhh("");
|
||||
jsfs.setProvince("");
|
||||
jsfs.setCity("");
|
||||
//支付方式为个人、公务卡时 可以选择 经办人、负责人、其他
|
||||
jsfs.setRytype("");
|
||||
//oa没有
|
||||
jsfs.setYt(forson.getString("field0030"));
|
||||
jsfsList.add(jsfs);
|
||||
xh++;
|
||||
}
|
||||
logger.info("报销单主表:{}",JSONObject.toJSONString(djml));
|
||||
logger.info("报销单明细表:{}",JSONObject.toJSONString(djnrList));
|
||||
logger.info("报销单结算方式:{}",JSONObject.toJSONString(jsfsList));
|
||||
System.out.println("11");
|
||||
}
|
||||
}
|
||||
}catch (Exception ex ){
|
||||
logger.error("保存报销单之前组装参数出错",ex);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* code和name拼接[]
|
||||
* @param code
|
||||
* @param name
|
||||
* @return 格式:03[公务卡]
|
||||
*/
|
||||
private String spliceStr(String code,String name){
|
||||
String template = "{}[{}]";
|
||||
return StrUtil.format(template,code,name);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue