diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/dingtalk/push/serivce/impl/PushU8CServiceImpl.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/dingtalk/push/serivce/impl/PushU8CServiceImpl.java index a3be531d..10f3e11a 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/dingtalk/push/serivce/impl/PushU8CServiceImpl.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/dingtalk/push/serivce/impl/PushU8CServiceImpl.java @@ -86,11 +86,11 @@ public class PushU8CServiceImpl implements PushU8CService { //base转文件流-上传钉盘-拿到钉盘信息。可能是List集合 - List fileModuleVOList = baseTransformFile2uploadDing(djFileVO.getSysFileVOS(),tokenBody.getAccessToken(),unionid,SPACEID,SPECIAL_SERVICE_PROCESSING_FOLDER); + List fileModuleVOList = baseTransformFile2uploadDing(djFileVO.getSysFileVOS(),tokenBody.getAccessToken(),unionid,SPACEID,PURCHASE_PAYMENT_REQUEST_NEW_FOLDER); System.out.println(fileModuleVOList); //推送钉钉--》发起审批实例 - excuteDingTalkOutSource(tokenBody.getAccessToken(),SPECIAL_SERVICE_PROCESSING,djFileVO.getDjzbVO(),fileModuleVOList); + excuteDingTalkOutSource(tokenBody.getAccessToken(),PURCHASE_PAYMENT_REQUEST_NEW,djFileVO.getDjzbVO(),fileModuleVOList); @@ -186,35 +186,40 @@ public class PushU8CServiceImpl implements PushU8CService { //formComponentValues-->表单数据内容,控件列表,最大列表长度:150。 List form = new ArrayList<>(); -// form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("费用归属公司").setValue(parentvo.getExternal_org_name())); -// form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("费用归属部门(选择至末级部门)").setValue(parentvo.getExternal_org_name())); -// form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("品牌").setValue(parentvo.getExternal_org_name())); -// form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("费用所属类目").setValue(parentvo.getExternal_org_name())); -// form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("付款类型").setValue(parentvo.getExternal_org_name())); -// form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("付款比例").setValue(parentvo.getExternal_org_name())); -// form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("类目所属(供应链)").setValue(parentvo.getExternal_org_name())); -// form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("项目编号").setValue(parentvo.getExternal_org_name())); -// form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("项目名称").setValue(parentvo.getExternal_org_name())); -// form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("类型").setValue(parentvo.getExternal_org_name())); + form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("费用归属公司").setValue("1")); + form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("费用归属部门(选择至末级部门)").setValue("1")); + form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("品牌").setValue("1")); + form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("费用所属类目").setValue("1")); + form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("付款类型").setValue("1")); + form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("付款比例").setValue("1")); + form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("类目所属(供应链)").setValue("1")); + form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("项目编号").setValue("1")); + form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("项目名称").setValue("1")); + form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("类型").setValue("1")); //列表 List> dingTableVOSMaterialList = new ArrayList<>(); for (DjzbVO.Arap_djfb children : childrens) { List dingTableVOS = new ArrayList<>(); -// dingTableVOS.add(new DingTableVO("存货分类", children.getDate_property_name())); -// dingTableVOS.add(new DingTableVO("产品名称", children.getDate_property_name())); -// dingTableVOS.add(new DingTableVO("产品数量", children.getDate_property_name())); -// dingTableVOS.add(new DingTableVO("付款金额(元)", children.getDate_property_name())); -// dingTableVOS.add(new DingTableVO("税率", children.getDate_property_name())); + dingTableVOS.add(new DingTableVO("存货分类", "2")); + dingTableVOS.add(new DingTableVO("产品名称", "2")); + dingTableVOS.add(new DingTableVO("产品数量", "2")); + dingTableVOS.add(new DingTableVO("付款金额(元)", "665")); + dingTableVOS.add(new DingTableVO("税率", "13")); + dingTableVOSMaterialList.add(dingTableVOS); } -// form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("开票抬头").setValue(parentvo.getExternal_org_name())); -// form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("开票方").setValue(parentvo.getExternal_org_name())); -// form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("对方类型").setValue(parentvo.getExternal_org_name())); -// form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("支付方式-银行").setValue(parentvo.getExternal_org_name())); -// form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("银行支行名称").setValue(parentvo.getExternal_org_name())); -// form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("申请支付日期").setValue(parentvo.getExternal_org_name())); -// form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("备注").setValue(parentvo.getExternal_org_name())); + form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("付款明细").setValue(JSONUtil.toJsonStr(dingTableVOSMaterialList))); + + form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("开票抬头").setValue("1")); + form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("开票方").setValue("1")); + form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("对方类型").setValue("1")); + form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("支付方式-银行").setValue("1")); + form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("银行支行名称").setValue("1")); + form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("申请支付日期").setValue("2024-10-27")); + form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("备注").setValue("1")); //附件 - form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("附件").setValue(JSONUtil.toJsonStr(fileModuleVOList))); +// form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("上传相关附件(业务相关证明、关联原合同审批件)").setValue(JSONUtil.toJsonStr(fileModuleVOList))); +// form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setComponentType("DDAttachment").setId("DDAttachment_1PDRXW3QT4G00").setName("上传相关附件(业务相关证明、关联原合同审批件)").setValue(JSONUtil.toJsonStr(fileModuleVOList))); + form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setComponentType("DDAttachment").setId("DDAttachment_1PDRXW3QT4G00").setName("上传相关附件").setValue(JSONUtil.toJsonStr(fileModuleVOList))); /** @@ -227,13 +232,13 @@ public class PushU8CServiceImpl implements PushU8CService { * approvers-->不使用审批流模板时,直接指定的审批人列表,最大列表长度:20。 * formComponentValues-->表单数据内容,控件列表,最大列表长度:150。 */ - StartProcessInstanceResponse startProcessInstanceResponse = DingTalkUtils.InitiateApprovalInstance(accessToken, "6715600736721738", processCode, 1L, Long.valueOf(U8C_TEST_AGENTID), null, form); + StartProcessInstanceResponse startProcessInstanceResponse = DingTalkUtils.InitiateApprovalInstance(accessToken, "6715600736721738", processCode, -1L, Long.valueOf(U8C_TEST_AGENTID), null, form); JSONObject jsonObject = JSONUtil.parseObj(startProcessInstanceResponse); String statusCode = jsonObject.get("statusCode").toString(); - if (!statusCode.equals("200")) { - Assert.state(false, "问题记录:推送钉钉审批实例失败。失败原因:{}", JSONUtil.toJsonStr(jsonObject.get("body"))); + if (statusCode!=null&&!statusCode.equals("200")) { + Assert.state(false, "委外采购(付款单)->采购付款申请(新):推送钉钉审批实例失败。失败原因:{}", JSONUtil.toJsonStr(jsonObject.get("body"))); } - logger.info("推送钉钉-->发起审批实例-->执行成功"); + logger.info("推送钉钉-->发起审批实例:委外采购(付款单)->采购付款申请(新)-->执行成功"); //审批实例id String instanceId = JSONUtil.parseObj(jsonObject.get("body")).get("instanceId").toString(); diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/dingtalk/utils/FileUtil.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/dingtalk/utils/FileUtil.java index e2813a90..fa5af0d2 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/dingtalk/utils/FileUtil.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/dingtalk/utils/FileUtil.java @@ -86,7 +86,7 @@ public class FileUtil { } //2.3调用提交文件接口,完成文件上传。 CommitFileRequest.CommitFileRequestOptionAppProperties commitFileRequestOptionAppProperties = new CommitFileRequest.CommitFileRequestOptionAppProperties(); - commitFileRequestOptionAppProperties.setName(fileVO.getFileName()); + commitFileRequestOptionAppProperties.setName(fileVO.getFileName()+"."+fileVO.getType()); commitFileRequestOptionAppProperties.setValue(fileVO.getFileName()); commitFileRequestOptionAppProperties.setVisibility("PUBLIC");//属性可见性。 - PUBLIC:所有应用都可见 - PRIVATE:仅限当前应用可见 @@ -98,10 +98,9 @@ public class FileUtil { //4.组装钉钉文件控件-->"[{\"spaceId\": \"163xxxx658\", \"fileName\": \"2644.JPG\", \"fileSize\": \"333\", \"fileType\": \"jpg\", \"fileId\": \"643xxxx140\"}]" fileModuleVO.setSpaceId(spaceId); - fileModuleVO.setFileName(fileVO.getFileName()); - fileModuleVO.setFileSize(String.valueOf(fileVO.getFileSize())); - String s = StringUtils.substringAfter(fileVO.getFileName(), "."); - fileModuleVO.setFileType(s);//取后缀 + fileModuleVO.setFileName(fileVO.getFileName()+"."+fileVO.getType()); + fileModuleVO.setFileSize(fileVO.getFileSize()); + fileModuleVO.setFileType(fileVO.getType());//取后缀 fileModuleVO.setFileId(dingFileUniqueId); }catch (Exception e){ diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/dingtalk/vo/SysFileVO.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/dingtalk/vo/SysFileVO.java index 840335f3..30e6a783 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/dingtalk/vo/SysFileVO.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/dingtalk/vo/SysFileVO.java @@ -8,7 +8,7 @@ public class SysFileVO { private String fileName; /** 文件类型 */ private String type; - /** 文件大小(kb) */ + /** 文件大小(B) */ private String fileSize; /** base64编码 */ private String baseCode;