|
|
|
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;
|
|
|
|
}
|
|
|
|
}
|