Ver Fonte

Merge remote-tracking branch 'origin/master'

wangyangyang há 4 anos atrás
pai
commit
0e338a8f8b

+ 3 - 0
common/src/main/java/com/huaxu/util/MessageSendUtil.java

@@ -2,12 +2,14 @@ package com.huaxu.util;
 
 import com.alibaba.fastjson.JSONObject;
 import com.huaxu.entity.Message;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.amqp.core.AmqpTemplate;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Component;
 
 @Component
+@Slf4j
 public class MessageSendUtil {
     @Autowired
     private AmqpTemplate rabbitTemplate;
@@ -16,6 +18,7 @@ public class MessageSendUtil {
     @Value("${dispath.routing.key}")
     private  String dispathRoutingKey;
     public void send(Message message){
+        log.debug("消息发送 exchange={}  routingkey={} 用户id={}",receiveExchangeName,dispathRoutingKey,message.getUserId());
         rabbitTemplate.convertAndSend(receiveExchangeName,dispathRoutingKey, JSONObject.toJSONString(message));
     }
 }

+ 6 - 5
message/src/main/resources/application-sit.properties

@@ -56,10 +56,11 @@ spring.rabbitmq.publisher-confirm-type=correlated
 spring.rabbitmq.publisher-returns=true
 spring.rabbitmq.template.mandatory=true
 user.connections=userConnection
-dispath.queue=dispathTest
-receive.queue.name=receiveTest
+dispath.queue=dispathTest1
+receive.queue.name=receiveTest1
 receive.exchange.name=messageExchangeTest
-dispath.routing.key=dipathKeyTest
-receive.routing.key=receiveKeyTest
+dispath.routing.key=dipathKeyTest1
+receive.routing.key=receiveKeyTest1
+
+spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
 
-spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848

+ 2 - 1
operation_manager/src/main/java/com/huaxu/config/ResourceServerConfig.java

@@ -18,7 +18,8 @@ public class ResourceServerConfig extends ResourceServerConfigurerAdapter {
                 .authorizeRequests()
                 .antMatchers("/swagger-ui.html","/webjars/**", "/webjars/**", "/swagger-resources/**",
                        "/webSocket/**","/message/sendToOne","/messageTemplate/**","/messageType/**",
-                        "/order/workOrderManage/saveByAlarms",
+                        "/order/workOrderManage/saveByAlarms", "/order/workOrderManage/findWorkOrderByDeviceIds",
+                        "/order/workOrderManage/updateByAlarms", "/order/workOrderManage/batchDeleteByAlarms",
                         "/workflow/process/image*",
                         "/v2/**")
                 .permitAll() //配置不需要身份认证的请求路径

+ 32 - 7
operation_manager/src/main/java/com/huaxu/order/controller/WorkOrderManageController.java

@@ -344,10 +344,6 @@ public class WorkOrderManageController {
         //根据用户编号,获取用户的权限
         LoginUser loginUser = UserUtil.getCurrentUser();
         workOrderManageDto.setTaskNo(taskNo);
-        if(!org.springframework.util.StringUtils.isEmpty(startDate)&& !StringUtils.isEmpty(endDate)) {
-            workOrderManageDto.setStartDate(startDate);
-            workOrderManageDto.setEndDate(endDate);
-        }
         workOrderManageDto.setOrderStatus(orderStatus);
         workOrderManageDto.setOrderStatus(orderStatus);
         workOrderManageDto.setEventType(eventType);
@@ -357,6 +353,11 @@ public class WorkOrderManageController {
         workOrderManageDto.setUserType(loginUser.getType());
         //1是公司,2是公司及以下,3部门,4部门及以下,5自定义
         workOrderManageDto.setPermissonType(loginUser.getPermissonType());
+
+        if(!org.springframework.util.StringUtils.isEmpty(startDate)&& !StringUtils.isEmpty(endDate)) {
+            workOrderManageDto.setStartDate(startDate);
+            workOrderManageDto.setEndDate(endDate);
+        }
         IPage<WorkOrderManageDto> iPage = new Page<>(pageNum, pageSize);
         iPage = workOrderManageService.selectPage(iPage, workOrderManageDto);
         Pagination<WorkOrderManageDto> pages = new Pagination<>(iPage);
@@ -382,6 +383,12 @@ public class WorkOrderManageController {
         }
         workOrderManageDto.setTaskNo(taskNo);
         workOrderManageDto.setOrderTypeId(orderTypeId);
+        workOrderManageDto.setOrderTypeId(orderTypeId);
+        workOrderManageDto.setTenantId(loginUser.getTenantId());
+        //workOrderManageDto.setProgramItems(loginUser.getProgramItemList());
+        //workOrderManageDto.setUserType(loginUser.getType());
+        //1是公司,2是公司及以下,3部门,4部门及以下,5自定义
+        //workOrderManageDto.setPermissonType(loginUser.getPermissonType());
         if(loginUser.getId() != null) {
             workOrderManageDto.setCurrentUsers(String.format("%s", loginUser.getId()));
         }
@@ -408,8 +415,8 @@ public class WorkOrderManageController {
     @GetMapping("/resubmit")
     @ApiOperation(value = "重新派单")
     public AjaxMessage reSubmitOrder(
-            @ApiParam(value = "工单ID", required = true) @RequestParam(required = false) Integer id,
-            @ApiParam(value = "工单类型编号", required = true) @RequestParam(required = false) Integer orderTypeId,
+            @ApiParam(value = "工单ID", required = true) @RequestParam(required = true) Integer id,
+            @ApiParam(value = "工单类型编号", required = true) @RequestParam(required = true) Integer orderTypeId,
             @ApiParam(value = "紧急程度", required = true) @RequestParam(required = true) String urgency,
             @ApiParam(value = "时限", required = true) @RequestParam(required = true) String dateLimit,
             @ApiParam(value = "接单人编号", required = true) @RequestParam(required = true) String orderUserId,
@@ -422,8 +429,14 @@ public class WorkOrderManageController {
         if(StringUtils.isEmpty(workOrderManage.getCurrentTaskId())){
             return new AjaxMessage(ResultStatus.ERROR,"任务ID错误!");
         }
+        Map<String,String> dictMap=userCenterClient.selectListByPCodes("SC_WORK_ORDER_TYPE,SC_TASK_TYPE");
+        //1表务、2停通水、3抢修、4漏点定位、5测漏、6违章跑水
+        String orderType =dictMap.get(orderTypeId.toString());
         Map<String,Object> args=new HashMap<>();
         args.put("assineeFormUserId",orderUserId);
+        args.put("工单类型",orderType);
+        args.put("工单编号",workOrderManage.getTaskNo());
+        args.put("url",String.format("?id=%s",workOrderManage.getId().toString()));
         List<TaskPorcessResult> handleResult = workFlowService.handleTask(Action.ACTION_AUDIT,workOrderManage.getCurrentTaskId(), args, null);
         workOrderManage.setCurrentTaskId(handleResult.size()>0?handleResult.get(0).getCurrentTaskId():null);
         workOrderManage.setCurrentUsers(handleResult.size()>0?handleResult.get(0).getCurrentTaskUsers():null);
@@ -524,6 +537,18 @@ public class WorkOrderManageController {
         workOrderManage.setCurrentTaskName(task.getName());
         int rows = workOrderManageService.updateByPrimaryKeySelective(workOrderManage);
         if(rows > 0) {
+            //记录日志
+            WorkFlowLog workFlowLog=new WorkFlowLog();
+            workFlowLog.setFlowId(id);
+            workFlowLog.setFlowType(2);
+            workFlowLog.setFlowResult("开始派单【启动流程】");
+            workFlowLog.setCreateBy(loginUser.getId().toString());
+            workFlowLog.setDateCreate(new Date());
+            workFlowLog.setHandleUserId(loginUser.getId()!=null?loginUser.getId().toString():null);
+            workFlowLog.setHandleUserName(loginUser.getUsername());
+            workFlowLog.setProcessInstanceId(workOrderManage.getProcessInstanceId());
+            workFlowLog.setTaskId(workOrderManage.getCurrentTaskId());
+            workFlowLogService.insert(workFlowLog);
             return new AjaxMessage<>(ResultStatus.OK);
         }
         return new AjaxMessage<>(ResultStatus.ERROR);
@@ -727,11 +752,11 @@ public class WorkOrderManageController {
                         }
                         if (workOrder.getCreateBy() != null) {
                             workOrder.setCreateByName(userMap.get(Long.valueOf(workOrder.getCreateBy())));
+                            workOrder.setCreateUserPhone(userPhoneMap.get(Long.valueOf(workOrder.getCreateBy())));
                         }
                         if (workOrder.getUpdateBy() != null) {
                             workOrder.setUpdateByName(userMap.get(Long.valueOf(workOrder.getUpdateBy())));
                         }
-
                         if (workOrder.getWorkFlowDetail() != null) {
                             WorkFlowDetail workFlowDetail = workOrder.getWorkFlowDetail();
                             if (workFlowDetail.getCreateBy() != null) {

+ 3 - 0
operation_manager/src/main/java/com/huaxu/order/dto/WorkOrderManageDto.java

@@ -69,6 +69,9 @@ public class WorkOrderManageDto extends WorkOrderManage {
     @ApiModelProperty(value = " 创建人名称")
     private String createByName;
 
+    @ApiModelProperty(value = "上报人电话")
+    private String createUserPhone;
+
     @ApiModelProperty(value = "修改人名称")
     private String updateByName;
 

+ 12 - 12
operation_manager/src/main/java/com/huaxu/process/service/impl/WorkFlowServiceImpl.java

@@ -164,19 +164,19 @@ public class WorkFlowServiceImpl implements WorkFlowService {
         companyIds.forEach(id->{
             int uniqueCount = processDefinitionMapper.checkProcessUnique(null, tenantId,
                     id,processDefinition.getTaskType());
-            if (uniqueCount > 0) {
-                throw new ServiceException(ResultStatus.PROCESS_ALREADY_EXISTS);
+            if (uniqueCount <= 0) {
+                processDefinition.setVersion(1);
+                processDefinition.setRunningVersion(0);
+                processDefinition.setTenantId(tenantId);
+                String processKey="A"+UUID.randomUUID().toString();
+                processDefinition.setProcessKey(processKey);
+                processDefinition.setCompanyOrgId(id);
+                processDefinition.setStatus(1);
+                processDefinition.setCreateBy(UserUtil.getCurrentUser().getUsername());
+                processDefinition.setDateCreate(new Date());
+                processDefinitionMapper.insert(processDefinition);
+
             }
-            processDefinition.setVersion(1);
-            processDefinition.setRunningVersion(0);
-            processDefinition.setTenantId(tenantId);
-            String processKey="A"+UUID.randomUUID().toString();
-            processDefinition.setProcessKey(processKey);
-            processDefinition.setCompanyOrgId(id);
-            processDefinition.setStatus(1);
-            processDefinition.setCreateBy(UserUtil.getCurrentUser().getUsername());
-            processDefinition.setDateCreate(new Date());
-            processDefinitionMapper.insert(processDefinition);
 
         });
         log.info("end add ProcessDefinition " );

+ 23 - 5
operation_manager/src/main/java/com/huaxu/task/controller/PlanManageController.java

@@ -101,10 +101,6 @@ public class PlanManageController {
         //根据用户编号,获取用户的权限
         LoginUser loginUser = UserUtil.getCurrentUser();
         planManageDto.setKey(key);
-        if(!StringUtils.isEmpty(startDate)&& !StringUtils.isEmpty(endDate)) {
-            planManageDto.setStartDate(startDate);
-            planManageDto.setEndDate(endDate);
-        }
         planManageDto.setPlanStatus(planStatus);
         planManageDto.setTaskType(taskType);
         planManageDto.setTenantId(loginUser.getTenantId());
@@ -112,6 +108,10 @@ public class PlanManageController {
         planManageDto.setUserType(loginUser.getType());
         //1是公司,2是公司及以下,3部门,4部门及以下,5自定义
         planManageDto.setPermissonType(loginUser.getPermissonType());
+        if(!StringUtils.isEmpty(startDate)&& !StringUtils.isEmpty(endDate)) {
+            planManageDto.setStartDate(startDate);
+            planManageDto.setEndDate(endDate);
+        }
         IPage<PlanManageDto> iPage = new Page<>(pageNum, pageSize);
         iPage = planManageService.selectPage(iPage, planManageDto);
         Pagination<PlanManageDto> pages = new Pagination<>(iPage);
@@ -128,15 +128,22 @@ public class PlanManageController {
             @ApiParam(value = "计划单号或计划名称", required = false) @RequestParam(required = false) String key,
             @ApiParam(value = "计划起始日期(yyyy-MM-dd)", required = false) @RequestParam(required = false) String startDate,
             @ApiParam(value = "计划截至日期(yyyy-MM-dd)", required = false) @RequestParam(required = false) String endDate){
+
         PlanManageDto planManageDto = new PlanManageDto();
         //根据用户编号,获取用户的权限
         LoginUser loginUser = UserUtil.getCurrentUser();
         planManageDto.setKey(key);
+        planManageDto.setTaskType(taskType);
+        planManageDto.setTenantId(loginUser.getTenantId());
+        //planManageDto.setProgramItems(loginUser.getProgramItemList());
+        //planManageDto.setUserType(loginUser.getType());
+        //1是公司,2是公司及以下,3部门,4部门及以下,5自定义
+        //planManageDto.setPermissonType(loginUser.getPermissonType());
+
         if(!StringUtils.isEmpty(startDate)&& !StringUtils.isEmpty(endDate)) {
             planManageDto.setStartDate(startDate);
             planManageDto.setEndDate(endDate);
         }
-        planManageDto.setTaskType(taskType);
         if(loginUser.getId() != null) {
             planManageDto.setCurrentUsers(String.format("%s", loginUser.getId()));
         }
@@ -230,6 +237,17 @@ public class PlanManageController {
         planManage.setCurrentTaskName(task.getName());
         int rows = planManageService.updateByPrimaryKeySelective(planManage);
         if(rows > 0) {
+            WorkFlowLog workFlowLog=new WorkFlowLog();
+            workFlowLog.setFlowId(id);
+            workFlowLog.setFlowType(1);
+            workFlowLog.setFlowResult("任务提交【启动流程】");
+            workFlowLog.setCreateBy(loginUser.getId().toString());
+            workFlowLog.setDateCreate(new Date());
+            workFlowLog.setHandleUserId(loginUser.getId()!=null?loginUser.getId().toString():null);
+            workFlowLog.setHandleUserName(loginUser.getUsername());
+            workFlowLog.setProcessInstanceId(planManage.getProcessInstanceId());
+            workFlowLog.setTaskId(planManage.getCurrentTaskId());
+            workFlowLogService.insert(workFlowLog);
             return new AjaxMessage<>(ResultStatus.OK);
         }
         return new AjaxMessage<>(ResultStatus.ERROR);

+ 2 - 2
operation_manager/src/main/resources/application-sit.properties

@@ -77,8 +77,8 @@ spring.rabbitmq.publisher-confirm-type=correlated
 spring.rabbitmq.publisher-returns=true
 spring.rabbitmq.template.mandatory=true
 receive.exchange.name=messageExchangeTest
-dispath.routing.key=dipathKeyTest
-dispath.queue=dispathTest
+dispath.routing.key=dipathKeyTest1
+dispath.queue=dispathTest1
 #nacos
 spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
 UMIS.sys_config_path=/UMIS_USER_IMAGES/

+ 1 - 0
operation_manager/src/main/resources/mapper/ProcessDefinitionMapper.xml

@@ -313,6 +313,7 @@
     <select id="checkProcessUnique" resultType="java.lang.Integer">
         select count(*) from sc_process_definition
         <where>
+          status=1
             <if test="tenantId != null and tenantId != ''">
                 and tenant_id = #{tenantId}
             </if>

+ 24 - 0
operation_manager/src/main/resources/mapper/order/WorkOrderManageMapper.xml

@@ -237,6 +237,18 @@
       <if test="pictures != null" >
         pictures,
       </if>
+      <if test="deviceId != null" >
+        device_id,
+      </if>
+      <if test="scenesId != null" >
+        scenes_id,
+      </if>
+      <if test="deviceName != null" >
+        device_name,
+      </if>
+      <if test="scenesName != null" >
+        scenes_name,
+      </if>
     </trim>
     <trim prefix="values (" suffix=")" suffixOverrides="," >
       <if test="id != null" >
@@ -338,6 +350,18 @@
       <if test="pictures != null" >
         #{pictures,jdbcType=VARCHAR},
       </if>
+      <if test="deviceId != null" >
+        #{deviceId,jdbcType=INTEGER},
+      </if>
+      <if test="scenesId != null" >
+        #{scenesId,jdbcType=INTEGER},
+      </if>
+      <if test="deviceName != null" >
+        #{deviceName,jdbcType=VARCHAR},
+      </if>
+      <if test="scenesName != null" >
+        #{scenesName,jdbcType=VARCHAR},
+      </if>
     </trim>
   </insert>
   <update id="updateByPrimaryKeySelective" parameterType="com.huaxu.order.entity.WorkOrderManage" >

+ 1 - 1
sms_water/src/main/resources/application-sit.properties

@@ -116,5 +116,5 @@ spring.quartz.properties.org.quartz.threadPool.threadCount=10
 spring.quartz.properties.org.quartz.threadPool.threadPriority=5
 spring.quartz.properties.org.quartz.threadPool.threadsInheritContextClassLoaderOfInitializingThread=true
 receive.exchange.name=messageExchangeTest
-dispath.routing.key=dipathKeyTest
+dispath.routing.key=dipathKeyTest1