劳务费
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