劳务费
This commit is contained in:
parent
41a506e414
commit
1788bbe19d
|
@ -0,0 +1,22 @@
|
||||||
|
package com.hzya.frame.grpU8.nxproof.gzlwfml.service;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.hzya.frame.web.entity.JsonResultEntity;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description 劳务费扩展类,用来组装参数
|
||||||
|
* @Author xiangerlin
|
||||||
|
* @Date 2025/5/13 16:03
|
||||||
|
**/
|
||||||
|
public interface IGzLwfExtService {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 保存前方法,先调用这个方法 组装参数
|
||||||
|
* 插件方式执行用这个方法
|
||||||
|
* @param jsonObject
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
String saveLwfPrePlugin(JSONObject jsonObject);
|
||||||
|
}
|
|
@ -0,0 +1,122 @@
|
||||||
|
package com.hzya.frame.grpU8.nxproof.gzlwfml.service.impl;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSON;
|
||||||
|
import com.alibaba.fastjson.JSONArray;
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.hzya.frame.grpU8.nxproof.gzlwfml.entity.GzLwfMlEntity;
|
||||||
|
import com.hzya.frame.grpU8.nxproof.gzlwfml.entity.GzLwfNrEntity;
|
||||||
|
import com.hzya.frame.grpU8.nxproof.gzlwfml.service.IGzLwfExtService;
|
||||||
|
import com.hzya.frame.grpU8.nxproof.oerdjml.enums.ColEventTypeEnum;
|
||||||
|
import com.hzya.frame.web.entity.JsonResultEntity;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description
|
||||||
|
* @Author xiangerlin
|
||||||
|
* @Date 2025/5/13 16:04
|
||||||
|
**/
|
||||||
|
@Service(value ="gzLwfExtServiceImpl")
|
||||||
|
public class GzLwfExtServiceImpl implements IGzLwfExtService {
|
||||||
|
|
||||||
|
Logger logger = LoggerFactory.getLogger(IGzLwfExtService.class);
|
||||||
|
/**
|
||||||
|
* 保存前方法,先调用这个方法 组装参数
|
||||||
|
* 插件方式执行用这个方法
|
||||||
|
*
|
||||||
|
* @param jsonObject
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public String saveLwfPrePlugin(JSONObject jsonObject) {
|
||||||
|
if (null != jsonObject){
|
||||||
|
logger.info("进入劳务费保存前方法:{}",jsonObject.toString());
|
||||||
|
JSONObject jsonStr = jsonObject.getJSONObject("jsonStr");
|
||||||
|
HashMap<String,String> headers = JSON.parseObject(jsonObject.getString("headers"), new HashMap<String, String>().getClass());
|
||||||
|
String datasourceCode = jsonObject.getString("apiDataSourceCode");
|
||||||
|
String res = lwfValuOf(jsonStr,headers,datasourceCode);
|
||||||
|
logger.info("劳务费保存前方法返回值:{}",res);
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
private String lwfValuOf(JSONObject jsonStr, HashMap<String,String> headers, String datasourceCode) {
|
||||||
|
if (null != jsonStr && null != headers && !headers.isEmpty()){
|
||||||
|
String formmainTableName = headers.get("formmainTableName");
|
||||||
|
String forsonTableName = headers.get("forsonTableName");
|
||||||
|
String djlx = headers.get("djlx");
|
||||||
|
//事件类型
|
||||||
|
String eventType = jsonStr.getString("eventType");
|
||||||
|
//summaryId
|
||||||
|
String summaryId = jsonStr.getString("summaryId");
|
||||||
|
JSONObject seeyonData = jsonStr.getJSONObject("businessDataStr");
|
||||||
|
if (null != seeyonData){
|
||||||
|
/**
|
||||||
|
* 流程发起 保存/更新单据 要全部数据
|
||||||
|
* 流程撤销 只更新状态,传单号和状态就好了
|
||||||
|
* 流程终止 只更新状态,传单号和状态就好了
|
||||||
|
* 流程结束 更新状态 并上传附件
|
||||||
|
*/
|
||||||
|
JSONObject formmainData = seeyonData.getJSONObject(formmainTableName);
|
||||||
|
JSONArray forsonData = seeyonData.getJSONArray(forsonTableName);
|
||||||
|
String lwf = lwf(headers, eventType, summaryId, datasourceCode, formmainData, forsonData);
|
||||||
|
return lwf;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
//劳务费参数
|
||||||
|
private String lwf(Map<String, String> headers, String eventType, String summaryId, String dataSourceCode, JSONObject formmainData, JSONArray forsonData) {
|
||||||
|
String djlxid = headers.get("djlxid");
|
||||||
|
String flowcode = headers.get("flowcode");
|
||||||
|
String fileApiCode = headers.get("file_api_code");
|
||||||
|
GzLwfMlEntity djml = new GzLwfMlEntity();
|
||||||
|
//流程发起
|
||||||
|
if (ColEventTypeEnum.ONSTART.getType().equals(eventType)){
|
||||||
|
JSONObject forjsonData0 = forsonData.getJSONObject(0);
|
||||||
|
djml.setGSDM(formmainData.getString("field0043"));
|
||||||
|
djml.setFFND(formmainData.getString("field0044"));
|
||||||
|
djml.setFFDATE(formmainData.getString("field0007"));
|
||||||
|
djml.setBZR(formmainData.getString("field0085"));
|
||||||
|
djml.setBZRID(formmainData.getString("field0084"));
|
||||||
|
djml.setBZRQ(formmainData.getString("field0002"));
|
||||||
|
djml.setBMDM(formmainData.getString("field0086"));
|
||||||
|
djml.setZT("2");
|
||||||
|
List<GzLwfNrEntity> lwfnrList = new ArrayList<>();
|
||||||
|
for (int i=0; i<forsonData.size();i++){
|
||||||
|
JSONObject forson = forsonData.getJSONObject(i);
|
||||||
|
GzLwfNrEntity djnr = new GzLwfNrEntity();
|
||||||
|
djnr.setGSDM(djml.getGSDM());
|
||||||
|
djnr.setFFND(djml.getFFND());
|
||||||
|
djnr.setBMDM(forson.getString("field0093"));
|
||||||
|
djnr.setBMMC(forson.getString("field0056"));
|
||||||
|
djnr.setFFZH(forson.getString("field0060"));
|
||||||
|
djnr.setSFZH(forson.getString("field0057"));
|
||||||
|
djnr.setJE(forson.getString("field0065"));
|
||||||
|
djnr.setSDS(new BigDecimal(forson.getString("field0064")));
|
||||||
|
djnr.setYhmc(forson.getString("field0059"));
|
||||||
|
lwfnrList.add(djnr);
|
||||||
|
}
|
||||||
|
djml.setLwfnrList(lwfnrList);
|
||||||
|
logger.info("劳务费主表:{}",JSONObject.toJSONString(djml));
|
||||||
|
logger.info("劳务费子表:{}",JSONObject.toJSONString(lwfnrList));
|
||||||
|
}else if (ColEventTypeEnum.ONSTOP.getType().equals(eventType)){
|
||||||
|
//流程终止
|
||||||
|
}else if (ColEventTypeEnum.ONCANCEL.getType().equals(eventType)){
|
||||||
|
//流程撤销
|
||||||
|
}else if (ColEventTypeEnum.ONPROCESSFINISHED.getType().equals(eventType)){
|
||||||
|
//流程终止
|
||||||
|
}
|
||||||
|
String djmlStr = JSONObject.toJSONString(djml);
|
||||||
|
return djmlStr;
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue