From 5c64323154fa3a0ec7ce3189044483883720e6ce Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期二, 29 八月 2023 12:06:34 +0800
Subject: [PATCH] 优化采购流程
---
service-common/src/main/java/com/java110/common/cmd/auditUser/ListAuditHistoryOrdersCmd.java | 133 ++++++++++++++++++++++++++++++++------------
1 files changed, 97 insertions(+), 36 deletions(-)
diff --git a/service-common/src/main/java/com/java110/common/cmd/auditUser/ListAuditHistoryOrdersCmd.java b/service-common/src/main/java/com/java110/common/cmd/auditUser/ListAuditHistoryOrdersCmd.java
index be2738f..95b6879 100644
--- a/service-common/src/main/java/com/java110/common/cmd/auditUser/ListAuditHistoryOrdersCmd.java
+++ b/service-common/src/main/java/com/java110/common/cmd/auditUser/ListAuditHistoryOrdersCmd.java
@@ -5,12 +5,19 @@
import com.java110.core.context.ICmdDataFlowContext;
import com.java110.core.event.cmd.Cmd;
import com.java110.core.event.cmd.CmdEvent;
+import com.java110.dto.itemRelease.ItemReleaseDto;
+import com.java110.dto.oaWorkflow.OaWorkflowDto;
+import com.java110.dto.oaWorkflow.WorkflowDto;
import com.java110.dto.purchase.PurchaseApplyDto;
import com.java110.dto.audit.AuditUser;
+import com.java110.intf.common.IOaWorkflowActivitiInnerServiceSMO;
import com.java110.intf.common.IResourceEntryStoreInnerServiceSMO;
+import com.java110.intf.oa.IOaWorkflowInnerServiceSMO;
+import com.java110.intf.store.IPurchaseApplyInnerServiceSMO;
import com.java110.utils.exception.CmdException;
import com.java110.utils.util.Assert;
import com.java110.utils.util.BeanConvertUtil;
+import com.java110.vo.ResultVo;
import com.java110.vo.api.resourceOrder.ApiResourceOrderDataVo;
import com.java110.vo.api.resourceOrder.ApiResourceOrderVo;
import org.springframework.beans.factory.annotation.Autowired;
@@ -26,6 +33,15 @@
@Autowired
private IResourceEntryStoreInnerServiceSMO resourceEntryStoreInnerServiceSMOImpl;
+
+ @Autowired
+ private IOaWorkflowActivitiInnerServiceSMO oaWorkflowUserInnerServiceSMOImpl;
+
+ @Autowired
+ private IOaWorkflowInnerServiceSMO oaWorkflowInnerServiceSMOImpl;
+
+ @Autowired
+ private IPurchaseApplyInnerServiceSMO purchaseApplyInnerServiceSMOImpl;
@Override
public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException {
Assert.hasKeyAndValue(reqJson, "storeId", "蹇呭~锛岃濉啓鍟嗘埛ID");
@@ -38,50 +54,95 @@
@Override
public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException {
- AuditUser auditUser = new AuditUser();
- auditUser.setUserId(reqJson.getString("userId"));
- auditUser.setPage(reqJson.getInteger("page"));
- auditUser.setRow(reqJson.getInteger("row"));
- auditUser.setStoreId(reqJson.getString("storeId"));
- //閲囪喘宸插姙锛堥粯璁ゅ彧鏌ヨ鍜屽綋鍓嶇櫥褰曠敤鎴风浉鍏冲苟涓旀槸鍙備笌娴佺▼瀹℃壒鎴栬�呰嚜宸辨彁浜ゅ凡缁忕粨鏉熺殑瀹℃壒鏁版嵁锛�
- long count = resourceEntryStoreInnerServiceSMOImpl.getUserHistoryTaskCount(auditUser);
- List<ApiResourceOrderDataVo> auditOrders = null;
- if (count > 0) {
- List<PurchaseApplyDto> purchaseApplyDtos = resourceEntryStoreInnerServiceSMOImpl.getUserHistoryTasks(auditUser);
- auditOrders = BeanConvertUtil.covertBeanList(purchaseApplyDtos, ApiResourceOrderDataVo.class);
- for (ApiResourceOrderDataVo apiResourceOrderDataVo : auditOrders) {
- switch (apiResourceOrderDataVo.getState()) {
- case "1000":
- apiResourceOrderDataVo.setStateName("鏈鏍�");
- break;
- case "1001":
- apiResourceOrderDataVo.setStateName("瀹℃牳涓�");
- break;
- case "1002":
- apiResourceOrderDataVo.setStateName("宸插鏍�");
- break;
- }
- if (apiResourceOrderDataVo.getResOrderType().equals("10000")) {
- apiResourceOrderDataVo.setResOrderTypeName("閲囪喘鐢宠");
- } else {
- apiResourceOrderDataVo.setResOrderTypeName("鍑哄簱鐢宠");
- }
+ String userId = context.getReqHeaders().get("user-id");
+ String storeId = context.getReqHeaders().get("store-id");
- }
- } else {
- auditOrders = new ArrayList<>();
+ OaWorkflowDto oaWorkflowDto = new OaWorkflowDto();
+ oaWorkflowDto.setState(OaWorkflowDto.STATE_COMPLAINT);
+ oaWorkflowDto.setFlowType(OaWorkflowDto.FLOW_TYPE_PURCHASE_APPLY);
+ List<OaWorkflowDto> oaWorkflowDtos = oaWorkflowInnerServiceSMOImpl.queryOaWorkflows(oaWorkflowDto);
+
+ if (oaWorkflowDtos == null || oaWorkflowDtos.size() < 1) {
+ return;
+ }
+ List<String> flowIds = new ArrayList<>();
+ for (OaWorkflowDto tmpOaWorkflowDto : oaWorkflowDtos) {
+ flowIds.add(WorkflowDto.DEFAULT_PROCESS + tmpOaWorkflowDto.getFlowId());
}
- ApiResourceOrderVo apiResourceOrderVo = new ApiResourceOrderVo();
+ AuditUser auditUser = new AuditUser();
+ auditUser.setProcessDefinitionKeys(flowIds);
+ auditUser.setUserId(userId);
+ auditUser.setStoreId(storeId);
+ auditUser.setPage(reqJson.getInteger("page"));
+ auditUser.setRow(reqJson.getInteger("row"));
- apiResourceOrderVo.setTotal((int) count);
- apiResourceOrderVo.setRecords((int) Math.ceil((double) count / (double) reqJson.getInteger("row")));
- apiResourceOrderVo.setResourceOrders(auditOrders);
+ long count = oaWorkflowUserInnerServiceSMOImpl.getDefinitionKeysUserHistoryTaskCount(auditUser);
- ResponseEntity<String> responseEntity = new ResponseEntity<String>(JSONObject.toJSONString(apiResourceOrderVo), HttpStatus.OK);
+ List<JSONObject> datas = null;
+ if (count > 0) {
+ datas = oaWorkflowUserInnerServiceSMOImpl.getDefinitionKeysUserHistoryTasks(auditUser);
+ //鍒锋柊 琛ㄥ崟鏁版嵁
+ refreshFormData(datas, reqJson,storeId);
+ } else {
+ datas = new ArrayList<>();
+ }
+
+ ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) reqJson.getInteger("row")), count, datas);
+
+ ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
context.setResponseEntity(responseEntity);
}
+
+ private void refreshFormData(List<JSONObject> datas, JSONObject paramIn,String storeId) {
+
+ List<String> ids = new ArrayList<>();
+ for (JSONObject data : datas) {
+ ids.add(data.getString("id"));
+ }
+ if (ids.size() < 1) {
+ return;
+ }
+
+ //鏌ヨ 鎶曡瘔淇℃伅
+ PurchaseApplyDto purchaseApplyDto = new PurchaseApplyDto();
+ purchaseApplyDto.setStoreId(storeId);
+ purchaseApplyDto.setApplyOrderIds(ids.toArray(new String[ids.size()]));
+ List<PurchaseApplyDto> tmpPurchaseApplyDtos = purchaseApplyInnerServiceSMOImpl.queryPurchaseApplyAndDetails(purchaseApplyDto);
+
+ if (tmpPurchaseApplyDtos == null || tmpPurchaseApplyDtos.size() < 1) {
+ return;
+ }
+
+ for (PurchaseApplyDto tmpPurchaseApplyDto : tmpPurchaseApplyDtos) {
+ switch (tmpPurchaseApplyDto.getState()) {
+ case "1000":
+ tmpPurchaseApplyDto.setStateName("寰呭鏍�");
+ break;
+ case "1001":
+ tmpPurchaseApplyDto.setStateName("瀹℃牳涓�");
+ break;
+ case "1002":
+ tmpPurchaseApplyDto.setStateName("宸插鏍�");
+ break;
+ }
+ if (tmpPurchaseApplyDto.getResOrderType().equals("10000")) {
+ tmpPurchaseApplyDto.setResOrderTypeName("閲囪喘鐢宠");
+ } else {
+ tmpPurchaseApplyDto.setResOrderTypeName("鍑哄簱鐢宠");
+ }
+
+
+ }
+ for (JSONObject data : datas) {
+ for (PurchaseApplyDto form : tmpPurchaseApplyDtos) {
+ if (data.getString("id").equals(form.getApplyOrderId())) {
+ data.putAll(BeanConvertUtil.beanCovertJson(form));
+ }
+ }
+ }
+ }
}
--
Gitblit v1.8.0