丽知:新增 委外采购(付款单)->采购付款申请(新) 钉钉审批实例

This commit is contained in:
zhengyf 2024-10-28 00:34:49 +08:00
parent 6b58abc666
commit c1786b7cb8
3 changed files with 39 additions and 35 deletions

View File

@ -86,11 +86,11 @@ public class PushU8CServiceImpl implements PushU8CService {
//base转文件流-上传钉盘-拿到钉盘信息可能是List集合
List<FileModuleVO> fileModuleVOList = baseTransformFile2uploadDing(djFileVO.getSysFileVOS(),tokenBody.getAccessToken(),unionid,SPACEID,SPECIAL_SERVICE_PROCESSING_FOLDER);
List<FileModuleVO> 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<StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues> 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<List<DingTableVO>> dingTableVOSMaterialList = new ArrayList<>();
for (DjzbVO.Arap_djfb children : childrens) {
List<DingTableVO> 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();

View File

@ -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){

View File

@ -8,7 +8,7 @@ public class SysFileVO {
private String fileName;
/** 文件类型 */
private String type;
/** 文件大小(kb */
/** 文件大小(B */
private String fileSize;
/** base64编码 */
private String baseCode;