计划对接

This commit is contained in:
pengjie 2024-09-11 21:50:50 +08:00
parent 6015454465
commit f7c2160050
6 changed files with 214 additions and 51 deletions

View File

@ -373,11 +373,11 @@ public class ProgressPanoramaNodePlanController {
.orderByAsc(ProgressPanoramaNodePlan::getPlanFinishDate)); .orderByAsc(ProgressPanoramaNodePlan::getPlanFinishDate));
Map<String, Object> stateMap = new HashMap(); Map<String, Object> stateMap = new HashMap();
stateMap.put("total", list.size()); stateMap.put("total", list.size());
stateMap.put("unStart", list.stream().filter(l -> l.getStatus() == 1).count()); stateMap.put("unStart", list.stream().filter(l -> l.getStatus() == 0).count());
stateMap.put("inProgress", list.stream().filter(l -> l.getStatus() == 2 && DateUtil.parseDate(l.getFinishDate()).compareTo(new Date()) >= 0).count()); stateMap.put("inProgress", list.stream().filter(l -> l.getStatus() == 1 && DateUtil.parseDate(l.getFinishDate()).compareTo(new Date()) >= 0).count());
stateMap.put("delay", list.stream().filter(l -> l.getStatus() == 2 && DateUtil.parseDate(l.getFinishDate()).compareTo(new Date()) < 0).count()); stateMap.put("delay", list.stream().filter(l -> l.getStatus() == 2).count());
stateMap.put("delayCompletion", list.stream().filter(l -> l.getStatus() == 4).count()); stateMap.put("delayCompletion", list.stream().filter(l -> l.getStatus() == 3).count());
stateMap.put("completion", list.stream().filter(l -> l.getStatus() == 3).count()); stateMap.put("completion", list.stream().filter(l -> l.getStatus() == 4).count());
resultMap.put("stateMap", stateMap); resultMap.put("stateMap", stateMap);
resultMap.put("planList", list); resultMap.put("planList", list);
} }
@ -416,15 +416,15 @@ public class ProgressPanoramaNodePlanController {
execDto.setTotal(panoramaNodePlans.size()); execDto.setTotal(panoramaNodePlans.size());
List<ProgressPanoramaNodePlan> planCompalete = panoramaNodePlans.stream().filter(p -> DateUtil.parseDate(p.getPlanFinishDate()).compareTo(new Date()) < 0).collect(Collectors.toList()); List<ProgressPanoramaNodePlan> planCompalete = panoramaNodePlans.stream().filter(p -> DateUtil.parseDate(p.getPlanFinishDate()).compareTo(new Date()) < 0).collect(Collectors.toList());
execDto.setPlanCompleteNum(planCompalete.size()); execDto.setPlanCompleteNum(planCompalete.size());
int normalNum = (int) panoramaNodePlans.stream().filter(p -> p.getStatus() == 3).count(); int normalNum = (int) panoramaNodePlans.stream().filter(p -> p.getStatus() == 4).count();
execDto.setNormalNum(normalNum); execDto.setNormalNum(normalNum);
execDto.setNormalRatio(planCompalete.size() == 0 ? new BigDecimal(0) : new BigDecimal(normalNum).divide(new BigDecimal(planCompalete.size()), 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100))); execDto.setNormalRatio(planCompalete.size() == 0 ? new BigDecimal(0) : new BigDecimal(normalNum).divide(new BigDecimal(planCompalete.size()), 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)));
int delayNum = (int) panoramaNodePlans.stream().filter(p -> p.getStatus() == 4).count(); int delayNum = (int) panoramaNodePlans.stream().filter(p -> p.getStatus() == 3).count();
execDto.setDelayNum(delayNum); execDto.setDelayNum(delayNum);
int completeNum = normalNum + delayNum; int completeNum = normalNum + delayNum;
execDto.setCompleteNum(completeNum); execDto.setCompleteNum(completeNum);
execDto.setCompleteRatio(planCompalete.size() == 0 ? new BigDecimal(0) : new BigDecimal(completeNum).divide(new BigDecimal(planCompalete.size()), 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100))); execDto.setCompleteRatio(planCompalete.size() == 0 ? new BigDecimal(0) : new BigDecimal(completeNum).divide(new BigDecimal(planCompalete.size()), 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)));
execDto.setDelayUnComplete((int) panoramaNodePlans.stream().filter(p -> p.getStatus() < 3 && DateUtil.parseDate(p.getPlanFinishDate()).compareTo(new Date()) < 0).count()); execDto.setDelayUnComplete((int) panoramaNodePlans.stream().filter(p -> p.getStatus() == 2).count());
execDtoList.add(execDto); execDtoList.add(execDto);
} }
List<DictionaryItem> planType = dictionaryItemService.getDictList("plan_type", null); List<DictionaryItem> planType = dictionaryItemService.getDictList("plan_type", null);
@ -435,15 +435,15 @@ public class ProgressPanoramaNodePlanController {
execDto.setTotal(panoramaNodePlans.size()); execDto.setTotal(panoramaNodePlans.size());
List<ProgressPanoramaNodePlan> planCompalete = panoramaNodePlans.stream().filter(p -> DateUtil.parseDate(p.getPlanFinishDate()).compareTo(new Date()) < 0).collect(Collectors.toList()); List<ProgressPanoramaNodePlan> planCompalete = panoramaNodePlans.stream().filter(p -> DateUtil.parseDate(p.getPlanFinishDate()).compareTo(new Date()) < 0).collect(Collectors.toList());
execDto.setPlanCompleteNum(planCompalete.size()); execDto.setPlanCompleteNum(planCompalete.size());
int normalNum = (int) panoramaNodePlans.stream().filter(p -> p.getStatus() == 3).count(); int normalNum = (int) panoramaNodePlans.stream().filter(p -> p.getStatus() == 4).count();
execDto.setNormalNum(normalNum); execDto.setNormalNum(normalNum);
execDto.setNormalRatio(planCompalete.size() == 0 ? new BigDecimal(0) : new BigDecimal(normalNum).divide(new BigDecimal(planCompalete.size()), 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100))); execDto.setNormalRatio(planCompalete.size() == 0 ? new BigDecimal(0) : new BigDecimal(normalNum).divide(new BigDecimal(planCompalete.size()), 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)));
int delayNum = (int) panoramaNodePlans.stream().filter(p -> p.getStatus() == 4).count(); int delayNum = (int) panoramaNodePlans.stream().filter(p -> p.getStatus() == 3).count();
execDto.setDelayNum(delayNum); execDto.setDelayNum(delayNum);
int completeNum = normalNum + delayNum; int completeNum = normalNum + delayNum;
execDto.setCompleteNum(completeNum); execDto.setCompleteNum(completeNum);
execDto.setCompleteRatio(planCompalete.size() == 0 ? new BigDecimal(0) : new BigDecimal(completeNum).divide(new BigDecimal(planCompalete.size()), 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100))); execDto.setCompleteRatio(planCompalete.size() == 0 ? new BigDecimal(0) : new BigDecimal(completeNum).divide(new BigDecimal(planCompalete.size()), 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)));
execDto.setDelayUnComplete((int) panoramaNodePlans.stream().filter(p -> p.getStatus() < 3 && DateUtil.parseDate(p.getPlanFinishDate()).compareTo(new Date()) < 0).count()); execDto.setDelayUnComplete((int) panoramaNodePlans.stream().filter(p -> p.getStatus() == 2).count());
execDtoList.add(execDto); execDtoList.add(execDto);
} }
return Result.success(execDtoList); return Result.success(execDtoList);
@ -466,14 +466,19 @@ public class ProgressPanoramaNodePlanController {
UserInfo user = SecurityUtils.getUser(); UserInfo user = SecurityUtils.getUser();
Map<String, Object> params = new HashMap<>(); Map<String, Object> params = new HashMap<>();
Map<String, Object> mainMap = new HashMap<>(); Map<String, Object> mainMap = new HashMap<>();
mainMap.put("sqr", user.getUserId()); mainMap.put("rwmc", nodePlan.getNodeName());
mainMap.put("sqrg", DateUtil.formatDate(new Date())); mainMap.put("zrr", nodePlan.getChargerId());
mainMap.put("zbr", nodePlan.getChargerId()); mainMap.put("zrbm", nodePlan.getChargerDeptId());
mainMap.put("jhksrq", nodePlan.getPlanStartDate()); mainMap.put("jhksrq", nodePlan.getPlanStartDate());
mainMap.put("jhjsrq", nodePlan.getPlanFinishDate()); mainMap.put("jhjsrq", nodePlan.getPlanFinishDate());
mainMap.put("rwmc", nodePlan.getNodeName()); mainMap.put("rwid", nodePlan.getId());
mainMap.put("content", MapUtils.getString(map, "content")); // mainMap.put("sqr", user.getUserId());
mainMap.put("requireDate", MapUtils.getString(map, "requireDate")); // mainMap.put("sqrg", DateUtil.formatDate(new Date()));
mainMap.put("cbnr", MapUtils.getString(map, "content"));
mainMap.put("yqwcrq", MapUtils.getString(map, "requireDate"));
JSONArray mainData = new JSONArray(); JSONArray mainData = new JSONArray();
for (String s : mainMap.keySet()) { for (String s : mainMap.keySet()) {
JSONObject obj = new JSONObject(); JSONObject obj = new JSONObject();
@ -484,13 +489,13 @@ public class ProgressPanoramaNodePlanController {
params.put("requestName", "任务督办"); params.put("requestName", "任务督办");
params.put("mainData", JSON.toJSONString(mainData)); params.put("mainData", JSON.toJSONString(mainData));
params.put("detailData","[]"); params.put("detailData","[]");
params.put("workflowId", "422"); params.put("workflowId", "436");
params.put("remark","restful接口创建流程测试"); params.put("remark","restful接口创建流程测试");
Map<String, String> otherParams = new HashMap<>(); Map<String, String> otherParams = new HashMap<>();
otherParams.put("isVerifyPer","0"); otherParams.put("isVerifyPer","0");
params.put("otherParams",JSONObject.toJSONString(otherParams)); params.put("otherParams",JSONObject.toJSONString(otherParams));
System.out.println(JSON.toJSONString(params)); System.out.println(JSON.toJSONString(params));
// String result = jiuzhuUtil.testRestful1(ADDRESS, "/api/workflow/paService/doCreateRequest", params, "5583bc0e-220e-4a44-8e14-d838d47ad9b9"); String result = jiuzhuUtil.testRestful1(ADDRESS, "/api/workflow/paService/doCreateRequest", params, "5583bc0e-220e-4a44-8e14-d838d47ad9b9");
return Result.ok(); return Result.ok();
} }
} }

View File

@ -12,6 +12,15 @@ import java.util.List;
@ApiModel(value = "全景计划信息(DTO)", description = "ProgressPanoramaNodePlanDto") @ApiModel(value = "全景计划信息(DTO)", description = "ProgressPanoramaNodePlanDto")
public class ProgressPanoramaNodePlanDto extends ProgressPanoramaNodePlan { public class ProgressPanoramaNodePlanDto extends ProgressPanoramaNodePlan {
@ApiModelProperty(value = "项目id")
private String projectId;
@ApiModelProperty(value = "里程碑")
private String milepostName;
@ApiModelProperty(value = "计划应完成数")
private String resultName;
@ApiModelProperty(value = "子项信息") @ApiModelProperty(value = "子项信息")
private List<ProgressPanoramaNodePlanDto> children; private List<ProgressPanoramaNodePlanDto> children;
} }

View File

@ -45,4 +45,6 @@ public interface ProgressPanoramaNodePlanMapper extends BaseMapper<ProgressPanor
Map<String, Object> selectProjectStatistics(Map<String, Object> map); Map<String, Object> selectProjectStatistics(Map<String, Object> map);
List<EntityMap> selectProjectEarlyWarningList(Map<String, Object> map); List<EntityMap> selectProjectEarlyWarningList(Map<String, Object> map);
List<ProgressPanoramaNodePlanDto> getPlan();
} }

View File

@ -565,4 +565,8 @@
and cp.company_sn = #{sn} and cp.company_sn = #{sn}
</if> </if>
</select> </select>
<select id="getPlan" resultType="com.zhgd.xmgl.modules.project.entity.dto.ProgressPanoramaNodePlanDto">
select * from project_plan
</select>
</mapper> </mapper>

View File

@ -195,6 +195,7 @@ public class ProgressPanoramaNodePlanServiceImpl extends ServiceImpl<ProgressPan
updateState(progressPanoramaNodePlan.getProjectSn()); updateState(progressPanoramaNodePlan.getProjectSn());
progressPanoramaNodePlanMapper.insert(progressPanoramaNodePlan); progressPanoramaNodePlanMapper.insert(progressPanoramaNodePlan);
draftInfo(progressPanoramaNodePlan, 1); draftInfo(progressPanoramaNodePlan, 1);
sendPlan(progressPanoramaNodePlan.getProjectSn());
return progressPanoramaNodePlan.getId(); return progressPanoramaNodePlan.getId();
} }
@ -298,13 +299,16 @@ public class ProgressPanoramaNodePlanServiceImpl extends ServiceImpl<ProgressPan
public boolean delInfo(String id) { public boolean delInfo(String id) {
List<ProgressPanoramaNodePlan> list = this.list(Wrappers.<ProgressPanoramaNodePlan>lambdaQuery() List<ProgressPanoramaNodePlan> list = this.list(Wrappers.<ProgressPanoramaNodePlan>lambdaQuery()
.apply("find_in_set({0}, ancestors)", id)); .apply("find_in_set({0}, ancestors)", id));
if (list.size() > 0) { List<String> ids = list.stream().map(p -> p.getId().toString()).collect(Collectors.toList());
this.removeByIds(list.stream().map(p -> p.getId()).collect(Collectors.toList())); if (ids.size() > 0) {
this.removeByIds(ids);
} }
// 记录变更 // 记录变更
ProgressPanoramaNodePlan nodePlan = this.getById(id); ProgressPanoramaNodePlan nodePlan = this.getById(id);
updateState(nodePlan.getProjectSn()); updateState(nodePlan.getProjectSn());
draftInfo(nodePlan, 3); draftInfo(nodePlan, 3);
ids.add(id.toString());
delPlan(ids);
return this.removeById(id); return this.removeById(id);
} }
@ -336,8 +340,7 @@ public class ProgressPanoramaNodePlanServiceImpl extends ServiceImpl<ProgressPan
progressPanoramaNodePlan.setApprovalStatue(0); progressPanoramaNodePlan.setApprovalStatue(0);
boolean flag = this.updateById(progressPanoramaNodePlan); boolean flag = this.updateById(progressPanoramaNodePlan);
draftInfo(progressPanoramaNodePlan, 2); draftInfo(progressPanoramaNodePlan, 2);
ProgressPanoramaNodePlan nodePlan = this.getById(progressPanoramaNodePlan.getId()); sendPlan(progressPanoramaNodePlan.getProjectSn());
jiuzhuDateUtil.sendPlan(nodePlan);
return flag; return flag;
} }
@ -375,6 +378,7 @@ public class ProgressPanoramaNodePlanServiceImpl extends ServiceImpl<ProgressPan
} }
progressPanoramaNodePlanDraftService.saveBatch(draftList); progressPanoramaNodePlanDraftService.saveBatch(draftList);
} }
sendPlan(projectSn);
return flag; return flag;
} }
@ -409,9 +413,20 @@ public class ProgressPanoramaNodePlanServiceImpl extends ServiceImpl<ProgressPan
wrapper.eq(ProgressPanoramaNodePlan::getApprovalStatue, 0); wrapper.eq(ProgressPanoramaNodePlan::getApprovalStatue, 0);
this.update(wrapper); this.update(wrapper);
updateProjectState(progressPanoramaNodePlan.getProjectSn(), 1); updateProjectState(progressPanoramaNodePlan.getProjectSn(), 1);
sendPlan(progressPanoramaNodePlan.getProjectSn());
return true; return true;
} }
private void sendPlan(String projectSn) {
List<ProgressPanoramaNodePlanDto> planList = baseMapper.getPlan();
planList = planList.stream().filter(p -> p.getProjectSn().equals(projectSn)).collect(Collectors.toList());
jiuzhuDateUtil.sendPlan(planList);
}
private void delPlan(List<String> ids) {
jiuzhuDateUtil.delPlan(ids);
}
private void updateProjectState(String projectSn, int state) { private void updateProjectState(String projectSn, int state) {
ProjectInfoExtVo projectInfoBySn = projectService.getProjectInfoBySn(projectSn); ProjectInfoExtVo projectInfoBySn = projectService.getProjectInfoBySn(projectSn);
projectInfoBySn.setProgressState(state); projectInfoBySn.setProgressState(state);
@ -469,9 +484,11 @@ public class ProgressPanoramaNodePlanServiceImpl extends ServiceImpl<ProgressPan
} }
// 保存变更记录 // 保存变更记录
ProgressPanoramaNodePlanDraft updateInfo = progressPanoramaNodePlanDraftService.getById(planDraft.getDraftId()); ProgressPanoramaNodePlanDraft updateInfo = progressPanoramaNodePlanDraftService.getById(planDraft.getDraftId());
ProgressPanoramaNodePlanChangeRecord record = new ProgressPanoramaNodePlanChangeRecord(); if (updateInfo != null) {
BeanUtils.copyProperties(updateInfo, record); ProgressPanoramaNodePlanChangeRecord record = new ProgressPanoramaNodePlanChangeRecord();
progressPanoramaNodePlanChangeRecordService.save(record); BeanUtils.copyProperties(updateInfo, record);
progressPanoramaNodePlanChangeRecordService.save(record);
}
} }
} }
@ -482,7 +499,8 @@ public class ProgressPanoramaNodePlanServiceImpl extends ServiceImpl<ProgressPan
try { try {
for (Field field : fields) { for (Field field : fields) {
ReflectionUtils.makeAccessible(field); ReflectionUtils.makeAccessible(field);
if (field.getName().equals("approvalStatue") || field.getName().equals("serialVersionUID")) { if (field.getName().equals("approvalStatue") || field.getName().equals("serialVersionUID")
|| field.getName().equals("nature")) {
continue; continue;
} }
Field secondField = clazz2.getDeclaredField(field.getName()); Field secondField = clazz2.getDeclaredField(field.getName());

View File

@ -24,6 +24,7 @@ import com.zhgd.xmgl.modules.jz.dto.PlanTargetDto;
import com.zhgd.xmgl.modules.project.entity.ProgressPanoramaNodePlan; import com.zhgd.xmgl.modules.project.entity.ProgressPanoramaNodePlan;
import com.zhgd.xmgl.modules.project.entity.Project; import com.zhgd.xmgl.modules.project.entity.Project;
import com.zhgd.xmgl.modules.project.entity.ProjectSupplier; import com.zhgd.xmgl.modules.project.entity.ProjectSupplier;
import com.zhgd.xmgl.modules.project.entity.dto.ProgressPanoramaNodePlanDto;
import com.zhgd.xmgl.modules.project.service.IProjectService; import com.zhgd.xmgl.modules.project.service.IProjectService;
import com.zhgd.xmgl.modules.project.service.IProjectSupplierService; import com.zhgd.xmgl.modules.project.service.IProjectSupplierService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -213,12 +214,12 @@ public class JiuzhuDateUtil {
return planTargetDtoList; return planTargetDtoList;
} }
public List<PlanTargetDto> sendPlan(ProgressPanoramaNodePlan progressPanoramaNodePlan) { public List<PlanTargetDto> sendPlan(List<ProgressPanoramaNodePlanDto> progressPanoramaNodePlan) {
String url = "/api/cube/restful/interface/getModeDataPageList/JHRW"; String url = "/api/cube/restful/interface/saveOrUpdateModeData/JHTS";
String systemid = "JHTS"; String systemid = "jhrwts";
String d_password = "F510A75A00ED495389C685792E416269"; String d_password = "FD8363502986471684F8443F0BE8A502";
JSONObject mainTable = convert(progressPanoramaNodePlan); JSONArray mainTable = convert(progressPanoramaNodePlan);
String result = doAction(url, systemid, d_password, mainTable); String result = doAction1(url, systemid, d_password, mainTable);
List<PlanTargetDto> planTargetDtoList = new ArrayList<>(); List<PlanTargetDto> planTargetDtoList = new ArrayList<>();
if (StringUtils.isNotBlank(result)) { if (StringUtils.isNotBlank(result)) {
JSONObject obj = JSONObject.parseObject(result); JSONObject obj = JSONObject.parseObject(result);
@ -227,23 +228,68 @@ public class JiuzhuDateUtil {
return planTargetDtoList; return planTargetDtoList;
} }
private JSONObject convert(ProgressPanoramaNodePlan progressPanoramaNodePlan) { public void delPlan(List<String> ids) {
JSONObject main = new JSONObject(); String url = "/api/cube/restful/interface/deleteModeDataByPK/JHSC";
main.put("id", progressPanoramaNodePlan.getId()); String systemid = "JHSC";
main.put("rwlx", progressPanoramaNodePlan.getLevelName()); String d_password = "A58B63C23E684FA0A6120895156AF87E";
main.put("rwlb", progressPanoramaNodePlan.getType()); JSONArray mainTable = convert1(ids);
main.put("sfwgjjd", progressPanoramaNodePlan.getKeyNode()); for (int i = 0; i < mainTable.size(); i++) {
main.put("sfwlcb", progressPanoramaNodePlan.getMilepostNode()); String result = doAction(url, systemid, d_password, mainTable.getJSONObject(i));
main.put("jhksrq", progressPanoramaNodePlan.getPlanStartDate()); System.out.println("删除任务结果======" + result);
main.put("jhjsrq", progressPanoramaNodePlan.getPlanFinishDate()); }
main.put("zzr", progressPanoramaNodePlan.getChargerId()); }
main.put("zzbm", progressPanoramaNodePlan.getChargerDeptId());
main.put("lcb", progressPanoramaNodePlan.getMilepostId()); private JSONArray convert(List<ProgressPanoramaNodePlanDto> progressPanoramaNodePlans) {
main.put("jdxcg", progressPanoramaNodePlan.getResultId()); JSONArray array = new JSONArray();
main.put("bh", progressPanoramaNodePlan.getNodeCode()); for (ProgressPanoramaNodePlanDto progressPanoramaNodePlan : progressPanoramaNodePlans) {
main.put("gq", progressPanoramaNodePlan.getDuration()); JSONObject main = new JSONObject();
main.put("xzr", progressPanoramaNodePlan.getAssistId()); main.put("rwid", progressPanoramaNodePlan.getId());
return main; main.put("rwlx", progressPanoramaNodePlan.getLevelName().equals("主项任务") ? 0 : 1);
main.put("rwlb", progressPanoramaNodePlan.getType());
main.put("sfwgjjd", progressPanoramaNodePlan.getKeyNode() ? 1 : 0);
main.put("sfwlcb", progressPanoramaNodePlan.getMilepostNode() ? 1 : 0);
main.put("jhksrq", progressPanoramaNodePlan.getPlanStartDate());
main.put("jhjsrq", progressPanoramaNodePlan.getPlanFinishDate());
main.put("zzr", progressPanoramaNodePlan.getChargerId());
main.put("zzbm", progressPanoramaNodePlan.getChargerDeptId());
main.put("lcb", progressPanoramaNodePlan.getMilepostName());
main.put("jdxcg", progressPanoramaNodePlan.getResultName());
main.put("bh", progressPanoramaNodePlan.getNodeCode());
main.put("gq", progressPanoramaNodePlan.getDuration());
main.put("xzr", progressPanoramaNodePlan.getAssistId());
main.put("ndjhmc", progressPanoramaNodePlan.getNodeName());
main.put("sfjdxcg", progressPanoramaNodePlan.getResultNode() ? 1 : 0);
main.put("ndjhlx ", 1);
main.put("zt", progressPanoramaNodePlan.getApprovalStatue());
main.put("xmid", progressPanoramaNodePlan.getProjectId());
// main.put("rwid", "123");
// main.put("rwlx", "");
// main.put("rwlb", "");
// main.put("sfwgjjd", "");
// main.put("sfwlcb", "");
// main.put("jhksrq", "");
// main.put("jhjsrq", "");
// main.put("zzr", "");
// main.put("zzbm", "");
// main.put("lcb", "");
// main.put("jdxcg", "");
// main.put("bh", "");
// main.put("gq", "");
// main.put("xzr", "");
// main.put("ndjhmc", "");
array.add(main);
}
return array;
}
private JSONArray convert1(List<String> ids) {
JSONArray array = new JSONArray();
for (String id : ids) {
JSONObject main = new JSONObject();
main.put("rwid", id);
array.add(main);
}
return array;
} }
/** /**
@ -298,7 +344,7 @@ public class JiuzhuDateUtil {
//封装operationinfo参数 //封装operationinfo参数
JSONObject operationinfo = new JSONObject(); JSONObject operationinfo = new JSONObject();
operationinfo.put("operator", "15273"); operationinfo.put("operator", "1");
paramDatajson.put("operationinfo",operationinfo); paramDatajson.put("operationinfo",operationinfo);
System.out.println("===请求参数datajson==="+paramDatajson); System.out.println("===请求参数datajson==="+paramDatajson);
@ -333,6 +379,85 @@ public class JiuzhuDateUtil {
return null; return null;
} }
public String doAction1(String url, String systemid, String d_password, JSONArray mainTable){
CloseableHttpResponse response;// 响应类,
CloseableHttpClient httpClient = HttpClients.createDefault();
//restful接口url
HttpPost httpPost = new HttpPost(ADDRESS + url);
//当前日期
String currentDate = getCurrentDate();
//当前时间
String currentTime = getCurrentTime();
//获取时间戳
String currentTimeTamp = getTimestamp();
Map<String, Object> params = new HashMap<>();
Map paramDatajson = new HashMap<>();
JSONObject dataobj = new JSONObject();
JSONArray data = new JSONArray();
//header
Map header = new HashMap<>();
//系统标识
// String systemid = "xmxx";
//密码
// String d_password = "E3BA750749804E65B0A93833635F8ED2";
//封装header里的参数
header.put("systemid",systemid);
header.put("currentDateTime",currentTimeTamp);
String md5Source = systemid+d_password+currentTimeTamp;
String md5OfStr = getMD5Str(md5Source).toLowerCase();
//Md5是系统标识+密码+时间戳 并且md5加密的结果
header.put("Md5",md5OfStr);
dataobj.put("header",header);
//封装operationinfo参数
JSONObject operationinfo = new JSONObject();
operationinfo.put("operator", "1");
for (int i = 0; i < mainTable.size(); i++) {
Map paramDatajson1 = new HashMap<>();
paramDatajson1.put("operationinfo",operationinfo);
paramDatajson1.put("mainTable",mainTable.getJSONObject(i));
data.add(paramDatajson1);
}
System.out.println("===请求参数datajson==="+paramDatajson);
dataobj.put("data", data);
params.put("datajson",dataobj);
//装填参数
List nvps = new ArrayList();
if(params!=null){
for (Object entry : params.entrySet()) {
Map.Entry<String, Object> en = (Map.Entry) entry;
nvps.add(new BasicNameValuePair(en.getKey(), JSONObject.toJSONString(en.getValue())));
}
}
try{
httpPost.addHeader("Content-Type","application/x-www-form-urlencoded; charset=utf-8");
httpPost.setEntity(new UrlEncodedFormEntity(nvps, "UTF-8"));
response = httpClient.execute(httpPost);
if (response != null && response.getEntity() != null) {
//返回信息
String resulString = EntityUtils.toString(response.getEntity());
//todo这里处理返回信息
System.out.println("成功"+ resulString);
return resulString;
}else{
System.out.println("获取数据失败,请查看日志"+currentDate+" "+currentTime);
}
}catch (Exception e){
System.out.println("请求失败"+currentDate+" "+currentTime+"====errormsg:"+e.getMessage());
}
return null;
}
public String getMD5Str(String plainText){ public String getMD5Str(String plainText){
//定义一个字节数组 //定义一个字节数组
byte[] secretBytes = null; byte[] secretBytes = null;