java110 лет назад: 6
Родитель
Сommit
7207e75881

+ 1 - 0
java110-bean/src/main/java/com/java110/dto/purchaseApply/PurchaseApplyDto.java

@@ -21,6 +21,7 @@ public class PurchaseApplyDto extends PageDto implements Serializable {
     public static final String RES_ORDER_TYPE_OUT = "20000"; //出库
 
     public static final String STATE_WAIT_DEAL = "1000"; // 等待处理
+    public static final String STATE_DEALING = "1001"; // 审核中
 
     private String resOrderType;
     private String description;

+ 19 - 1
java110-bean/src/main/java/com/java110/vo/api/resourceOrder/ApiResourceOrderDataVo.java

@@ -1,7 +1,6 @@
 package com.java110.vo.api.resourceOrder;
 
 import java.io.Serializable;
-import java.util.Date;
 
 public class ApiResourceOrderDataVo implements Serializable {
 
@@ -10,6 +9,9 @@ public class ApiResourceOrderDataVo implements Serializable {
 
     private String taskId;
 
+    private String userId;
+    private String userName;
+
 
     //订单ID
     private String applyOrderId;
@@ -118,4 +120,20 @@ public class ApiResourceOrderDataVo implements Serializable {
     public void setStateName(String stateName) {
         this.stateName = stateName;
     }
+
+    public String getUserId() {
+        return userId;
+    }
+
+    public void setUserId(String userId) {
+        this.userId = userId;
+    }
+
+    public String getUserName() {
+        return userName;
+    }
+
+    public void setUserName(String userName) {
+        this.userName = userName;
+    }
 }

+ 5 - 9
java110-db/src/main/resources/mapper/center/CenterServiceDAOImplMapper.xml

@@ -71,7 +71,7 @@
     <update id="updateOrderItem" parameterType="Map">
         update c_order_item t
         set t.finish_time = #{finishTime},
-             t.status_cd = #{statusCd}
+        t.status_cd = #{statusCd}
         where t.o_id = #{oId}
         <if test="bId !=null and bId != ''">
             and t.b_id = #{bId}
@@ -87,7 +87,6 @@
     </update>
 
 
-
     <!-- 保存订单项信息 c_business -->
     <insert id="saveBusiness" parameterType="Map">
         <![CDATA[
@@ -119,14 +118,11 @@
     </update>
     <!-- 更新订单项信息(一般就更新订单项状态)-->
     <update id="updateBusiness" parameterType="Map">
-        <![CDATA[
 
-                    update c_business cb set
-                    cb.status_cd=#{statusCd},
-                    cb.finish_time=#{finishTime}
-                    where cb.o_id=#{oId}
-
-        ]]>
+        update c_business cb set
+        cb.status_cd=#{statusCd},
+        cb.finish_time=#{finishTime}
+        where cb.o_id=#{oId}
     </update>
     <!--根据bId 修改业务项信息-->
     <update id="updateBusinessByBId" parameterType="Map">

+ 12 - 2
java110-db/src/main/resources/mapper/store/PurchaseApplyServiceDaoImplMapper.xml

@@ -191,7 +191,8 @@
             t.end_user_name,
             t.end_user_tel,
             t.end_user_name endUserName,
-            t.end_user_tel endUserTel
+            t.end_user_tel endUserTel,
+            t.description
         from purchase_apply t
         inner join t_dict d on t.state = d.status_cd and d.table_name = 'purchase_apply' and d.table_columns = 'state'
         where 1 =1
@@ -204,6 +205,14 @@
         <if test="applyOrderId !=null and applyOrderId != ''">
             and t.apply_order_id= #{applyOrderId}
         </if>
+
+        <if test="applyOrderIds !=null ">
+            and t.apply_order_id in
+            <foreach open="(" close=")"
+                     separator="," collection="applyOrderIds" item="item">
+                #{item}
+            </foreach>
+        </if>
         <if test="userName !=null and userName != ''">
             and t.user_name like concat('%',#{userName},'%')
         </if>
@@ -292,8 +301,9 @@
             r.res_name resName,r.res_code resCode,
             r.price,r.stock
         from
-            purchase_apply_detail p inner join resource_store r on p.res_id = r.res_id
+            purchase_apply_detail p inner join resource_store r on p.res_id = r.res_id and r.status_cd = '0'
         where 1=1
+        and p.status_cd = '0'
         <if test="applyOrderIds !=null">
             and p.apply_order_id in
             <foreach collection="applyOrderIds" item="item" open="(" close=")" separator=",">

+ 1 - 0
service-api/src/main/java/com/java110/api/listener/auditOrder/ListAuditOrdersListener.java

@@ -73,6 +73,7 @@ public class ListAuditOrdersListener extends AbstractServiceApiListener {
         auditUser.setUserId(reqJson.getString("userId"));
         auditUser.setPage(reqJson.getInteger("page"));
         auditUser.setRow(reqJson.getInteger("row"));
+        auditUser.setStoreId(reqJson.getString("storeId"));
 
         long count = resourceEntryStoreInnerServiceSMOImpl.getUserTaskCount(auditUser);
 

+ 14 - 9
service-api/src/main/java/com/java110/api/listener/purchaseApply/AuditApplyOrderListener.java

@@ -5,11 +5,10 @@ import com.java110.api.bmo.auditApplyOrder.IApplyOrderBMO;
 import com.java110.api.listener.AbstractServiceApiPlusListener;
 import com.java110.core.annotation.Java110Listener;
 import com.java110.core.context.DataFlowContext;
-import com.java110.intf.store.IPurchaseApplyInnerServiceSMO;
-import com.java110.intf.common.IPurchaseApplyUserInnerServiceSMO;
-import com.java110.dto.complaint.ComplaintDto;
-import com.java110.dto.purchaseApply.PurchaseApplyDto;
 import com.java110.core.event.service.api.ServiceDataFlowEvent;
+import com.java110.dto.purchaseApply.PurchaseApplyDto;
+import com.java110.intf.common.IPurchaseApplyUserInnerServiceSMO;
+import com.java110.intf.store.IPurchaseApplyInnerServiceSMO;
 import com.java110.po.purchase.PurchaseApplyPo;
 import com.java110.utils.constant.BusinessTypeConstant;
 import com.java110.utils.constant.ServiceCodePurchaseApplyConstant;
@@ -74,6 +73,13 @@ public class AuditApplyOrderListener extends AbstractServiceApiPlusListener {
         purchaseApplyDto.setAuditMessage(reqJson.getString("remark"));
         purchaseApplyDto.setCurrentUserId(reqJson.getString("userId"));
 
+        PurchaseApplyDto tmpPurchaseApplyDto = new PurchaseApplyDto();
+        tmpPurchaseApplyDto.setApplyOrderId(reqJson.getString("applyOrderId"));
+        tmpPurchaseApplyDto.setStoreId(reqJson.getString("storeId"));
+        List<PurchaseApplyDto> purchaseApplyDtos = purchaseApplyInnerServiceSMOImpl.queryPurchaseApplys(tmpPurchaseApplyDto);
+        Assert.listOnlyOne(purchaseApplyDtos, "采购申请单存在多条");
+        purchaseApplyDto.setStartUserId(purchaseApplyDtos.get(0).getUserId());
+
         boolean isLastTask = purchaseApplyUserInnerServiceSMOImpl.completeTask(purchaseApplyDto);
         ResponseEntity<String> responseEntity = new ResponseEntity<String>("成功", HttpStatus.OK);
         if (isLastTask) {
@@ -90,14 +96,13 @@ public class AuditApplyOrderListener extends AbstractServiceApiPlusListener {
      */
     private void updatePurchaseApply(JSONObject paramInJson, DataFlowContext dataFlowContext) {
 
-        ComplaintDto complaintDto = new ComplaintDto();
-        complaintDto.setStoreId(paramInJson.getString("storeId"));
-        complaintDto.setCommunityId(paramInJson.getString("communityId"));
-        complaintDto.setComplaintId(paramInJson.getString("complaintId"));
         PurchaseApplyDto purchaseApplyDto = new PurchaseApplyDto();
+        purchaseApplyDto.setStoreId(paramInJson.getString("storeId"));
+        purchaseApplyDto.setApplyOrderId(paramInJson.getString("applyOrderId"));
+
         List<PurchaseApplyDto> purchaseApplyDtos = purchaseApplyInnerServiceSMOImpl.queryPurchaseApplys(purchaseApplyDto);
 
-        Assert.listOnlyOne(purchaseApplyDtos, "存在多条记录,或不存在数据" + complaintDto.getComplaintId());
+        Assert.listOnlyOne(purchaseApplyDtos, "存在多条记录,或不存在数据" + purchaseApplyDto.getApplyOrderId());
 
         JSONObject businessComplaint = new JSONObject();
         businessComplaint.putAll(BeanConvertUtil.beanCovertMap(purchaseApplyDtos.get(0)));

+ 4 - 7
service-common/src/main/java/com/java110/common/smo/impl/PurchaseApplyUserInnerServiceSMOImpl.java

@@ -78,6 +78,7 @@ public class PurchaseApplyUserInnerServiceSMOImpl extends BaseServiceSMO impleme
         variables.put("purchaseApplyDto", purchaseApplyDto);
         variables.put("nextAuditStaffId", purchaseApplyDto.getStaffId());
         variables.put("userId", purchaseApplyDto.getCurrentUserId());
+        variables.put("startUserId", purchaseApplyDto.getCurrentUserId());
         //开启流程
         ProcessInstance processInstance = runtimeService.startProcessInstanceByKey(getWorkflowDto(purchaseApplyDto.getStoreId()), purchaseApplyDto.getApplyOrderId(), variables);
 //        //将得到的实例流程id值赋给之前设置的变量
@@ -137,7 +138,7 @@ public class PurchaseApplyUserInnerServiceSMOImpl extends BaseServiceSMO impleme
      */
     public long getUserTaskCount(@RequestBody AuditUser user) {
         TaskService taskService = processEngine.getTaskService();
-        TaskQuery query = taskService.createTaskQuery().processDefinitionKey("resourceEnter");
+        TaskQuery query = taskService.createTaskQuery().processDefinitionKey(getWorkflowDto(user.getStoreId()));
         query.taskAssignee(user.getUserId());
         return query.count();
     }
@@ -149,7 +150,7 @@ public class PurchaseApplyUserInnerServiceSMOImpl extends BaseServiceSMO impleme
      */
     public List<PurchaseApplyDto> getUserTasks(@RequestBody AuditUser user) {
         TaskService taskService = processEngine.getTaskService();
-        TaskQuery query = taskService.createTaskQuery().processDefinitionKey("resourceEnter");
+        TaskQuery query = taskService.createTaskQuery().processDefinitionKey(getWorkflowDto(user.getStoreId()));
         ;
         query.taskAssignee(user.getUserId());
         query.orderByTaskCreateTime().desc();
@@ -206,7 +207,7 @@ public class PurchaseApplyUserInnerServiceSMOImpl extends BaseServiceSMO impleme
 //                .taskAssignee(user.getUserId());
 
         HistoricTaskInstanceQuery historicTaskInstanceQuery = historyService.createHistoricTaskInstanceQuery()
-                .processDefinitionKey("resourceEnter")
+                .processDefinitionKey(getWorkflowDto(user.getStoreId()))
                 .taskAssignee(user.getUserId());
         if (!StringUtil.isEmpty(user.getAuditLink()) && "START".equals(user.getAuditLink())) {
             historicTaskInstanceQuery.taskName("resourceEnter");
@@ -275,11 +276,7 @@ public class PurchaseApplyUserInnerServiceSMOImpl extends BaseServiceSMO impleme
         variables.put("currentUserId", purchaseApplyDto.getCurrentUserId());
         variables.put("flag", "1200".equals(purchaseApplyDto.getAuditCode()) ? "false" : "true");
         variables.put("startUserId", purchaseApplyDto.getStartUserId());
-        //taskService.setAssignee(complaintDto.getTaskId(),complaintDto.getCurrentUserId());
-        //taskService.addCandidateUser(complaintDto.getTaskId(), complaintDto.getCurrentUserId());
-        //taskService.claim(complaintDto.getTaskId(), complaintDto.getCurrentUserId());
         taskService.complete(purchaseApplyDto.getTaskId(), variables);
-        //taskService.setVariable(purchaseApplyDto.getTaskId(), "purchaseApplyDto", purchaseApplyDto);
 
         ProcessInstance pi = runtimeService.createProcessInstanceQuery().processInstanceId(processInstanceId).singleResult();
         if (pi == null) {

+ 31 - 3
service-common/src/main/java/com/java110/common/smo/impl/ResourceEntryStoreInnerServiceSMOImpl.java

@@ -2,12 +2,16 @@ package com.java110.common.smo.impl;
 
 
 import com.java110.core.base.smo.BaseServiceSMO;
+import com.java110.dto.workflow.WorkflowDto;
 import com.java110.intf.common.IResourceEntryStoreInnerServiceSMO;
+import com.java110.intf.common.IWorkflowInnerServiceSMO;
 import com.java110.intf.store.IPurchaseApplyInnerServiceSMO;
 import com.java110.dto.PageDto;
 import com.java110.dto.purchaseApply.PurchaseApplyDto;
 import com.java110.dto.resourceStore.ResourceOrderDto;
 import com.java110.entity.audit.AuditUser;
+import com.java110.utils.util.Assert;
+import com.java110.utils.util.StringUtil;
 import org.activiti.engine.ProcessEngine;
 import org.activiti.engine.RuntimeService;
 import org.activiti.engine.TaskService;
@@ -39,6 +43,9 @@ public class ResourceEntryStoreInnerServiceSMOImpl extends BaseServiceSMO implem
     @Autowired
     private IPurchaseApplyInnerServiceSMO purchaseApplyInnerServiceSMOImpl;
 
+    @Autowired
+    private IWorkflowInnerServiceSMO workflowInnerServiceSMOImpl;
+
 
     /**
      * 启动流程
@@ -49,8 +56,9 @@ public class ResourceEntryStoreInnerServiceSMOImpl extends BaseServiceSMO implem
         //将信息加入map,以便传入流程中
         Map<String, Object> variables = new HashMap<String, Object>();
         variables.put("resourceOrderDto", resourceOrderDto);
+
         //开启流程
-        ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("resourceEntry", variables);
+        ProcessInstance processInstance = runtimeService.startProcessInstanceByKey(getWorkflowDto(resourceOrderDto.getStoreId()), variables);
         //将得到的实例流程id值赋给之前设置的变量
         String processInstanceId = processInstance.getId();
         // System.out.println("流程开启成功.......实例流程id:" + processInstanceId);
@@ -68,7 +76,7 @@ public class ResourceEntryStoreInnerServiceSMOImpl extends BaseServiceSMO implem
      */
     public long getUserTaskCount(@RequestBody AuditUser user) {
         TaskService taskService = processEngine.getTaskService();
-        TaskQuery query = taskService.createTaskQuery().processDefinitionKey("resourceEntry");
+        TaskQuery query = taskService.createTaskQuery().processDefinitionKey(getWorkflowDto(user.getStoreId()));
         query.taskAssignee(user.getUserId());
         return query.count();
     }
@@ -80,7 +88,7 @@ public class ResourceEntryStoreInnerServiceSMOImpl extends BaseServiceSMO implem
      */
     public List<PurchaseApplyDto> getUserTasks(@RequestBody AuditUser user) {
         TaskService taskService = processEngine.getTaskService();
-        TaskQuery query = taskService.createTaskQuery().processDefinitionKey("resourceEntry");
+        TaskQuery query = taskService.createTaskQuery().processDefinitionKey(getWorkflowDto(user.getStoreId()));
         query.taskAssignee(user.getUserId());
         query.orderByTaskCreateTime().desc();
         List<Task> list = null;
@@ -159,8 +167,28 @@ public class ResourceEntryStoreInnerServiceSMOImpl extends BaseServiceSMO implem
         TaskService taskService = processEngine.getTaskService();
 
         taskService.complete(resourceOrderDto.getTaskId());
+
+
         return true;
     }
 
 
+
+    private String getWorkflowDto(String storeId) {
+        //开启流程
+        //WorkflowDto.DEFAULT_PROCESS + workflowDto.getFlowId()
+        WorkflowDto workflowDto = new WorkflowDto();
+        workflowDto.setFlowType(WorkflowDto.FLOW_TYPE_PURCHASE);
+        workflowDto.setStoreId(storeId);
+        List<WorkflowDto> workflowDtos = workflowInnerServiceSMOImpl.queryWorkflows(workflowDto);
+
+        Assert.listOnlyOne(workflowDtos, "未找到 投诉建议流程或找到多条");
+
+        WorkflowDto tmpWorkflowDto = workflowDtos.get(0);
+        if (StringUtil.isEmpty(tmpWorkflowDto.getProcessDefinitionKey())) {
+            throw new IllegalArgumentException("流程还未部署");
+        }
+        return WorkflowDto.DEFAULT_PROCESS + tmpWorkflowDto.getFlowId();
+    }
+
 }

+ 1 - 1
service-order/src/main/java/com/java110/order/smo/impl/AbstractOrderServiceSMOImpl.java

@@ -361,7 +361,7 @@ public abstract class AbstractOrderServiceSMOImpl {
         centerServiceDaoImpl.updateOrder(OrderDataFlowContextFactory.getNeedInvalidOrder(dataFlow));
 
         //作废订单项
-        centerServiceDaoImpl.updateBusiness(OrderDataFlowContextFactory.getNeedDeleteBusiness(dataFlow,deleteBusinesses));
+        centerServiceDaoImpl.updateBusinessByBId(OrderDataFlowContextFactory.getNeedDeleteBusiness(dataFlow,deleteBusinesses));
 
         //加入撤单记录
         //doAddDeleteOrderBusinessData(dataFlow);

+ 1 - 1
service-order/src/main/java/com/java110/order/smo/impl/OIdServiceSMOImpl.java

@@ -245,7 +245,7 @@ public class OIdServiceSMOImpl implements IOIdServiceSMO {
             param = new JSONObject();
             JSONObject keyValue = afterValues.getJSONObject(preValueIndex);
             for (String key : keyValue.keySet()) {
-                if (StringUtil.isEmpty(keyValue.getString(key))) {
+                if (!StringUtil.isEmpty(keyValue.getString(key))) {
                     sql += (" and " + key + "=" + keyValue.getString(key));
                 }
             }

+ 1 - 1
service-store/src/main/java/com/java110/store/api/PurchaseApi.java

@@ -54,7 +54,7 @@ public class PurchaseApi {
         purchaseApplyPo.setEndUserTel(reqJson.getString("endUserTel"));
         purchaseApplyPo.setStoreId(storeId);
         purchaseApplyPo.setResOrderType(PurchaseApplyDto.RES_ORDER_TYPE_ENTER);
-        purchaseApplyPo.setState(PurchaseApplyDto.STATE_WAIT_DEAL);
+        purchaseApplyPo.setState(PurchaseApplyDto.STATE_DEALING);
 
         JSONArray resourceStores = reqJson.getJSONArray("resourceStores");
 

+ 39 - 2
service-store/src/main/java/com/java110/store/smo/impl/PurchaseApplyInnerServiceSMOImpl.java

@@ -10,15 +10,17 @@ import com.java110.intf.store.IPurchaseApplyInnerServiceSMO;
 import com.java110.intf.user.IUserInnerServiceSMO;
 import com.java110.po.purchase.PurchaseApplyDetailPo;
 import com.java110.po.purchase.PurchaseApplyPo;
-import com.java110.po.purchase.ResourceStorePo;
 import com.java110.store.dao.IPurchaseApplyServiceDao;
 import com.java110.utils.util.BeanConvertUtil;
+import com.java110.vo.api.purchaseApply.PurchaseApplyDetailVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RestController;
 
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 /**
  * @ClassName FloorInnerServiceSMOImpl
@@ -95,12 +97,15 @@ public class PurchaseApplyInnerServiceSMOImpl extends BaseServiceSMO implements
             purchaseApplyDto.setPage((page - 1) * purchaseApplyDto.getRow());
         }
 
-        List<PurchaseApplyDto> purchaseApplys = purchaseApplyServiceDaoImpl.getPurchaseApplyInfo2(BeanConvertUtil.beanCovertMap(purchaseApplyDto));
+        List<PurchaseApplyDto> purchaseApplys = BeanConvertUtil.covertBeanList(
+                purchaseApplyServiceDaoImpl.getPurchaseApplyInfo(BeanConvertUtil.beanCovertMap(purchaseApplyDto)), PurchaseApplyDto.class);
 
         if (purchaseApplys == null || purchaseApplys.size() == 0) {
             return purchaseApplys;
         }
 
+        freshPurchaseApplyDetail(purchaseApplys);
+
         String[] userIds = getUserIds(purchaseApplys);
         //根据 userId 查询用户信息
         List<UserDto> users = userInnerServiceSMOImpl.getUserInfo(userIds);
@@ -111,6 +116,38 @@ public class PurchaseApplyInnerServiceSMOImpl extends BaseServiceSMO implements
         return purchaseApplys;
     }
 
+    private void freshPurchaseApplyDetail(List<PurchaseApplyDto> purchaseApplys) {
+
+        List<String> applyOrderIds = new ArrayList<String>();
+        for (PurchaseApplyDto purchaseApplyDto : purchaseApplys) {
+            applyOrderIds.add(purchaseApplyDto.getApplyOrderId());
+        }
+
+        if (applyOrderIds.size() < 1) {
+            return;
+        }
+
+        String[] tmpApplyOrderIds = applyOrderIds.toArray(new String[applyOrderIds.size()]);
+
+        Map info = new HashMap<>();
+        info.put("applyOrderIds", tmpApplyOrderIds);
+        List<Map> details = purchaseApplyServiceDaoImpl.getPurchaseApplyDetailInfo(info);
+
+        List<PurchaseApplyDetailDto> purchaseApplyDetailDtos = BeanConvertUtil.covertBeanList(details, PurchaseApplyDetailDto.class);
+
+        List<PurchaseApplyDetailDto> purchaseApplyDetailDtoList = null;
+        for (PurchaseApplyDto purchaseApplyDto : purchaseApplys) {
+            purchaseApplyDetailDtoList = new ArrayList<>();
+            for (PurchaseApplyDetailDto purchaseApplyDetailDto : purchaseApplyDetailDtos) {
+                if (purchaseApplyDto.getApplyOrderId().equals(purchaseApplyDetailDto.getApplyOrderId())) {
+                    purchaseApplyDetailDtoList.add(purchaseApplyDetailDto);
+                }
+            }
+            purchaseApplyDto.setPurchaseApplyDetailVo(BeanConvertUtil.covertBeanList(purchaseApplyDetailDtoList, PurchaseApplyDetailVo.class));
+        }
+
+    }
+
 
     /**
      * 从用户列表中查询用户,将用户中的信息 刷新到 floor对象中

+ 7 - 0
service-store/src/main/resources/application-dev.yml

@@ -64,6 +64,13 @@ spring:
     maxActive: 20
     username: TT
 
+feign:
+  client:
+    config:
+      default:
+        connect-timeout: 10000
+        read-timeout: 20000
+
 #============== kafka ===================
 kafka:
   consumer: