123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321 |
- package com.malk.taisen.controller;
- /**
- * 错误抛出与拦截详见 CatchException
- */
- import com.alibaba.fastjson.JSON;
- import com.malk.server.aliwork.YDConf;
- import com.malk.server.aliwork.YDParam;
- import com.malk.server.common.McException;
- import com.malk.server.common.McR;
- import com.malk.server.dingtalk.DDR_New;
- import com.malk.service.aliwork.YDClient;
- import com.malk.service.aliwork.YDService;
- import com.malk.utils.UtilDateTime;
- import com.malk.utils.UtilMap;
- import com.malk.utils.UtilServlet;
- import com.malk.utils.UtilString;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.PostMapping;
- import org.springframework.web.bind.annotation.RequestBody;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RestController;
- import javax.servlet.http.HttpServletRequest;
- import java.util.Collections;
- import java.util.Date;
- import java.util.List;
- import java.util.Map;
- import java.util.stream.Collectors;
- @Slf4j
- @RestController
- @RequestMapping
- public class TSController {
- @Autowired
- private YDClient ydClient;
- @Autowired
- private YDConf ydConf;
- @Autowired
- private YDService ydService;
- /**
- * 保存提交版本
- */
- @PostMapping("backend")
- McR backend(HttpServletRequest request) {
- Map data = UtilServlet.getParamMap(request);
- log.info("保存提交版本, {}", data);
- McException.assertParamException_Null(data, "instanceId, type");
- if ("手动同步".equals(data.get("type"))) {
- return McR.success();
- }
- // type 自动备份: 原报销单提交后同步, 手动同步: 版本备份报价单提交后更新
- String instanceId = String.valueOf(data.get("instanceId"));
- String updateInstanceId = String.valueOf(data.get("updateInstanceId"));
- Map update = UtilMap.map("radioField_lp9wi7lb, textField_lowp416t", data.get("type"), instanceId);
- ydService.mirrorFormData(instanceId, "FORM-L8966281S0WF1JA4AWGDM4QC94TS2E3US8WOLO5", "TPROC--L896628148XFT9KDB3IHI5M14A8W2V7US8WOL1", update, updateInstanceId);
- return McR.success();
- }
- /**
- * 恢复报销明细
- */
- @PostMapping("recover")
- McR recover(@RequestBody Map<String, String> data) {
- String cId = data.get("cId");
- String sId = data.get("sId");
- Map formData = ydClient.queryData(YDParam.builder()
- .formInstanceId(cId)
- .build(),
- YDConf.FORM_QUERY.retrieve_id).getFormData();
- List<Map> details = ((List<Map>) formData.get("tableField_l6lmxo5r")).stream().map(item -> {
- item.put("associationFormField_l6vk2yxg", JSON.parse(String.valueOf(item.get("associationFormField_l6vk2yxg_id"))));
- item.put("associationFormField_l6napwww", JSON.parse(String.valueOf(item.get("associationFormField_l6napwww_id"))));
- return item;
- }).collect(Collectors.toList());
- Map updateForm = UtilMap.map("tableField_l6lmxo5r, associationFormField_l83trmls", details, JSON.parse(String.valueOf(formData.get("associationFormField_l83trmls"))));
- ydClient.operateData(YDParam.builder()
- .formInstanceId(sId)
- .updateFormDataJson(JSON.toJSONString(updateForm)).build(), YDConf.FORM_OPERATION.update);
- return McR.success(formData);
- }
- ///// 数据修复
- @PostMapping("test11")
- McR test11() {
- // 丢行处理
- // 孙静
- // String tId = "f54bb1ab-e989-4b61-ad9b-7cd9e2dab69b";
- // String sId = "62f796fd-b35d-4db8-85ad-c14dbc2050ad";
- // 陈黛珠
- // String tId = "96af9edc-83cb-4027-9687-8ec0e1cbd4eb";
- // String sId = "5005d16d-a392-43a6-bdcb-c1ae93d30deb";
- // 陈豹
- // String tId = "640cff6e-89fb-4d50-9c45-aa2fcf8b06d5";
- // String sId = "13dfaba7-7f27-4f51-bcb6-5c8d71b758c1";
- //
- String tId = "7cd24af9-2ab2-4c70-b723-4db5b75089e4";
- String sId = "06aec1b9-7023-49aa-b607-cacafae6f9f6";
- Map formData = ydClient.queryData(YDParam.builder()
- .formInstanceId(tId)
- .build(),
- YDConf.FORM_QUERY.retrieve_id).getFormData();
- List<Map> details = ((List<Map>) formData.get("tableField_l6lmxo5r")).stream().map(item -> {
- item.put("associationFormField_l6vk2yxg", JSON.parse(item.get("associationFormField_l6vk2yxg_id").toString()));
- item.put("associationFormField_l6napwww", JSON.parse(String.valueOf(item.get("associationFormField_l6napwww_id"))));
- // 关联申请
- // List<Map> dataList = (List<Map>) ydClient.queryData(YDParam.builder()
- // .formUuid("FORM-78766VC1KTX2HZQ6E6IR3CYXWUFU3RO8RGN6L6")
- // .searchFieldJson(JSON.toJSONString(UtilMap.map("employeeField_l82gi80j, numberField_l6ngrh2h", formData.get("employeeField_l843wfsm_id"), Arrays.asList(item.get("numberField_l6lmxo60"), item.get("numberField_l6lmxo60")))))
- // .build(),
- // YDConf.FORM_QUERY.retrieve_search_form).getData();
- // item.put("associationFormField_l6napwww", ydConf.associationForm("FORM-78766VC1KTX2HZQ6E6IR3CYXWUFU3RO8RGN6L6", dataList.get(0).get("formInstanceId").toString(), "深圳", null, false));
- return item;
- }).collect(Collectors.toList());
- Map updateForm = UtilMap.map("tableField_l6lmxo5r", details);
- ydClient.operateData(YDParam.builder()
- .formInstanceId(sId)
- .updateFormDataJson(JSON.toJSONString(updateForm)).build(), YDConf.FORM_OPERATION.update);
- return McR.success(formData);
- }
- // 当前表税率为0处理
- @PostMapping("test13")
- McR test13() {
- String fid = "6f565a2f-a605-4f01-93c2-db177e2118c5";
- Map formData = ydClient.queryData(YDParam.builder()
- .formInstanceId(fid)
- .build(), YDConf.FORM_QUERY.retrieve_id).getFormData();
- List<Map> details = (List<Map>) formData.get("tableField_l6lmxo5r");
- details.forEach(item -> {
- if (UtilString.isBlankCompatNull(String.valueOf(item.get("numberField_l6lmxo61")))) {
- item.put("numberField_l6lmxo61", 0);
- }
- item.put("associationFormField_l6vk2yxg", JSON.parse(String.valueOf(item.get("associationFormField_l6vk2yxg_id"))));
- item.put("associationFormField_l6napwww", JSON.parse(String.valueOf(item.get("associationFormField_l6napwww_id"))));
- log.info("xxxx, {}", item.get("numberField_l6lmxo61"));
- });
- Map updateForm = UtilMap.map("tableField_l6lmxo5r", details);
- ydClient.operateData(YDParam.builder()
- .formInstanceId(fid)
- .updateFormDataJson(JSON.toJSONString(updateForm)).build(), YDConf.FORM_OPERATION.update);
- return McR.success(updateForm);
- }
- // 修改报销金额
- @PostMapping("test15")
- McR test15() {
- String fid = "6f565a2f-a605-4f01-93c2-db177e2118c5";
- Map formData = ydClient.queryData(YDParam.builder()
- .formInstanceId(fid)
- .build(), YDConf.FORM_QUERY.retrieve_id).getFormData();
- List<Map> details = (List<Map>) formData.get("tableField_l6lmxo5r");
- details.forEach(item -> {
- if (UtilMap.getFloat(item, "numberField_l6napwwi") == 146.66f || UtilMap.getFloat(item, "numberField_l6napwwi") == 235f || UtilMap.getFloat(item, "numberField_l6napwwi") == 162.66f) {
- item.put("numberField_l6napwwi", 0);
- }
- item.put("associationFormField_l6vk2yxg", JSON.parse(String.valueOf(item.get("associationFormField_l6vk2yxg_id"))));
- item.put("associationFormField_l6napwww", JSON.parse(String.valueOf(item.get("associationFormField_l6napwww_id"))));
- log.info("xxxx, {}", item.get("numberField_l6napwwi"));
- });
- details = details.stream().filter(item -> UtilMap.getFloat(item, "numberField_l6napwwi") > 0f).collect(Collectors.toList());
- Map updateForm = UtilMap.map("tableField_l6lmxo5r, numberField_l6lmxo6h, textField_l6bynqte", details, 1788, "壹仟柒佰捌拾捌元整");
- ydClient.operateData(YDParam.builder()
- .formInstanceId(fid)
- .updateFormDataJson(JSON.toJSONString(updateForm)).build(), YDConf.FORM_OPERATION.update);
- return McR.success(updateForm);
- }
- // 变更记录
- @PostMapping("changed")
- McR changed() {
- for (int i = 1; i <= 55; i++) {
- List<Map> dataList = (List<Map>) ydClient.queryData(YDParam.builder()
- .formUuid("FORM-UX866Q61LRK2LACIB8A6M6T1ZOLM2VY5NYB6LZ")
- .pageNumber(i)
- .currentPage(i)
- .build(), YDConf.FORM_QUERY.retrieve_search_form).getData();
- Map<String, List<Map>> record = ydClient.queryData(YDParam.builder()
- .formUuid("FROM-UX866Q61LRK2LACIB8A6M6T1ZOLM2VY5NYB6LZ")
- .formInstanceIdList(dataList.stream().map(item -> String.valueOf(item.get("formInstanceId"))).collect(Collectors.toList()))
- .build(), YDConf.FORM_QUERY.retrieve_changed).getOperationLogMap();
- for (String id : record.keySet()) {
- Map form = dataList.stream().filter(item -> item.get("formInstanceId").equals(id)).findAny().get();
- Map data = (Map) form.get("formData");
- Map formData = UtilMap.map("associationFormField_lnukdrl8", ydConf.associationForm("FORM-UX866Q61LRK2LACIB8A6M6T1ZOLM2VY5NYB6LZ", id, String.valueOf(form.get("title")), null, true));
- formData.put("textField_lnulmox7", data.get("textField_l7a7bf8d"));
- formData.put("employeeField_lnulmox8", data.get("employeeField_l843wfsm_id"));
- List<Map> details = record.get(id).stream().map(item -> UtilMap.map("textField_lnukfzeh, textField_lnukfzei, textField_lnukfzej, textField_lnukfzel, textField_lnukfzek, textField_lnukfzem",
- item.get("currentText"), item.get("preText"), item.get("gmtModified"), item.get("componentName"), item.get("operationType"), UtilMap.getMap(item, "operator").get("displayName")))
- .collect(Collectors.toList());
- formData.put("tableField_lnukfzeg", details);
- ydClient.operateData(YDParam.builder()
- .formUuid("FORM-4W8667D1440FEE4PFEX586YVOCEN3EXFDKUNLB1")
- .formDataJson(JSON.toJSONString(formData))
- .build(), YDConf.FORM_OPERATION.create);
- }
- }
- return McR.success();
- }
- /// 广舜临时修改
- @PostMapping("gc")
- McR gc() {
- // ydClient.operateData(YDParam.builder()
- // .formInstanceId("39e50d18-fcd4-4b19-b825-23d421a255ff")
- // .updateFormDataJson(JSON.toJSONString(UtilMap.map("textField_llalwnd7", "HA0051C")))
- // .build(), YDConf.FORM_OPERATION.update);
- List<Map> dataList = (List<Map>) ydClient.queryData(YDParam.builder()
- .formUuid("FORM-08866RA1SPVC8CISDK79NBIXH4ZT3CBF61MKL0")
- .dynamicOrder(JSON.toJSONString(UtilMap.map("gmt_create", "+")))
- .build(), YDConf.FORM_QUERY.retrieve_search_process).getData();
- Collections.reverse(dataList);
- int i = 1;
- for (Map formData : dataList) {
- String newS = String.valueOf(UtilMap.getMap(formData, "data").get("textField_llalwnd7"));
- if (UtilMap.getMap(formData, "data").containsKey("textField_lmu9nuzp")) {
- newS += "-" + String.valueOf(UtilMap.getMap(formData, "data").get("textField_lmu9nuzp"));
- } else {
- newS += "-" + "M";
- }
- if (i > 9) {
- newS += "00" + i;
- } else {
- newS += "000" + i;
- }
- newS += UtilDateTime.format(new Date(Long.valueOf(String.valueOf(UtilMap.getMap(formData, "data").get("dateField_llabt1ft")))), "yyMMdd");
- log.info("xxxx, {}, ", newS);
- ydClient.operateData(YDParam.builder()
- .formInstanceId(String.valueOf(formData.get("processInstanceId")))
- .updateFormDataJson(JSON.toJSONString(UtilMap.map("textField_lkkmaxdw, serialNumberField_lnlu5r43", newS, newS)))
- .build(), YDConf.FORM_OPERATION.update);
- i++;
- //
- }
- return McR.success();
- }
- @PostMapping("test")
- McR test(String id, @RequestBody Map data) {
- id = "27791e35-0ade-4f58-91ac-0eb62f8db9b6";
- // String fd = "FORM-56666571H80F5YH6B53L8AMCU02I2HLC4KLNL5"; // 测试
- // String pd = "TPROC--56666571H80F5YH6B53L8AMCU02I29QC4KLNL6";
- String fd = "FORM-UX866Q61LRK2LACIB8A6M6T1ZOLM2VY5NYB6LZ"; // 正式
- String pd = "TPROC--UX866Q61LRK2LACIB8A6M6T1ZOLM2YY5NYB6L01";
- // 重新审批: selectField_lo6wzjxo, 流程结束:selectField_lo6wzjxp
- // Object rsp = ydService.mirrorFormData(id, fd, pd, UtilMap.map("selectField_lo6wzjxo, employeeField_lo6wzjxm, employeeField_lo6wzjxn", "是", Arrays.asList("112743683235841523"), Arrays.asList("112743683235841523")));
- Object rsp = ydService.mirrorFormData(id, fd, pd, UtilMap.map("selectField_lo6wzjxo, radioField_l8k1azrt", "是", "是"), null);
- return McR.success(rsp);
- }
- @PostMapping("exist")
- DDR_New exist(@RequestBody Map data) {
- DDR_New ddr_new = ydClient.queryData(YDParam.builder()
- .formUuid(String.valueOf(data.get("formUuid")))
- .searchFieldJson(JSON.toJSONString(data.get("conditions")))
- .build(), YDConf.FORM_QUERY.retrieve_search_form);
- return ddr_new;
- }
- }
|