劳务费报销单
This commit is contained in:
parent
d1d3eba5a6
commit
64489a4fe3
|
@ -7,7 +7,7 @@ import org.slf4j.Logger;
|
|||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
* @Description 劳务费插件
|
||||
* @Description 劳务费插件 这个插件没用 用的还是ExpensePluginInitializer
|
||||
* @Author xiangerlin
|
||||
* @Date 2025/5/13 17:49
|
||||
**/
|
||||
|
@ -90,7 +90,6 @@ public class LwfPluginInitializer extends PluginBaseEntity {
|
|||
**/
|
||||
@Override
|
||||
public JsonResultEntity executeBusiness(JSONObject requestJson) throws Exception {
|
||||
logger.info("======开始执行GRP劳务费插件======:{}",requestJson.toString());
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,7 +4,7 @@ import com.alibaba.fastjson.JSONObject;
|
|||
import com.hzya.frame.web.entity.JsonResultEntity;
|
||||
|
||||
/**
|
||||
* @Description 劳务费插件service
|
||||
* @Description 劳务费插件service 这个插件没用,用的还是 ExpensePluginInitializer
|
||||
* @Author xiangerlin
|
||||
* @Date 2025/5/13 17:52
|
||||
**/
|
||||
|
|
|
@ -13,7 +13,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||
import org.springframework.beans.factory.annotation.Value;
|
||||
|
||||
/**
|
||||
* @Description 劳务费插件
|
||||
* @Description 劳务费插件 这个插件没用用的还是 ExpensePluginInitializer
|
||||
* @Author xiangerlin
|
||||
* @Date 2025/5/13 17:52
|
||||
**/
|
||||
|
@ -31,26 +31,6 @@ public class LwfPluginServiceImpl implements ILwfPluginService {
|
|||
*/
|
||||
@Override
|
||||
public JsonResultEntity execute(JSONObject json) throws Exception {
|
||||
String headersStr = json.getString("headers");//请求头
|
||||
String formAppId = json.getString("formAppId");
|
||||
String eventType = json.getString("eventType");
|
||||
String dataSouceCode = json.getString("apiDataSourceCode");
|
||||
Assert.notEmpty(formAppId,"formAppId不能为空");
|
||||
Assert.notEmpty(eventType,"eventType不能为空");
|
||||
Assert.notEmpty(headersStr,"headers不能为空");
|
||||
Assert.notEmpty(dataSouceCode,"数据源编码不能为空");
|
||||
logger.info("准备开始组装参数");
|
||||
String param = lwfExtService.saveLwfPrePlugin(json);
|
||||
logger.info("OA单据组装好准备保存劳务费的参数:{}",param);
|
||||
String result = HttpRequest.post(interfaceUrl)
|
||||
.header("appId","800042")// grp应用
|
||||
.header("apiCode","8000420043")//劳务费接口
|
||||
.header("publicKey","ZJYAcDv1SMgN1oUwzfpV5byfUaN78sVw+L+DB9XTT30aS8hCe7eDIk+3zDUT+v578prj")//OA应用key
|
||||
.header("secretKey","ZLQWG13Z30FoeuCgi6/Uc41XF6oLO63550OAa6ggXUmtOZj5MgQNZMjVgL/M4BRkj3JzOP8MtA1LSGvL+2BWG8c/o7DKi92S4mr3zcGearA=")//OA应用密钥
|
||||
.body(param).execute().body();
|
||||
// JsonResultEntity resultEntity = (JsonResultEntity) oerDjmlService.handleOerDjml(paramJSON);
|
||||
// logger.info("保存GRPU8响应参数:{}",JSONObject.toJSON(resultEntity));
|
||||
logger.info("保存GRPU8响应参数:{}",result);
|
||||
return BaseResult.getSuccessMessageEntity(result);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -87,6 +87,8 @@ public class OerDjmlEntity extends BaseEntity {
|
|||
private String WX00000055;//自定义字段 已到位经费
|
||||
private String WX00000056;//自定义字段 激励费总额
|
||||
private String WX00000057;//自定义字段 已支出激励费
|
||||
private String WX00000058;//自定义字段 发放人群
|
||||
private String WX00000059;//自定义字段 发放性质
|
||||
//附件对象
|
||||
@JSONField(ordinal = 9995)
|
||||
private List<FileInfoDTO> fileInfoList;
|
||||
|
@ -561,4 +563,20 @@ public class OerDjmlEntity extends BaseEntity {
|
|||
public void setWX00000057(String WX00000057) {
|
||||
this.WX00000057 = WX00000057;
|
||||
}
|
||||
|
||||
public String getWX00000058() {
|
||||
return WX00000058;
|
||||
}
|
||||
|
||||
public void setWX00000058(String WX00000058) {
|
||||
this.WX00000058 = WX00000058;
|
||||
}
|
||||
|
||||
public String getWX00000059() {
|
||||
return WX00000059;
|
||||
}
|
||||
|
||||
public void setWX00000059(String WX00000059) {
|
||||
this.WX00000059 = WX00000059;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -36,6 +36,8 @@
|
|||
<result property="WX00000055" column="WX00000055" />
|
||||
<result property="WX00000056" column="WX00000056" />
|
||||
<result property="WX00000057" column="WX00000057" />
|
||||
<result property="WX00000058" column="WX00000058" />
|
||||
<result property="WX00000059" column="WX00000059" />
|
||||
<result column="Rpt_Rt_content" property="RptRtContent" jdbcType="BLOB" typeHandler="org.apache.ibatis.type.BlobTypeHandler" />
|
||||
|
||||
</resultMap>
|
||||
|
@ -168,6 +170,8 @@ GSDM,KJND,mlId
|
|||
<if test="WX00000055 != null and WX00000055 !='' "> WX00000055, </if>
|
||||
<if test="WX00000056 != null and WX00000056 !='' "> WX00000056, </if>
|
||||
<if test="WX00000057 != null and WX00000057 !='' "> WX00000057, </if>
|
||||
<if test="WX00000058 != null and WX00000058 !='' "> WX00000058, </if>
|
||||
<if test="WX00000059 != null and WX00000059 !='' "> WX00000059, </if>
|
||||
<if test="xmdm != null and xmdm !='' "> xmdm, </if>
|
||||
<if test="xmmc != null and xmmc !='' "> xmmc, </if>
|
||||
</trim>
|
||||
|
@ -221,6 +225,8 @@ GSDM,KJND,mlId
|
|||
<if test="WX00000055 != null and WX00000055 !='' "> #{WX00000055}, </if>
|
||||
<if test="WX00000056 != null and WX00000056 !='' "> #{WX00000056}, </if>
|
||||
<if test="WX00000057 != null and WX00000057 !='' "> #{WX00000057}, </if>
|
||||
<if test="WX00000058 != null and WX00000058 !='' "> #{WX00000058}, </if>
|
||||
<if test="WX00000059 != null and WX00000059 !='' "> #{WX00000059}, </if>
|
||||
<if test="xmdm != null and xmdm !='' "> #{xmdm}, </if>
|
||||
<if test="xmmc != null and xmmc !='' "> #{xmmc}, </if>
|
||||
</trim>
|
||||
|
@ -278,7 +284,9 @@ GSDM,KJND,mlId
|
|||
<if test="WX00000054 != null and WX00000054 !='' "> WX00000054 = #{WX00000054}, </if>
|
||||
<if test="WX00000055 != null and WX00000055 !='' "> WX00000055 = #{WX00000055}, </if>
|
||||
<if test="WX00000056 != null and WX00000056 !='' "> WX00000056 = #{WX00000056}, </if>
|
||||
<if test="WX00000057 != null and WX00000057 !='' "> WX00000057 = #{WX00000057}</if>
|
||||
<if test="WX00000057 != null and WX00000057 !='' "> WX00000057 = #{WX00000057},</if>
|
||||
<if test="WX00000058 != null and WX00000058 !='' "> WX00000058 = #{WX00000058},</if>
|
||||
<if test="WX00000059 != null and WX00000059 !='' "> WX00000059 = #{WX00000059}</if>
|
||||
</trim>
|
||||
where DJBH = #{djbh} and MLID=${mlId}
|
||||
</update>
|
||||
|
|
|
@ -155,6 +155,8 @@ public class OerDjmlExtServiceImpl implements IOerDjmlExtService {
|
|||
if (null != jsonStr && null != headers && !headers.isEmpty()){
|
||||
String formmainTableName = headers.get("formmainTableName");
|
||||
String forsonTableName = headers.get("forsonTableName");
|
||||
String forsonTableName1 = headers.get("forsonTableName1");
|
||||
String forsonTableName2 = headers.get("forsonTableName2");
|
||||
String djlx = headers.get("djlx");
|
||||
//事件类型
|
||||
String eventType = jsonStr.getString("eventType");
|
||||
|
@ -170,6 +172,9 @@ public class OerDjmlExtServiceImpl implements IOerDjmlExtService {
|
|||
*/
|
||||
JSONObject formmainData = seeyonData.getJSONObject(formmainTableName);
|
||||
JSONArray forsonData = seeyonData.getJSONArray(forsonTableName);
|
||||
//劳保费用
|
||||
JSONArray forson0045Data = seeyonData.getJSONArray(forsonTableName1);
|
||||
JSONArray forson0046Data = seeyonData.getJSONArray(forsonTableName2);
|
||||
String res = "";
|
||||
if (DjlxEnum.TRAVEL.type.equals(djlx)) {
|
||||
logger.info("准备组装差旅报销单参数");
|
||||
|
@ -181,7 +186,8 @@ public class OerDjmlExtServiceImpl implements IOerDjmlExtService {
|
|||
res = expense(headers,eventType,summaryId,dataSourceCode, formmainData, forsonData);
|
||||
logger.info("oerValuOf方法已经组装好参数,准备return");
|
||||
}else if (DjlxEnum.LABOR.type.equals(djlx)){
|
||||
//劳务费 labor
|
||||
//判断一下要用哪个明细表
|
||||
res = labor(headers,eventType,summaryId,dataSourceCode,formmainData,forsonData,forson0045Data,forson0046Data);
|
||||
}else if (DjlxEnum.HXKY.type.equals(djlx)){
|
||||
//横向科研
|
||||
res = hxky(headers,eventType,summaryId,dataSourceCode, formmainData, forsonData);
|
||||
|
@ -195,9 +201,6 @@ public class OerDjmlExtServiceImpl implements IOerDjmlExtService {
|
|||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 费用报销单
|
||||
* @param headers 请求头
|
||||
|
@ -863,6 +866,96 @@ public class OerDjmlExtServiceImpl implements IOerDjmlExtService {
|
|||
return djmlStr;
|
||||
}
|
||||
|
||||
/**
|
||||
* 劳务费
|
||||
* @param headers 头部参数
|
||||
* @param eventType 事件类型
|
||||
* @param summaryId 流程id
|
||||
* @param dataSourceCode 数据源编码
|
||||
* @param formmainData 主表数据
|
||||
* @param forson0044Data 子1表数据
|
||||
* @param forson0045Data 子表2数据
|
||||
* @param forson0046Data 子表3数据
|
||||
* @return
|
||||
*/
|
||||
private String labor(Map<String, String> headers, String eventType, String summaryId, String dataSourceCode, JSONObject formmainData, JSONArray forson0044Data, JSONArray forson0045Data, JSONArray forson0046Data) {
|
||||
String djlxid = headers.get("djlxid");
|
||||
String flowcode = headers.get("flowcode");
|
||||
String fileApiCode = headers.get("file_api_code");
|
||||
OerDjmlEntity djml = new OerDjmlEntity();
|
||||
djml.setLclb(eventType);
|
||||
djml.setDjbh(formmainData.getString("field0001"));
|
||||
djml.setDjlxId(djlxid);
|
||||
djml.setDataSourceCode(dataSourceCode);
|
||||
String fflx = formmainData.getString("field0102");
|
||||
JSONArray forsonData = null;
|
||||
JSONObject forsonData0 = null;
|
||||
switch (fflx){
|
||||
case "0":
|
||||
case "3":
|
||||
forsonData0 = forson0044Data.getJSONObject(0);
|
||||
forsonData = forson0044Data;
|
||||
break;
|
||||
case "1":
|
||||
forsonData0 = forson0045Data.getJSONObject(0);
|
||||
forsonData = forson0045Data;
|
||||
break;
|
||||
case "2":
|
||||
forsonData0 = forson0046Data.getJSONObject(0);
|
||||
forsonData = forson0046Data;
|
||||
break;
|
||||
}
|
||||
if (ColEventTypeEnum.ONSTART.getType().equals(eventType)){
|
||||
djml.setGsdm(formmainData.getString("field0037"));
|
||||
djml.setKjnd(formmainData.getString("field0038"));
|
||||
djml.setDjlxId(djlxid);
|
||||
djml.setZt("2");
|
||||
djml.setCrerdm(formmainData.getString("field0039"));//制单人代码
|
||||
djml.setCrermc(formmainData.getString("field0045"));//制单人名称
|
||||
djml.setCrerdate(timestampConvert(formmainData.getString("start_date"),"yyyyMMdd"));
|
||||
djml.setDjdate((timestampConvert(formmainData.getString("field0002"),"yyyyMMdd")));
|
||||
djml.setJe(formmainData.getString("field0017"));//金额
|
||||
djml.setJedx(formmainData.getString(""));//金额大写
|
||||
djml.setGrdm(formmainData.getString("field0084"));//报销人代码
|
||||
djml.setGrmc(formmainData.getString("field0085"));//报销人名称
|
||||
djml.setBmdm(formmainData.getString("field0086"));//部门代码
|
||||
djml.setBmmc(formmainData.getString("field0087"));//部门名称
|
||||
djml.setXmdm(formmainData.getString("field0004"));//项目代码
|
||||
djml.setXmmc(formmainData.getString("field0005"));//项目名称
|
||||
djml.setZy(formmainData.getString("field0045"));//劳务内容
|
||||
djml.setWX00000051(formmainData.getString("field0006"));//讲座发生时间
|
||||
djml.setWX00000059(formmainData.getString("field0046"));//讲座发生时间
|
||||
//报销明细
|
||||
List<OerDjnrEntity> djnrList = new ArrayList<>();
|
||||
//结算方式
|
||||
List<OerDjjsfsEntity> jsfsList = new ArrayList<>();
|
||||
//预算指标
|
||||
List<OerYszbEntity> yszbList = new ArrayList<>();
|
||||
if (CollectionUtils.isNotEmpty(forsonData)){
|
||||
int xh = 1;
|
||||
for (int i=0; i<forsonData.size();i++){
|
||||
JSONObject forson = forsonData.getJSONObject(i);
|
||||
String gsdm = djml.getGsdm();
|
||||
String kjnd = djml.getKjnd();
|
||||
String je = forson.getString("field0024");
|
||||
//单据内容
|
||||
OerDjnrEntity djnr = new OerDjnrEntity();
|
||||
djnr.setXh(String.valueOf(xh));
|
||||
djnr.setGsdm(gsdm);
|
||||
djnr.setKjnd(kjnd);
|
||||
djnr.setDjlxId(djlxid);
|
||||
djnr.setBnxId(headers.get("bxmx_bnxid"));
|
||||
djnr.setJe(je);
|
||||
djnr.setBmdm(formmainData.getString("field0051"));
|
||||
djnr.setBmmc(formmainData.getString("field0050"));
|
||||
djnr.setXmdm(djml.getXmdm());
|
||||
djnr.setXmmc(djml.getXmmc());
|
||||
}
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 时间戳转成 指定格式
|
||||
* @param timestamp 时间戳
|
||||
|
|
|
@ -81,6 +81,15 @@ public class OerDjnrEntity extends BaseEntity {
|
|||
private String clf_jtbzf;
|
||||
//差旅费-其他费用
|
||||
private String clf_qtf;
|
||||
private String ys00000051;//自定义字段 发放明目
|
||||
private String ys00000052;// 自定义字段 发放事项
|
||||
private String ys00000053;// 自定义字段 打款时备注
|
||||
private String ys00000054;// 自定义字段 已开票应付劳务
|
||||
private String ys00000055;// 自定义字段 扣补个税
|
||||
private String ys00000056;// 自定义字段 个人所得税
|
||||
private String ys00000057;// 自定义字段 实发金额
|
||||
private String ys00000058;// 自定义字段 数量(课时)
|
||||
private String ys00000059;// 自定义字段 标准
|
||||
public String getXh() {
|
||||
return xh;
|
||||
}
|
||||
|
@ -472,4 +481,76 @@ public class OerDjnrEntity extends BaseEntity {
|
|||
public void setClf_cctsbz(String clf_cctsbz) {
|
||||
this.clf_cctsbz = clf_cctsbz;
|
||||
}
|
||||
|
||||
public String getYs00000051() {
|
||||
return ys00000051;
|
||||
}
|
||||
|
||||
public void setYs00000051(String ys00000051) {
|
||||
this.ys00000051 = ys00000051;
|
||||
}
|
||||
|
||||
public String getYs00000052() {
|
||||
return ys00000052;
|
||||
}
|
||||
|
||||
public void setYs00000052(String ys00000052) {
|
||||
this.ys00000052 = ys00000052;
|
||||
}
|
||||
|
||||
public String getYs00000053() {
|
||||
return ys00000053;
|
||||
}
|
||||
|
||||
public void setYs00000053(String ys00000053) {
|
||||
this.ys00000053 = ys00000053;
|
||||
}
|
||||
|
||||
public String getYs00000054() {
|
||||
return ys00000054;
|
||||
}
|
||||
|
||||
public void setYs00000054(String ys00000054) {
|
||||
this.ys00000054 = ys00000054;
|
||||
}
|
||||
|
||||
public String getYs00000055() {
|
||||
return ys00000055;
|
||||
}
|
||||
|
||||
public void setYs00000055(String ys00000055) {
|
||||
this.ys00000055 = ys00000055;
|
||||
}
|
||||
|
||||
public String getYs00000056() {
|
||||
return ys00000056;
|
||||
}
|
||||
|
||||
public void setYs00000056(String ys00000056) {
|
||||
this.ys00000056 = ys00000056;
|
||||
}
|
||||
|
||||
public String getYs00000057() {
|
||||
return ys00000057;
|
||||
}
|
||||
|
||||
public void setYs00000057(String ys00000057) {
|
||||
this.ys00000057 = ys00000057;
|
||||
}
|
||||
|
||||
public String getYs00000058() {
|
||||
return ys00000058;
|
||||
}
|
||||
|
||||
public void setYs00000058(String ys00000058) {
|
||||
this.ys00000058 = ys00000058;
|
||||
}
|
||||
|
||||
public String getYs00000059() {
|
||||
return ys00000059;
|
||||
}
|
||||
|
||||
public void setYs00000059(String ys00000059) {
|
||||
this.ys00000059 = ys00000059;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -33,6 +33,15 @@
|
|||
<result property="fzx9mc" column="fzx9mc" />
|
||||
<result property="jflxdm" column="jflxdm" />
|
||||
<result property="jflxmc" column="jflxmc" />
|
||||
<result property="ys00000051" column="ys00000051" />
|
||||
<result property="ys00000052" column="ys00000052" />
|
||||
<result property="ys00000053" column="ys00000053" />
|
||||
<result property="ys00000054" column="ys00000054" />
|
||||
<result property="ys00000055" column="ys00000055" />
|
||||
<result property="ys00000056" column="ys00000056" />
|
||||
<result property="ys00000057" column="ys00000057" />
|
||||
<result property="ys00000058" column="ys00000058" />
|
||||
<result property="ys00000059" column="ys00000059" />
|
||||
<result property="clf_startdate" column="clf_startdate" />
|
||||
<result property="clf_enddate" column="clf_enddate" />
|
||||
<result property="clf_ccdd" column="clf_ccdd" />
|
||||
|
@ -88,6 +97,15 @@
|
|||
<if test="fzx9mc != null and fzx9mc !='' "> fzx9mc, </if>
|
||||
<if test="jflxdm != null and jflxdm !='' "> jflxdm, </if>
|
||||
<if test="jflxmc != null and jflxmc !='' "> jflxmc, </if>
|
||||
<if test="ys00000051 != null and ys00000051 !='' "> ys00000051, </if>
|
||||
<if test="ys00000052 != null and ys00000052 !='' "> ys00000052, </if>
|
||||
<if test="ys00000053 != null and ys00000053 !='' "> ys00000053, </if>
|
||||
<if test="ys00000054 != null and ys00000054 !='' "> ys00000054, </if>
|
||||
<if test="ys00000055 != null and ys00000055 !='' "> ys00000055, </if>
|
||||
<if test="ys00000056 != null and ys00000056 !='' "> ys00000056, </if>
|
||||
<if test="ys00000057 != null and ys00000057 !='' "> ys00000057, </if>
|
||||
<if test="ys00000058 != null and ys00000058 !='' "> ys00000058, </if>
|
||||
<if test="ys00000059 != null and ys00000059 !='' "> ys00000059, </if>
|
||||
<if test="clf_startdate != null and clf_startdate !='' "> clf_startdate, </if>
|
||||
<if test="clf_enddate != null and clf_enddate !='' "> clf_enddate, </if>
|
||||
<if test="clf_ccdd != null and clf_ccdd !='' "> clf_ccdd, </if>
|
||||
|
@ -138,6 +156,15 @@
|
|||
<if test="fzx9mc != null and fzx9mc !='' "> #{fzx9mc}, </if>
|
||||
<if test="jflxdm != null and jflxdm !='' "> #{jflxdm}, </if>
|
||||
<if test="jflxmc != null and jflxmc !='' "> #{jflxmc}, </if>
|
||||
<if test="ys00000051 != null and ys00000051 !='' "> #{ys00000051}, </if>
|
||||
<if test="ys00000052 != null and ys00000052 !='' "> #{ys00000052}, </if>
|
||||
<if test="ys00000053 != null and ys00000053 !='' "> #{ys00000053}, </if>
|
||||
<if test="ys00000054 != null and ys00000054 !='' "> #{ys00000054}, </if>
|
||||
<if test="ys00000055 != null and ys00000055 !='' "> #{ys00000055}, </if>
|
||||
<if test="ys00000056 != null and ys00000056 !='' "> #{ys00000056}, </if>
|
||||
<if test="ys00000057 != null and ys00000057 !='' "> #{ys00000057}, </if>
|
||||
<if test="ys00000058 != null and ys00000058 !='' "> #{ys00000058}, </if>
|
||||
<if test="ys00000059 != null and ys00000059 !='' "> #{ys00000059}, </if>
|
||||
<if test="clf_startdate != null and clf_startdate !='' "> #{clf_startdate}, </if>
|
||||
<if test="clf_enddate != null and clf_enddate !='' "> #{clf_enddate}, </if>
|
||||
<if test="clf_ccdd != null and clf_ccdd !='' "> #{clf_ccdd}, </if>
|
||||
|
|
Loading…
Reference in New Issue