From 3c5cbd30a3b66f0844e9878f42d3fa82bff08752 Mon Sep 17 00:00:00 2001 From: zhouhaibin Date: Wed, 17 Jan 2024 14:41:51 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BC=80=E5=8F=91=E5=AE=8C=E6=88=90,=E6=B5=8B?= =?UTF-8?q?=E8=AF=95=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../guoyan/controller/TestController.java | 143 -------------- .../controller/YunpingtaiController.java | 186 ++++++++++++++++++ .../guoyan/entity/KpssProcessNode6IdInfo.java | 2 + .../com/example/guoyan/entity/SendKpxx.java | 1 + .../example/guoyan/mapper/ScKpsqspMapper.java | 4 +- .../guoyan/scheduled/ProcessScheduled.java | 177 +++++++++++------ src/main/resources/application-dev.yml | 1 + src/main/resources/mapper/OtherMapper.xml | 8 +- src/main/resources/mapper/SendHtMapper.xml | 7 +- src/main/resources/mapper/SendKpxxMapper.xml | 4 +- src/main/resources/mapper/SendXmMapper.xml | 4 +- 11 files changed, 329 insertions(+), 208 deletions(-) delete mode 100644 src/main/java/com/example/guoyan/controller/TestController.java create mode 100644 src/main/java/com/example/guoyan/controller/YunpingtaiController.java diff --git a/src/main/java/com/example/guoyan/controller/TestController.java b/src/main/java/com/example/guoyan/controller/TestController.java deleted file mode 100644 index 6459fd3..0000000 --- a/src/main/java/com/example/guoyan/controller/TestController.java +++ /dev/null @@ -1,143 +0,0 @@ -package com.example.guoyan.controller; - - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.example.guoyan.common.Result; -import com.example.guoyan.entity.SendHt; -import com.example.guoyan.entity.SendKpxx; -import com.example.guoyan.entity.SendXm; -import com.example.guoyan.mapper.*; -import com.example.guoyan.response.ResponseBeanForBeiJing; -import com.example.guoyan.scheduled.ProcessScheduled; -import lombok.extern.slf4j.Slf4j; -import org.apache.http.entity.ContentType; -import org.springframework.beans.factory.annotation.Autowired; - -import org.springframework.core.io.FileSystemResource; -import org.springframework.http.HttpEntity; -import org.springframework.http.HttpHeaders; -import org.springframework.http.MediaType; -import org.springframework.util.LinkedMultiValueMap; -import org.springframework.util.MultiValueMap; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; -import org.springframework.web.client.RestTemplate; - -import javax.annotation.Resource; -import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - - -@RestController -@RequestMapping("/test") -@Slf4j -public class TestController { - @Resource - private RestTemplate restTemplate; - @Autowired - private SendXmMapper sendXmMapper; - @Autowired - private SendHtMapper sendHtMapper; - @Autowired - private OtherMapper otherMapper; - - @Autowired - private SendKpxxMapper sendKpxxMapper; - - @Autowired - private ProcessScheduled processScheduled; - @GetMapping() - public Result upLoadFile() { - - return Result.success("成功"); - } - @GetMapping("/c") - public Result test1(){ - - List sendKpxxList = sendKpxxMapper.querySendKpxxByNoDel(); - String url = "http://123.57.82.48:13310/api/auth/login"; - //提交参数设置 - HashMap map = new HashMap<>(); - map.put("username", "0519999"); - map.put("password", "123456"); - - //发起请求 - ResponseBeanForBeiJing responseBean = restTemplate.postForObject(url, map, ResponseBeanForBeiJing.class); - System.out.println(responseBean.toString()); - String data = responseBean.getData().toString(); - HttpHeaders headers = new HttpHeaders(); - headers.set("Authorization", data); - - -// sendKpxxList.forEach(item->{ -// Integer interfaceType = item.getInterfaceType();//类型字段 -// if(interfaceType==0){//开票信息有关的 -// //判断是否过了节点5,通过流程id,节点 -// String requestid = item.getRequestid(); -// String kpssProcessNode5="2c9adae478fdbe15017906f93ec90265"; -// List> selectProcessNo5IsSubmit = otherMapper.selectProcessNo5IsSubmit(requestid, kpssProcessNode5); -// if (selectProcessNo5IsSubmit.size()>0){//存在 -// processScheduled.senKpxxToYunPingtai(item,headers); -// } -// //开票确认 -// }else if (interfaceType==1){ -// processScheduled.sendKpqrToYunPingtai(item,headers); -// //开票确认收入 -// }else if(interfaceType==2){ -// processScheduled.sendKpqrsrToYunPingtai(item,headers); -// }else if (interfaceType==3){ -// processScheduled.sendKpqrdzToYunPingtai(item,headers); -// }else { -// log.info("未知编号:"+interfaceType); -// } -// }); -// processScheduled.sendKpCancelToYPT(headers); - processScheduled.queryInvoicingApprovalStatus(headers); - return Result.success("成功"); - } - - @GetMapping("/a") - public Result testt() { - - List sendHtList = sendHtMapper.querySendHtByNoDel(); - String url = "http://123.57.82.48:13310/api/auth/login"; - //提交参数设置 - HashMap map = new HashMap<>(); - map.put("username", "0519999"); - map.put("password", "123456"); - - //发起请求 - ResponseBeanForBeiJing responseBean = restTemplate.postForObject(url, map, ResponseBeanForBeiJing.class); - System.out.println(responseBean.toString()); - String data = responseBean.getData().toString(); - HttpHeaders headers = new HttpHeaders(); - headers.set("Authorization", data); - processScheduled.sendHtToYunPingtai(sendHtList,headers); - return Result.success("成功"); - } - - @GetMapping("/t") - public Result test() { - - List sendXmList = sendXmMapper.querySendXmByNoDel(); - String url = "http://123.57.82.48:13310/api/auth/login"; - //提交参数设置 - HashMap map = new HashMap<>(); - map.put("username", "0519999"); - map.put("password", "123456"); - - //发起请求 - ResponseBeanForBeiJing responseBean = restTemplate.postForObject(url, map, ResponseBeanForBeiJing.class); - System.out.println(responseBean.toString()); - String data = responseBean.getData().toString(); - HttpHeaders headers = new HttpHeaders(); - headers.set("Authorization", data); - processScheduled.sendXmToYunPingtai(sendXmList, headers); - return Result.success("成功"); - } -} diff --git a/src/main/java/com/example/guoyan/controller/YunpingtaiController.java b/src/main/java/com/example/guoyan/controller/YunpingtaiController.java new file mode 100644 index 0000000..f94271b --- /dev/null +++ b/src/main/java/com/example/guoyan/controller/YunpingtaiController.java @@ -0,0 +1,186 @@ +package com.example.guoyan.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.example.guoyan.common.Result; +import com.example.guoyan.entity.ScKpsqsp; +import com.example.guoyan.entity.SendHt; +import com.example.guoyan.entity.SendKpxx; +import com.example.guoyan.entity.SendXm; +import com.example.guoyan.mapper.*; +import com.example.guoyan.response.ResponseBeanForBeiJing; +import com.example.guoyan.scheduled.ProcessScheduled; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; + + +import org.springframework.beans.factory.annotation.Value; +import org.springframework.http.HttpHeaders; + +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.client.RestTemplate; + +import javax.annotation.Resource; + +import java.util.HashMap; +import java.util.List; + + +@RestController +@RequestMapping("/yunpingtai") +@Slf4j +public class YunpingtaiController { + @Resource + private RestTemplate restTemplate; + @Autowired + private SendXmMapper sendXmMapper; + @Autowired + private SendHtMapper sendHtMapper; + @Autowired + private OtherMapper otherMapper; + + @Autowired + private SendKpxxMapper sendKpxxMapper; + @Autowired + private ScKpsqspMapper scKpsqspMapper; + + @Autowired + private ProcessScheduled processScheduled; + @Value("${ypt.username}") + private String username; + @Value("${ypt.password}") + private String password; + @Value("${ypt.loginUrl}") + private String loginUrl; + @GetMapping() + public Result upLoadFile() { + return Result.success("成功"); + } + @GetMapping("/sendxm") + public Result test1(){ + String url = loginUrl; + //提交参数设置 + HashMap map = new HashMap<>(); + map.put("username", username); + map.put("password", password); + + //发起请求 + ResponseBeanForBeiJing responseBean = restTemplate.postForObject(url, map, ResponseBeanForBeiJing.class); + System.out.println(responseBean.toString()); + String data = responseBean.getData().toString(); + HttpHeaders headers = new HttpHeaders(); + headers.set("Authorization", data); + List sendXmList = sendXmMapper.querySendXmByNoDel(); + processScheduled.sendXmToYunPingtai(sendXmList,headers); + List sendHtList = sendHtMapper.querySendHtByNoDel(); + processScheduled.sendHtToYunPingtai(sendHtList,headers); + + processScheduled.sendKpCancelToYPT(headers); + processScheduled.queryInvoicingApprovalStatus(headers); + return Result.success("成功"); + } + + @GetMapping("/sendht") + public Result testt() { + String url = loginUrl; + //提交参数设置 + HashMap map = new HashMap<>(); + map.put("username", username); + map.put("password", password); + + //发起请求 + ResponseBeanForBeiJing responseBean = restTemplate.postForObject(url, map, ResponseBeanForBeiJing.class); + System.out.println(responseBean.toString()); + String data = responseBean.getData().toString(); + HttpHeaders headers = new HttpHeaders(); + headers.set("Authorization", data); + List sendHtList = sendHtMapper.querySendHtByNoDel(); + processScheduled.sendHtToYunPingtai(sendHtList,headers); + return Result.success("成功"); + + } + + @GetMapping("/sendkpxx") + public Result test() { + String url = loginUrl; + //提交参数设置 + HashMap map = new HashMap<>(); + map.put("username", username); + map.put("password", password); + + //发起请求 + ResponseBeanForBeiJing responseBean = restTemplate.postForObject(url, map, ResponseBeanForBeiJing.class); + System.out.println(responseBean.toString()); + String data = responseBean.getData().toString(); + HttpHeaders headers = new HttpHeaders(); + headers.set("Authorization", data); + List sendKpxxList = sendKpxxMapper.querySendKpxxByNoDel(); + sendKpxxList.forEach(item->{ + Integer interfaceType = item.getInterfaceType();//类型字段 + if(interfaceType==0&&"ZJ".equals(item.getQy())){//开票信息有关的 + //判断是否过了节点5,通过流程id,节点 + String requestid = item.getRequestid(); + String kpssProcessNode5="2c9adae478fdbe15017906f93ec90265"; + List> selectProcessNo5IsSubmit = otherMapper.selectProcessNo5IsSubmit(requestid, kpssProcessNode5); + if (selectProcessNo5IsSubmit.size()>0){//存在 + processScheduled.senKpxxToYunPingtai(item,headers); + } + //开票确认 + }else if (interfaceType==1&&"ZJ".equals(item.getQy())){ + processScheduled.sendKpqrToYunPingtai(item,headers); + //开票确认收入 + }else if(interfaceType==2){ + String wfrequest = item.getWfrequest(); + LambdaQueryWrapper scKpsqspMapperLambdaQueryWrapper = new LambdaQueryWrapper<>(); + scKpsqspMapperLambdaQueryWrapper.eq(ScKpsqsp::getRequestid,wfrequest); + ScKpsqsp scKpsqsp = scKpsqspMapper.selectList(scKpsqspMapperLambdaQueryWrapper).get(0); + String qy = scKpsqsp.getQy(); + if ("ZJ".equals(qy)){ + processScheduled.sendKpqrsrToYunPingtai(item,headers); + } + }else if (interfaceType==3&&"ZJ".equals(item.getQy())){ + processScheduled.sendKpqrdzToYunPingtai(item,headers); + }else { + log.info("未知编号:"+interfaceType); + } + }); + return Result.success("成功"); + } + @GetMapping("/cancelht") + public Result cancelht(){ + String url = loginUrl; + //提交参数设置 + HashMap map = new HashMap<>(); + map.put("username", username); + map.put("password", password); + + //发起请求 + ResponseBeanForBeiJing responseBean = restTemplate.postForObject(url, map, ResponseBeanForBeiJing.class); + System.out.println(responseBean.toString()); + String data = responseBean.getData().toString(); + HttpHeaders headers = new HttpHeaders(); + headers.set("Authorization", data); + + processScheduled.sendKpCancelToYPT(headers); + return Result.success("成功"); + } + @GetMapping("/queryInvoicingApproval") + public Result queryInvoicingApproval(){ + String url = loginUrl; + //提交参数设置 + HashMap map = new HashMap<>(); + map.put("username", username); + map.put("password", password); + + //发起请求 + ResponseBeanForBeiJing responseBean = restTemplate.postForObject(url, map, ResponseBeanForBeiJing.class); + System.out.println(responseBean.toString()); + String data = responseBean.getData().toString(); + HttpHeaders headers = new HttpHeaders(); + headers.set("Authorization", data); + processScheduled.queryInvoicingApprovalStatus(headers); + return Result.success("成功"); + } +} diff --git a/src/main/java/com/example/guoyan/entity/KpssProcessNode6IdInfo.java b/src/main/java/com/example/guoyan/entity/KpssProcessNode6IdInfo.java index 1ddf0a8..f1e6007 100644 --- a/src/main/java/com/example/guoyan/entity/KpssProcessNode6IdInfo.java +++ b/src/main/java/com/example/guoyan/entity/KpssProcessNode6IdInfo.java @@ -23,5 +23,7 @@ public class KpssProcessNode6IdInfo { private String nextStepOperid; @Value("${kpssProcessNode6IdInfo.friststepid}") private String friststepid; + @Value("${kpssProcessNode6IdInfo.processControlid}") + private String processControlid; } diff --git a/src/main/java/com/example/guoyan/entity/SendKpxx.java b/src/main/java/com/example/guoyan/entity/SendKpxx.java index 0054321..e3ba47d 100644 --- a/src/main/java/com/example/guoyan/entity/SendKpxx.java +++ b/src/main/java/com/example/guoyan/entity/SendKpxx.java @@ -135,5 +135,6 @@ public class SendKpxx implements Serializable { private String wfrequest; private String incomeId; private String accountId; + private String qy; } diff --git a/src/main/java/com/example/guoyan/mapper/ScKpsqspMapper.java b/src/main/java/com/example/guoyan/mapper/ScKpsqspMapper.java index 69f804e..70e606c 100644 --- a/src/main/java/com/example/guoyan/mapper/ScKpsqspMapper.java +++ b/src/main/java/com/example/guoyan/mapper/ScKpsqspMapper.java @@ -1,7 +1,9 @@ package com.example.guoyan.mapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.example.guoyan.entity.ScKpsqsp; import org.apache.ibatis.annotations.Mapper; @Mapper -public interface ScKpsqspMapper { +public interface ScKpsqspMapper extends BaseMapper { } diff --git a/src/main/java/com/example/guoyan/scheduled/ProcessScheduled.java b/src/main/java/com/example/guoyan/scheduled/ProcessScheduled.java index ef99846..043ea4d 100644 --- a/src/main/java/com/example/guoyan/scheduled/ProcessScheduled.java +++ b/src/main/java/com/example/guoyan/scheduled/ProcessScheduled.java @@ -1,6 +1,5 @@ package com.example.guoyan.scheduled; -import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; @@ -23,11 +22,8 @@ import org.springframework.web.client.RestTemplate; import javax.annotation.Resource; import java.io.File; import java.text.SimpleDateFormat; -import java.time.Duration; -import java.time.LocalDate; -import java.time.format.DateTimeFormatter; + import java.util.*; -import java.util.spi.CalendarDataProvider; @Component @Slf4j @@ -56,6 +52,8 @@ public class ProcessScheduled { @Autowired private ScXglcMapper scXglcMapper; @Autowired + private ScKpsqspMapper scKpsqspMapper; + @Autowired private PermissionrulegroupMapper permissionrulegroupMapper; @Value("${ypt.username}") private String username; @@ -88,7 +86,7 @@ public class ProcessScheduled { /** * 定时任务跑合同和项目信息的变化发给北京,五分钟一次 */ - //@Scheduled(cron = "0 0/5 * * * ?") + @Scheduled(cron = "0 0/5 * * * ?") public void invoice_request_Process_Scheduled() { //提交参数设置 @@ -97,8 +95,6 @@ public class ProcessScheduled { map.put("username", username); map.put("password", password); //查询需要更新到北京云平台的数据 - List sendXmList = sendXmMapper.querySendXmByNoDel(); - List sendHtList = sendHtMapper.querySendHtByNoDel(); //发起请求 获取权限token log.info(map.toString()); ResponseBeanForBeiJing responseBean = restTemplate.postForObject(loginUrl, map, ResponseBeanForBeiJing.class); @@ -107,13 +103,16 @@ public class ProcessScheduled { String data = responseBean.getData().toString(); HttpHeaders headers = new HttpHeaders(); headers.set("Authorization", data); + List sendXmList = sendXmMapper.querySendXmByNoDel(); sendXmToYunPingtai(sendXmList, headers); + List sendHtList = sendHtMapper.querySendHtByNoDel(); sendHtToYunPingtai(sendHtList,headers); //处理开票信息 List sendKpxxList = sendKpxxMapper.querySendKpxxByNoDel(); sendKpxxList.forEach(item->{ Integer interfaceType = item.getInterfaceType();//类型字段 - if(interfaceType==0){//开票信息有关的 + //zj表示区域是北京的 + if(interfaceType==0 && "ZJ".equals(item.getQy())){//开票信息有关的 //判断是否过了节点5,通过流程id,节点 String requestid = item.getRequestid(); String kpssProcessNode5=kpssProcessNode6IdInfo.getPerStepid(); @@ -122,13 +121,21 @@ public class ProcessScheduled { senKpxxToYunPingtai(item,headers); } //开票确认 - }else if (interfaceType==1){ + }else if (interfaceType==1&& "ZJ".equals(item.getQy())){ sendKpqrToYunPingtai(item,headers); //开票确认收入 }else if(interfaceType==2){ - sendKpqrsrToYunPingtai(item,headers); + String wfrequest = item.getWfrequest(); + LambdaQueryWrapper scKpsqspMapperLambdaQueryWrapper = new LambdaQueryWrapper<>(); + scKpsqspMapperLambdaQueryWrapper.eq(ScKpsqsp::getRequestid,wfrequest); + ScKpsqsp scKpsqsp = scKpsqspMapper.selectList(scKpsqspMapperLambdaQueryWrapper).get(0); + String qy = scKpsqsp.getQy(); + if ("ZJ".equals(qy)){ + sendKpqrsrToYunPingtai(item,headers); + } + //开票确认到账 - }else if (interfaceType==3){ + }else if (interfaceType==3&& "ZJ".equals(item.getQy())){ sendKpqrdzToYunPingtai(item,headers); }else { log.info("未知编号:"+interfaceType); @@ -136,6 +143,7 @@ public class ProcessScheduled { }); //处理云平台开票信息更新流程 queryInvoicingApprovalStatus(headers); + sendKpCancelToYPT(headers);//开票取消 // }else { @@ -144,6 +152,12 @@ public class ProcessScheduled { log.info("本次任务结束了"); } + + /** + * 发送项目信息去北京云平台 + * @param sendXmList 项目信息列表 + * @param headers 请求头 + */ @Transactional() public void sendXmToYunPingtai(List sendXmList, HttpHeaders headers) { //把查到的数据按次序更新或新增到北京 @@ -204,9 +218,9 @@ public class ProcessScheduled { String xmAmount = otherMapper.selectXmAmount(item.getProjectId()); Double contractAmount = item.getContractAmount(); Double amt = Double.valueOf(xmAmount); - log.info("金额是"+xmAmount,amt); + log.info("金额是"+xmAmount,contractAmount); //如果合同金额和项目金额不一样,更新云平台的项目金额 为合同金额 - if (amt!=contractAmount){ + if (contractAmount.compareTo(amt)!=0){ //更新数据需要所有字段都有值,所以去查最新的一笔更新记录,改一下合同金额 List sendXms = sendXmMapper.querySendXmByProjectId(item.getProjectId()); SendXm sendXm = sendXms.get(0);//得到最新的一条已修改记录 @@ -277,9 +291,37 @@ public class ProcessScheduled { //新增 String[] evidenceIds = sendKpxx.getEvidenceId().split(",");//获取文件id组 String evidenceid= sendfpfielUpdown(headers,evidenceIds);//上传文件信息 +// if() if(evidenceid.length()>0){ evidenceid=evidenceid.substring(0,evidenceid.length()-1); } + //因为会驳回,驳回后在提交就是修改状态,查询是否有退回记录,如果有要重新提交 + if(sendKpxx.getOperatetype()==1){ + LambdaQueryWrapper sendKpxxLambdaQueryWrapper = new LambdaQueryWrapper<>(); + sendKpxxLambdaQueryWrapper.eq(SendKpxx::getRequestid,sendKpxx.getRequestid()); + sendKpxxLambdaQueryWrapper.eq(SendKpxx::getStatus,3); + sendKpxxLambdaQueryWrapper.select(SendKpxx::getRequestid,SendKpxx::getId,SendKpxx::getStatus); + List sendKpxxes = sendKpxxMapper.selectList(sendKpxxLambdaQueryWrapper); + //有驳回记录 + if (sendKpxxes.size()>0){ + sendKpxxLambdaQueryWrapper.clear(); + sendKpxxLambdaQueryWrapper.eq(SendKpxx::getRequestid,sendKpxx.getRequestid()); + sendKpxxLambdaQueryWrapper.and((wrapper->{ + wrapper.eq(SendKpxx::getStatus,2).or().eq(SendKpxx::getStatus,1); + })); + sendKpxxLambdaQueryWrapper.select(SendKpxx::getRequestid,SendKpxx::getId,SendKpxx::getStatus); + List sendKpxxeoks = sendKpxxMapper.selectList(sendKpxxLambdaQueryWrapper); + //没有通过记录 + if (sendKpxxeoks.size()==0){ + //说明该修改要重新在北京发起流程 + sendKpxx.setOperatetype(0); + LambdaUpdateWrapper sendKpxxLambdaUpdateWrapper = new LambdaUpdateWrapper<>(); + sendKpxxLambdaUpdateWrapper.eq(SendKpxx::getId,sendKpxx.getId()); + sendKpxxLambdaUpdateWrapper.set(SendKpxx::getOperatetype,0); + sendKpxxMapper.update(null,sendKpxxLambdaUpdateWrapper); + } + } + } if(sendKpxx.getOperatetype()==0){ sendKpxx.setInvoiceNo(null); headers.setContentType(MediaType.APPLICATION_JSON); @@ -299,6 +341,13 @@ public class ProcessScheduled { sendKpxxMapper.update(null, sendKpxxLambdaUpdateWrapper); log.info("新增开票信息到云平台成功"); log.info(responseData.toString()); + //因为更新云平台编号,会导致多一个无用的更新数据,所以要删除 + //要删除他 + sendKpxxLambdaUpdateWrapper.clear(); + sendKpxxLambdaUpdateWrapper.eq(SendKpxx::getRequestid,sendKpxx.getRequestid()); + sendKpxxLambdaUpdateWrapper.eq(SendKpxx::getOperatetype,1); + sendKpxxLambdaUpdateWrapper.isNull(SendKpxx::getStatus); + sendKpxxMapper.delete(sendKpxxLambdaUpdateWrapper); } else { log.info("新增开票信息失败,projectId是" + sendKpxx.getProjectNo() + " id是" + sendKpxx.getId()); log.error("返回的信息是" + responseData.toString()); @@ -424,10 +473,10 @@ public class ProcessScheduled { sendKpxxLambdaUpdateWrapper.eq(SendKpxx::getId, sendKpxx.getId());//更新条件 sendKpxxLambdaUpdateWrapper.set(SendKpxx::getStatus, 1);//更新的值 sendKpxxMapper.update(null, sendKpxxLambdaUpdateWrapper); - log.info("新增开票确认到云平台成功"); + log.info("新增开票确认收入到云平台成功"); log.info(responseData.toString()); } else { - log.info("新增开票确认失败,projectId是" + sendKpxx.getProjectNo() + " id是" + sendKpxx.getId()); + log.info("新增开票确认收入失败,projectId是" + sendKpxx.getProjectNo() + " id是" + sendKpxx.getId()); log.info("返回的信息是" + responseData.toString()); } } @@ -466,7 +515,7 @@ public class ProcessScheduled { } @Transactional() public void sendKpqrdzToYunPingtai(SendKpxx sendKpxx, HttpHeaders headers){ - HashMap stringStringHashMap = otherMapper.selectScKpsqsp_yptbh_Byreqid(sendKpxx.getWfrequest()); + HashMap stringStringHashMap = otherMapper.selectScKpsqsp_yptbh_ByPjid(sendKpxx.getRequestid()); if(stringStringHashMap==null){ return; } @@ -510,6 +559,7 @@ public class ProcessScheduled { sendKpxxMapper.update(null, sendKpxxLambdaUpdateWrapper); log.info("新增开票确认到账信息到云平台成功"); log.info(responseData.toString()); + } else { log.info("新增开票确认失败,projectId是" + sendKpxx.getProjectNo() + " id是" + sendKpxx.getId()); log.info("返回的信息是" + responseData.toString()); @@ -566,16 +616,18 @@ public class ProcessScheduled { } Map dataMap = (Map) beanForBeiJing.getData(); Integer status = (Integer) dataMap.get("status"); - if (status==2 || status==4){ - //已确认 + Date nowData = new Date(); + + if (status==2 || status==4){//已确认 //更新这边的流程 String processId = sendKpxxMapper.selectProcessId(item.getRequestid()); Requestlog requestlog = new Requestlog(); requestlog.setRequestid(processId); requestlog.setStaffid(kpssProcessNode6IdInfo.getCurrentStaffid()); requestlog.setIsedit(1); + requestlog.setIntfield3(1); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - requestlog.setCreatedate(dateFormat.format(new Date())); + requestlog.setCreatedate(dateFormat.format(nowData)); requestlog.setStepid(kpssProcessNode6IdInfo.getCurrentStepid()); requestlog.setNtype(1); requestlog.setInfo("北京同意"); @@ -597,7 +649,7 @@ public class ProcessScheduled { permissionrulegroup.setStmp("2c9adae478fdbe15017906f93ec90266"); permissionrulegroup.setDsporder(0); permissionrulegroup.setLayoutedit("2c9a59b681805f1301818a7047300091"); - permissionrulegroup.setAdddate(dateFormat.format(new Date())); + permissionrulegroup.setAdddate(dateFormat.format(nowData)); permissionrulegroup.setAllowstaffids(kpssProcessNode6IdInfo.getNextAllowStaffids()); permissionrulegroup.setMatrixtype(0); permissionrulegroupMapper.insert(permissionrulegroup); @@ -608,17 +660,18 @@ public class ProcessScheduled { readlog.setStaffid(kpssProcessNode6IdInfo.getCurrentStaffid()); readlog.setReadnum("1"); readlog.setResid("2c9adae478fdbe15017906f73e8a0261"); - readlog.setLastaccessdate(dateFormat.format(new Date())); - readlog.setAdddate(dateFormat.format(new Date())); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(nowData); + calendar.add(Calendar.SECOND,-5); + Date time = calendar.getTime(); + readlog.setLastaccessdate(dateFormat.format(time)); + readlog.setAdddate(dateFormat.format(time)); readlogMapper.insert(readlog); log.info("readlog1111新增成功:"+readlog.toString()); readlog.setId(UUID.randomUUID().toString().replace("-","")); readlog.setStepid(kpssProcessNode6IdInfo.getNextStepid()); - Calendar calendar = Calendar.getInstance(); - calendar.setTime(new Date()); - calendar.add(Calendar.SECOND,10); - Date time = calendar.getTime(); - readlog.setAdddate(dateFormat.format(time));//加10 + + readlog.setAdddate(dateFormat.format(nowData));//加10 readlog.setLastaccessdate(dateFormat.format(time)); readlogMapper.insert(readlog); log.info("readlog22222新增成功:"+readlog.toString()); @@ -627,11 +680,12 @@ public class ProcessScheduled { LambdaQueryWrapper requestoperatorLambdaQueryWrapper = new LambdaQueryWrapper<>(); requestoperatorLambdaQueryWrapper.eq(Requestoperator::getIssubmit,0); requestoperatorLambdaQueryWrapper.eq(Requestoperator::getRequestid,processId); + requestoperatorLambdaQueryWrapper.eq(Requestoperator::getStepid,kpssProcessNode6IdInfo.getCurrentStepid()); String requestoperatorId = requestoperatorMapper.selectList(requestoperatorLambdaQueryWrapper).get(0).getId(); LambdaUpdateWrapper requestoperatorLambdaUpdateWrapper = new LambdaUpdateWrapper<>(); requestoperatorLambdaUpdateWrapper.set(Requestoperator::getIssubmit,1); - requestoperatorLambdaUpdateWrapper.set(Requestoperator::getSubmitdate,dateFormat.format(new Date())); + requestoperatorLambdaUpdateWrapper.set(Requestoperator::getSubmitdate,dateFormat.format(nowData)); requestoperatorLambdaUpdateWrapper.eq(Requestoperator::getId,requestoperatorId); requestoperatorMapper.update(null,requestoperatorLambdaUpdateWrapper); log.info("requestoperatorLambdaUpdateWrapper成功:"+requestoperatorLambdaUpdateWrapper.toString()); @@ -641,7 +695,7 @@ public class ProcessScheduled { requestoperator.setStepoperid(kpssProcessNode6IdInfo.getNextStepOperid()); requestoperator.setStaffid(kpssProcessNode6IdInfo.getNextAllowStaffids()); requestoperator.setIssubmit(0); - requestoperator.setReceivedate(dateFormat.format(new Date())); + requestoperator.setReceivedate(dateFormat.format(nowData)); requestoperator.setOpertype(1); requestoperator.setIsremind(0); requestoperator.setIsorioperator(0); @@ -650,7 +704,7 @@ public class ProcessScheduled { log.info("requestoperator新增成功:"+requestoperator.toString()); LambdaUpdateWrapper wfrequestLambdaUpdateWrapper = new LambdaUpdateWrapper<>(); - wfrequestLambdaUpdateWrapper.set(Wfrequest::getLastmodifydate,dateFormat.format(new Date())); + wfrequestLambdaUpdateWrapper.set(Wfrequest::getLastmodifydate,dateFormat.format(nowData)); wfrequestLambdaUpdateWrapper.set(Wfrequest::getLaststaffid,kpssProcessNode6IdInfo.getCurrentStaffid()); wfrequestLambdaUpdateWrapper.eq(Wfrequest::getId,processId); wfrequestMapper.update(null,wfrequestLambdaUpdateWrapper); @@ -659,22 +713,28 @@ public class ProcessScheduled { LambdaUpdateWrapper requeststatusLambdaUpdateWrapper = new LambdaUpdateWrapper<>(); requeststatusLambdaUpdateWrapper.set(Requeststatus::getStepid,kpssProcessNode6IdInfo.getNextStepid()); requeststatusLambdaUpdateWrapper.set(Requeststatus::getPrestepid,kpssProcessNode6IdInfo.getCurrentStepid()); - requeststatusLambdaUpdateWrapper.set(Requeststatus::getModifydate,dateFormat.format(new Date())); + requeststatusLambdaUpdateWrapper.set(Requeststatus::getModifydate,dateFormat.format(nowData)); requeststatusLambdaUpdateWrapper.eq(Requeststatus::getRequestid,processId); requeststatusMapper.update(null,requeststatusLambdaUpdateWrapper); log.info("requeststatusLambdaUpdateWrapper修改成功:"+requeststatusLambdaUpdateWrapper.toString()); LambdaUpdateWrapper scXglcLambdaUpdateWrapper = new LambdaUpdateWrapper<>(); - scXglcLambdaUpdateWrapper.set(ScXglc::getZhtjsj,dateFormat.format(new Date())); + scXglcLambdaUpdateWrapper.set(ScXglc::getZhtjsj,dateFormat.format(nowData)); scXglcLambdaUpdateWrapper.set(ScXglc::getZhtjr,kpssProcessNode6IdInfo.getCurrentStaffid()); scXglcLambdaUpdateWrapper.set(ScXglc::getDqjd,kpssProcessNode6IdInfo.getNextStepid()); scXglcLambdaUpdateWrapper.eq(ScXglc::getLc,processId); scXglcMapper.update(null,scXglcLambdaUpdateWrapper); log.info("scXglcLambdaUpdateWrapper修改成功:"+scXglcLambdaUpdateWrapper.toString()); log.info("流程数据更新成功,流程到财务开票"); + LambdaUpdateWrapper sendKpxxLambdaUpdateWrapper = new LambdaUpdateWrapper(); + sendKpxxLambdaUpdateWrapper.set(SendKpxx::getStatus,2);//同意是2 + sendKpxxLambdaUpdateWrapper.eq(SendKpxx::getRequestid,item.getRequestid()); + sendKpxxMapper.update(null,sendKpxxLambdaUpdateWrapper); } //退回流程 if(status ==3 ||status==5){ + + String processId = sendKpxxMapper.selectProcessId(item.getRequestid()); LambdaQueryWrapper wfrequestLambdaQueryWrapper = new LambdaQueryWrapper(); wfrequestLambdaQueryWrapper.eq(Wfrequest::getDataid,item.getRequestid()); List wfrequests = wfrequestMapper.selectList(wfrequestLambdaQueryWrapper); @@ -683,25 +743,26 @@ public class ProcessScheduled { SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); HashMap param = new HashMap<>(); param.put("reqid",item.getRequestid()); - param.put("modifyDate",dateFormat.format(new Date())); + param.put("modifyDate",dateFormat.format(nowData)); param.put("preStepid",kpssProcessNode6IdInfo.getCurrentStepid()); - param.put("creatorId",creatorid); + param.put("stepid",kpssProcessNode6IdInfo.getFriststepid()); otherMapper.updateRequeststatusBack(param); LambdaUpdateWrapper requestoperatorLambdaUpdateWrapper = new LambdaUpdateWrapper<>(); requestoperatorLambdaUpdateWrapper.ne(Requestoperator::getStepid,kpssProcessNode6IdInfo.getFriststepid()); - requestoperatorLambdaUpdateWrapper.eq(Requestoperator::getRequestid,item.getRequestid()); + requestoperatorLambdaUpdateWrapper.eq(Requestoperator::getRequestid,processId); requestoperatorMapper.delete(requestoperatorLambdaUpdateWrapper); requestoperatorLambdaUpdateWrapper.clear(); requestoperatorLambdaUpdateWrapper.set(Requestoperator::getIssubmit,0); - requestoperatorLambdaUpdateWrapper.set(Requestoperator::getReceivedate,dateFormat.format(new Date())); + requestoperatorLambdaUpdateWrapper.set(Requestoperator::getReceivedate,dateFormat.format(nowData)); requestoperatorLambdaUpdateWrapper.eq(Requestoperator::getStepid,kpssProcessNode6IdInfo.getFriststepid()); - requestoperatorLambdaUpdateWrapper.eq(Requestoperator::getRequestid,item.getRequestid()); + requestoperatorLambdaUpdateWrapper.eq(Requestoperator::getRequestid,processId); requestoperatorLambdaUpdateWrapper.set(Requestoperator::getSubmitdate,""); + requestoperatorMapper.update(null,requestoperatorLambdaUpdateWrapper); Requestlog requestlog = new Requestlog(); - requestlog.setRequestid(item.getRequestid()); + requestlog.setRequestid(processId); requestlog.setStaffid(kpssProcessNode6IdInfo.getCurrentStaffid()); requestlog.setIsedit(0); - requestlog.setCreatedate(dateFormat.format(new Date())); + requestlog.setCreatedate(dateFormat.format(nowData)); requestlog.setStepid(kpssProcessNode6IdInfo.getCurrentStepid()); requestlog.setInfo("云平台北京退回"); requestlog.setTypeinfo(kpssProcessNode6IdInfo.getFriststepid()); @@ -710,25 +771,34 @@ public class ProcessScheduled { requestlog.setNextstepid(kpssProcessNode6IdInfo.getFriststepid()); requestlogMapper.insert(requestlog); LambdaUpdateWrapper readlogLambdaUpdateWrapper = Wrappers.lambdaUpdate(); - readlogLambdaUpdateWrapper.eq(Readlog::getDataid,item.getRequestid()); + readlogLambdaUpdateWrapper.eq(Readlog::getDataid,processId); readlogLambdaUpdateWrapper.ne(Readlog::getStepid,kpssProcessNode6IdInfo.getFriststepid()); readlogMapper.delete(readlogLambdaUpdateWrapper); readlogLambdaUpdateWrapper.clear(); - readlogLambdaUpdateWrapper.eq(Readlog::getDataid,item.getRequestid()); + readlogLambdaUpdateWrapper.eq(Readlog::getDataid,processId); readlogLambdaUpdateWrapper.eq(Readlog::getStepid,kpssProcessNode6IdInfo.getFriststepid()); - readlogLambdaUpdateWrapper.set(Readlog::getLastaccessdate,dateFormat.format(new Date())); + readlogLambdaUpdateWrapper.set(Readlog::getLastaccessdate,dateFormat.format(nowData)); readlogLambdaUpdateWrapper.setSql("readnum=readnum+1"); readlogMapper.update(null,readlogLambdaUpdateWrapper); param.clear(); - param.put("resid",item.getRequestid()); - param.put("staffid",kpssProcessNode6IdInfo.getFriststepid()); + param.put("resid",processId); + param.put("staffid",creatorid); otherMapper.delPermissionuserBack(param); LambdaUpdateWrapper permissionrulegroupLambdaUpdateWrapper = new LambdaUpdateWrapper<>(); - permissionrulegroupLambdaUpdateWrapper.eq(Permissionrulegroup::getResid,item.getRequestid()); - permissionrulegroupLambdaUpdateWrapper.ne(Permissionrulegroup::getTypeid,"2c9adae478e9195d0178f3300fcc0432"); + permissionrulegroupLambdaUpdateWrapper.eq(Permissionrulegroup::getResid,processId); + permissionrulegroupLambdaUpdateWrapper.ne(Permissionrulegroup::getTypeid,kpssProcessNode6IdInfo.getProcessControlid()); permissionrulegroupMapper.delete(permissionrulegroupLambdaUpdateWrapper); - + LambdaUpdateWrapper wfrequestLambdaUpdateWrapper = new LambdaUpdateWrapper<>(); + wfrequestLambdaUpdateWrapper.set(Wfrequest::getLastmodifydate,dateFormat.format(nowData)); + wfrequestLambdaUpdateWrapper.set(Wfrequest::getLaststaffid,kpssProcessNode6IdInfo.getCurrentStaffid()); + wfrequestLambdaUpdateWrapper.eq(Wfrequest::getId,processId); + wfrequestMapper.update(null,wfrequestLambdaUpdateWrapper); + log.info("wfrequestLambdaUpdateWrapper修改成功:"+wfrequestLambdaUpdateWrapper.toString()); + LambdaUpdateWrapper sendKpxxLambdaUpdateWrapper = new LambdaUpdateWrapper(); + sendKpxxLambdaUpdateWrapper.set(SendKpxx::getStatus,3);//驳回是3 + sendKpxxLambdaUpdateWrapper.eq(SendKpxx::getRequestid,item.getRequestid()); + sendKpxxMapper.update(null,sendKpxxLambdaUpdateWrapper); } }); @@ -771,18 +841,13 @@ public class ProcessScheduled { ResponseEntity exchange = restTemplate.exchange(cancelPrjetcUrl+"/CLOSE/"+yptbh, HttpMethod.PUT, request, ResponseBeanForBeiJing.class); ResponseBeanForBeiJing beanForBeiJing = exchange.getBody(); if (!"200".equals(beanForBeiJing.getCode())){ - log.info("返回信息错误!"+beanForBeiJing.toString()); + log.info("合同取消到北京云平台失败返回信息错误!"+beanForBeiJing.toString()); return; } - if ("200".equals(beanForBeiJing.getCode())) { - Map dataMap = (Map) beanForBeiJing.getData(); - String projectNo = dataMap.get("projectNo").toString(); - HashMap paramMap = new HashMap<>(); + if ("200".equals(beanForBeiJing.getCode()) && (Boolean) beanForBeiJing.getData()==true) { otherMapper.updateSchtqx_Byid(item.get("id"));//更新状态 - log.info("合同取消到北京到北京成功"); + log.info("合同取消到北京云平台成功"); log.info(beanForBeiJing.toString()); - } else { - log.info("返回的信息是" + beanForBeiJing.toString()); } }); } diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index 8ee140f..83bf5a7 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -37,5 +37,6 @@ kpssProcessNode6IdInfo: nextAllowStaffids: "2c908da5803abfa4018064f817070161" nextStepOperid: "2c9adae4797fd663017982c00bf301e3" friststepid: "2c9adae478fdbe15017906f93ec90262" + processControlid: "2c9adae478e9195d0178f3300fcc0432" diff --git a/src/main/resources/mapper/OtherMapper.xml b/src/main/resources/mapper/OtherMapper.xml index d67ff20..89d949f 100644 --- a/src/main/resources/mapper/OtherMapper.xml +++ b/src/main/resources/mapper/OtherMapper.xml @@ -51,18 +51,18 @@ (select yptbh from sc_xmkp1 b where b.id = a.xmmc ) yptbh from sc_htqx a where - sfqx='2c9a59b68b9fd59d018cfdfe5abb5e0a' and status is null + sfqx='2c9a59b68b9fd59d018cfdfe5abb5e0a' and status is null and ssgs='ZJ' update sc_htqx set status =1 where id = #{id} - update requeststatus set stepid = #{creatorId}, + update requeststatus set stepid = #{stepid}, preStepid =#{preStepid}, - modifyDate =#{modifyDate}, + modifyDate =#{modifyDate} WHERE requestid=(select DISTINCT requestid from sc_kpsqsp where id =#{reqid}) - DELETE from Permissionuser where resid = #{resid} and staffid = #{staffid} and operate=1 + DELETE from permissionruleuser where resid = #{resid} and typeid != #{staffid} \ No newline at end of file diff --git a/src/main/resources/mapper/SendHtMapper.xml b/src/main/resources/mapper/SendHtMapper.xml index c381492..6b2837e 100644 --- a/src/main/resources/mapper/SendHtMapper.xml +++ b/src/main/resources/mapper/SendHtMapper.xml @@ -28,7 +28,10 @@ (select yptbh from sc_xmkp1 where id =project_no ) project_no, project_no as project_id, high_tech, - (select name from selectitem e WHERE e.id =winning_bid_way) winning_bid_way, + (select + case when name = '询比采购' then '公开招标' + when name = '分散市场签署' then '公开招标' + else name end as name from selectitem e WHERE e.id =winning_bid_way) winning_bid_way, contract_amount, sign_out, sign_in, @@ -38,7 +41,7 @@ operatetype, contract_id from send_ht - where status is null + where status is null AND ssgs = 'ZJ' order by addtime diff --git a/src/main/resources/mapper/SendKpxxMapper.xml b/src/main/resources/mapper/SendKpxxMapper.xml index 48f0e82..7214983 100644 --- a/src/main/resources/mapper/SendKpxxMapper.xml +++ b/src/main/resources/mapper/SendKpxxMapper.xml @@ -30,6 +30,7 @@ + @@ -63,7 +64,8 @@ status, interface_type, operatetype, - wfrequest + wfrequest, + qy from send_kpxx A where status is null order by createtime diff --git a/src/main/resources/mapper/SendXmMapper.xml b/src/main/resources/mapper/SendXmMapper.xml index a8d507a..fef563d 100644 --- a/src/main/resources/mapper/SendXmMapper.xml +++ b/src/main/resources/mapper/SendXmMapper.xml @@ -42,6 +42,7 @@ 'advisory' WHEN name ='监理加咨询' THEN 'supervision_advisory' + else 'supervision' END AS name from selectitem a where a.id=project_type) project_type, area_code, @@ -68,7 +69,7 @@ status, operatetype from send_xm - where status is null + where status is null and area_code ='ZJ' order by createtime