You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
weaver-develop/src/weaver/interfaces/kr/workflow/action/KrSingleOvertimeCreateActio...

112 lines
4.2 KiB
Java

package weaver.interfaces.kr.workflow.action;
import cn.hutool.http.HttpUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.engine.kr.entity.kq.KqActionBO;
import com.engine.kr.entity.kq.KqGlobal;
import com.engine.kr.enums.KqInteractiveEnum;
import com.engine.kr.service.impl.KqInteractiveServiceImpl;
import weaver.general.BaseBean;
import weaver.interfaces.workflow.action.Action;
import weaver.soa.workflow.request.MainTableInfo;
import weaver.soa.workflow.request.Property;
import weaver.soa.workflow.request.RequestInfo;
import java.util.HashMap;
import java.util.Map;
/**
* @author:dxfeng
* @createTime: 2023/05/23
* @version: 1.0
*/
public class KrSingleOvertimeCreateAction implements Action {
@Override
public String execute(RequestInfo requestInfo) {
String resourceId = "";
String fromDate = "";
String fromTime = "";
String toDate = "";
String toTime = "";
// 补偿方式
String overtimeType = "";
String duration = "";
String billNo = "";
String workType = "";
String workReason = "";
MainTableInfo mainTableInfo = requestInfo.getMainTableInfo();
Property[] properties = mainTableInfo.getProperty();
for (Property property : properties) {
String name = property.getName();
String value = property.getValue();
switch (name) {
case "resourceId":
resourceId = value;
break;
case "fromDate":
fromDate = value;
break;
case "fromTime":
fromTime = value;
break;
case "toDate":
toDate = value;
break;
case "toTime":
toTime = value;
break;
case "overtime_type":
overtimeType = value;
break;
case "duration":
duration = value;
break;
case "lcbh":
billNo = value;
break;
case "jblx":
workType = value;
break;
case "jbsy":
workReason = value;
break;
default:
break;
}
}
Map<String, String> operateDateTime = KqActionBO.getOperateDateTime(requestInfo.getRequestid());
Map<String, Object> params = new HashMap<>();
params.put("token", new KqInteractiveServiceImpl().getToken());
params.put("personId", KqActionBO.getWorkCode(resourceId));
params.put("billNo", billNo);
params.put("otType", KqActionBO.getWorkTypeCode(workType));
params.put("otAdjuest", overtimeType);
params.put("beginDate", fromDate);
params.put("beginTime", fromTime);
params.put("endDate", toDate);
params.put("endTime", toTime);
params.put("billHours", duration);
params.put("runsNo", null);
params.put("otReason", workReason);
params.put("addBy", requestInfo.getCreatorid());
params.put("addDay", operateDateTime.get("addDay"));
params.put("cfmBy", KqActionBO.getUserName(requestInfo.getLastoperator()));
params.put("cfmDay", operateDateTime.get("addDay"));
params.put("billStat", 1);
new BaseBean().writeLog("########加班流程,requestid={" + requestInfo.getRequestid() + "],传参:"+ JSON.toJSONString(params));
String returnStr = HttpUtil.post(KqGlobal.POST_URL + KqInteractiveEnum.OVERTIME_CREATE.getPostPath(), params);
new BaseBean().writeLog("########加班流程,requestid={" + requestInfo.getRequestid() + "],接口响应数据:"+ returnStr);
JSONObject jsonObject = JSONObject.parseObject(returnStr);
String code = jsonObject.getString("code");
if (KqGlobal.SUC_CODE.equals(code)) {
return SUCCESS;
}
requestInfo.getRequestManager().setMessagecontent(jsonObject.getString("msg"));
return FAILURE_AND_CONTINUE;
}
}