Pārlūkot izejas kodu

Merge remote-tracking branch 'origin/develop' into develop

FengChaoYu 7 mēneši atpakaļ
vecāks
revīzija
c43b0b7826

+ 6 - 0
mall-miniapp-service/src/main/java/com/gree/mall/miniapp/enums/workorder/OrderOperatorLogTypeEnum.java

@@ -24,6 +24,12 @@ public enum OrderOperatorLogTypeEnum implements BaseEnum {
     HUIFANG("回访","回访"),
     FEIYONG("费用申请单","费用申请单"),
     FEIYONGEX("费用申请单审核","费用申请单审核"),
+    DAIJIAN("待件","待件"),
+    LAXIU("拉修","拉修"),
+    NOCALL("不接电话","不接电话"),
+    YANWU("延误","延误"),
+    ZHILIANG("质量信息","质量信息"),
+
     ;
 
 

+ 63 - 0
mall-miniapp-service/src/main/java/com/gree/mall/miniapp/logic/workorder/OrderLogLogic.java

@@ -77,6 +77,66 @@ public class OrderLogLogic {
         SimpleDateFormat sdf2 = new SimpleDateFormat("HH");
         SimpleDateFormat sdf3 = new SimpleDateFormat("HH:mm");
 
+
+        Integer index = 1;
+
+        String context ="";
+
+        if (pgOrderOperatorLog.getType().equals(OrderOperatorLogTypeEnum.DAIJIAN.getRemark())){
+            String[] split = pgOrderOperatorLog.getApplyNum().split(",|,");
+
+            for (String s : split) {
+
+                context = context+"("+"待件"+index+":申请编号:"+s.replace("|",",物料编号:")+")";
+
+
+                index ++ ;
+            }
+
+            String format = sdf3.format(pgOrderBase.getAppointmentTime());
+            String format1 = sdf3.format(pgOrderBase.getAppointmentEndTime());
+
+            context =context+";申请时间:"+DateUtil.format(new Date(),"yyyy-MM-dd HH:mm:ss")+";反馈内容:"+pgOrderOperatorLog.getContent()
+                    +",改约上门时间:"+sdf.format(pgOrderOperatorLog.getAppointmentTime())+" "+format+"-"+format1;
+
+            pgOrderOperatorLog.setContent(context);
+
+        }
+
+        if (pgOrderOperatorLog.getType().equals(OrderOperatorLogTypeEnum.LAXIU.getRemark())){
+            String format = sdf3.format(pgOrderBase.getAppointmentTime());
+            String format1 = sdf3.format(pgOrderBase.getAppointmentEndTime());
+
+            pgOrderOperatorLog.setContent("改约上门时间:"+sdf.format(pgOrderOperatorLog.getAppointmentTime())+" "+format+"-"+format1
+                    +";反馈内容:"+pgOrderOperatorLog.getContent());
+        }
+
+
+        if (pgOrderOperatorLog.getType().equals(OrderOperatorLogTypeEnum.NOCALL.getRemark())){
+            String format = sdf3.format(pgOrderBase.getAppointmentTime());
+            String format1 = sdf3.format(pgOrderBase.getAppointmentEndTime());
+
+            pgOrderOperatorLog.setContent("改约上门时间:"+sdf.format(pgOrderOperatorLog.getAppointmentTime())+" "+format+"-"+format1
+                    +";反馈内容:"+pgOrderOperatorLog.getContent());
+        }
+
+        if (pgOrderOperatorLog.getType().equals(OrderOperatorLogTypeEnum.YANWU.getRemark())){
+            String format = sdf3.format(pgOrderBase.getAppointmentTime());
+            String format1 = sdf3.format(pgOrderBase.getAppointmentEndTime());
+
+            pgOrderOperatorLog.setContent("延误类型:"+pgOrderOperatorLog.getYwType()+",改约上门时间:"+sdf.format(pgOrderOperatorLog.getAppointmentTime())+" "+format+"-"+format1
+                    +";反馈内容:"+pgOrderOperatorLog.getContent());
+        }
+
+
+        if (pgOrderOperatorLog.getType().equals(OrderOperatorLogTypeEnum.ZHILIANG.getRemark())){
+            String format = sdf3.format(pgOrderBase.getAppointmentTime());
+            String format1 = sdf3.format(pgOrderBase.getAppointmentEndTime());
+
+            pgOrderOperatorLog.setContent("质量反馈编号:"+pgOrderOperatorLog.getZlNumber()+",改约上门时间:"+sdf.format(pgOrderOperatorLog.getAppointmentTime())+" "+format+"-"+format1
+                    +";反馈内容:"+pgOrderOperatorLog.getContent());
+        }
+
         //预约
         if(pgOrderOperatorLog.getType().equals(OrderOperatorLogTypeEnum.YUYUE.getRemark())){
             if(pgOrderBase.getAppointmentTime() != null){
@@ -118,6 +178,9 @@ public class OrderLogLogic {
         //异常
         if(pgOrderOperatorLog.getType().equals(OrderOperatorLogTypeEnum.YCFK.getRemark())){
             orderFlagLogic.saveOrderFlag(Lists.newArrayList(pgOrderBase.getId()), OrderFlagEnum.YI_CHANGE);
+
+            pgOrderOperatorLog.setContent("异常类型:"+pgOrderOperatorLog.getExType()+",异常原因"+pgOrderOperatorLog.getExNote()+",反馈内容:"+pgOrderOperatorLog.getContent());
+
         }
         pgOrderOperatorLog.setCreateWebsit(pgOrderBase.getWebsitName());
         this.addLog(pgOrderOperatorLog.getOrderBaseId(),pgOrderOperatorLog.getType(),pgOrderOperatorLog.getContent(),pgOrderOperatorLog.getCreateWebsit(),pgOrderOperatorLog.getImgSrc());

+ 47 - 0
mall-server-api/src/main/java/com/gree/mall/manager/bean/workorder/AbnormalVO.java

@@ -0,0 +1,47 @@
+package com.gree.mall.manager.bean.workorder;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.gree.mall.manager.annotation.ZfireField;
+import com.gree.mall.manager.plus.entity.Abnormal;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class AbnormalVO  {
+
+
+    @ZfireField(hide = true)
+    @TableId(value = "id", type = IdType.ID_WORKER_STR)
+    private String id;
+
+    @ApiModelProperty(value = "异常类型")
+    private String exType;
+
+    @ApiModelProperty(value = "异常原因")
+    private String exNote;
+
+    @ApiModelProperty(value = "状态")
+    private String status;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(fill = FieldFill.INSERT)
+    private Date createTime;
+
+    @ApiModelProperty(value = "创建人")
+    @TableField(fill = FieldFill.INSERT)
+    private String createBy;
+
+    @ApiModelProperty(value = "修改时间")
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private Date updateTime;
+
+    @ApiModelProperty(value = "修改人")
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private String updateBy;
+
+}

+ 4 - 4
mall-server-api/src/main/java/com/gree/mall/manager/commonmapper/workorder/IncreMapper.java

@@ -3,10 +3,7 @@ package com.gree.mall.manager.commonmapper.workorder;
 import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.gree.mall.manager.bean.workorder.DispatchCherVO;
-import com.gree.mall.manager.bean.workorder.DispatchVO;
-import com.gree.mall.manager.bean.workorder.IncreVO;
-import com.gree.mall.manager.bean.workorder.WebsitDispatchVO;
+import com.gree.mall.manager.bean.workorder.*;
 import com.gree.mall.manager.zfire.bean.ZfireParamBean;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
@@ -116,4 +113,7 @@ public interface IncreMapper {
             @Param("categoryId") List<String> categoryId,
             @Param("orderSourceId") List<String> orderSourceId,
             @Param("adminCompanyIds") List<String> adminCompanyIds);
+
+    @InterceptorIgnore(tenantLine = "1", blockAttack = "1", illegalSql = "1")
+    IPage<AbnormalVO> listAbnormal(IPage page, @Param("ex") ZfireParamBean zfireParam, @Param("adminCompanyIds") List<String> adminCompanyIds);
 }

+ 99 - 0
mall-server-api/src/main/java/com/gree/mall/manager/controller/workerorder/AbnormalController.java

@@ -0,0 +1,99 @@
+package com.gree.mall.manager.controller.workerorder;
+
+import cn.hutool.core.lang.TypeReference;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.gree.mall.manager.annotation.ZfireList;
+import com.gree.mall.manager.bean.workorder.*;
+import com.gree.mall.manager.exception.RemoteServiceException;
+import com.gree.mall.manager.helper.ResponseHelper;
+import com.gree.mall.manager.logic.workorder.AbnormalLogic;
+import com.gree.mall.manager.logic.workorder.ChangeOrderLogic;
+import com.gree.mall.manager.plus.entity.Abnormal;
+import com.gree.mall.manager.plus.entity.WebsitDispatch;
+import com.gree.mall.manager.utils.CommonUtils;
+import com.gree.mall.manager.zfire.bean.ZfireParamBean;
+import com.gree.mall.manager.zfire.util.FieldUtils;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import java.io.IOException;
+import java.text.ParseException;
+import java.util.List;
+
+@Slf4j
+@RestController
+@Api(value = "异常配置api", tags = {"异常配置api"})
+@RequestMapping(value = "/abnormal", produces = "application/json; charset=utf-8")
+public class AbnormalController {
+
+    @Autowired
+    AbnormalLogic abnormalLogic;
+
+
+    @ZfireList
+    @PostMapping("/list")
+    @ApiOperation(value = "异常配置列表")
+    public ResponseHelper<IPage<AbnormalVO>> list(
+            @RequestBody ZfireParamBean zfireParamBean
+    ) throws RemoteServiceException {
+        ZfireParamBean zfireParam = FieldUtils.supplyParam(zfireParamBean);
+        IPage<AbnormalVO> increVOIPage = abnormalLogic.list(new Page(zfireParam.getPageNum(), zfireParam.getPageSize()), zfireParam);
+        return ResponseHelper.success(increVOIPage, new TypeReference<AbnormalVO>() {});
+    }
+
+    @PostMapping("/list/export")
+    @ApiOperation(value = "服务配置列表导出")
+    public void listExport(
+            @RequestBody ZfireParamBean zfireParamBean,
+            HttpServletRequest request,
+            HttpServletResponse response
+    ) throws Exception {
+        //1.组装查询条件
+        ZfireParamBean zfireParam = FieldUtils.supplyParam(zfireParamBean);
+        //2.查询要导出的内容
+        IPage<AbnormalVO> increVOIPage = abnormalLogic.list(new Page(zfireParam.getPageNum(), zfireParam.getPageSize()), zfireParam);
+        //3.导出
+        FieldUtils.exportData(increVOIPage.getRecords(), zfireParam.getExportFields(), request, response);
+    }
+
+    @PostMapping("/detail")
+    @ApiOperation("配置详情")
+    public ResponseHelper<Abnormal> detail(
+            @ApiParam(value = "id", required = true) @RequestParam String id,
+            HttpServletRequest request
+    ) throws ParseException {
+        Abnormal abnormalVO = abnormalLogic.detail(id);
+        return ResponseHelper.success(abnormalVO);
+    }
+
+    @PostMapping("/add")
+    @ApiOperation("添加配置")
+    public ResponseHelper add(
+            @RequestBody Abnormal abnormal,
+            HttpServletRequest request
+    ) throws ParseException {
+        abnormalLogic.add(abnormal);
+        return ResponseHelper.success();
+    }
+
+    @PostMapping("/update")
+    @ApiOperation("修改配置")
+    public ResponseHelper update(
+            @RequestBody Abnormal abnormal,
+            HttpServletRequest request
+    ) throws ParseException {
+        abnormalLogic.update(abnormal);
+        return ResponseHelper.success();
+    }
+
+
+}

+ 5 - 0
mall-server-api/src/main/java/com/gree/mall/manager/enums/workorder/OrderOperatorLogTypeEnum.java

@@ -25,6 +25,11 @@ public enum OrderOperatorLogTypeEnum implements BaseEnum {
     HUIFANG("回访","回访"),
     FEIYONG("费用申请单","费用申请单"),
     FEIYONGEX("费用申请单审核","费用申请单审核"),
+    DAIJIAN("待件","待件"),
+    LAXIU("拉修","拉修"),
+    NOCALL("不接电话","不接电话"),
+    YANWU("延误","延误"),
+    ZHILIANG("质量信息","质量信息"),
     ;
 
 

+ 62 - 0
mall-server-api/src/main/java/com/gree/mall/manager/logic/workorder/AbnormalLogic.java

@@ -0,0 +1,62 @@
+package com.gree.mall.manager.logic.workorder;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.gree.mall.manager.bean.admin.AdminUserCom;
+import com.gree.mall.manager.bean.workorder.AbnormalVO;
+import com.gree.mall.manager.bean.workorder.IncreVO;
+import com.gree.mall.manager.commonmapper.workorder.IncreMapper;
+import com.gree.mall.manager.logic.common.CommonLogic;
+import com.gree.mall.manager.plus.entity.Abnormal;
+import com.gree.mall.manager.plus.service.AbnormalService;
+import com.gree.mall.manager.zfire.bean.ZfireParamBean;
+import com.gree.mall.manager.zfire.util.FieldUtils;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Slf4j
+@Service
+@RequiredArgsConstructor
+public class AbnormalLogic {
+
+    @Autowired
+    CommonLogic commonLogic;
+
+    @Autowired
+    IncreMapper increMapper;
+
+    @Autowired
+    AbnormalService abnormalService;
+
+
+    public IPage<AbnormalVO> list(Page page, ZfireParamBean zfireParam) {
+        //获取当前登录企业id
+        AdminUserCom adminUser = commonLogic.getAdminUser();
+
+        List<String> adminCompanyIds = adminUser.getCompanyWechatIds();
+        //1.组装查询条件
+        zfireParam = FieldUtils.supplyParam(zfireParam, IncreVO.class);
+
+        IPage<AbnormalVO> abnormalVOIPage = increMapper.listAbnormal(page, zfireParam,adminCompanyIds);
+        return abnormalVOIPage;
+    }
+
+    public Abnormal detail(String id) {
+        return abnormalService.getById(id);
+    }
+
+    public void add(Abnormal abnormal) {
+        AdminUserCom adminUser = commonLogic.getAdminUser();
+        abnormal.setCompanyWechatId(adminUser.getCompanyWechatId());
+        abnormal.setCompanyWechatName(adminUser.getCompanyName());
+        abnormal.insert();
+    }
+
+    public void update(Abnormal abnormal) {
+        abnormal.updateById();
+    }
+}

+ 65 - 0
mall-server-api/src/main/java/com/gree/mall/manager/logic/workorder/OrderLogLogic.java

@@ -101,6 +101,68 @@ public class OrderLogLogic {
         SimpleDateFormat sdf2 = new SimpleDateFormat("HH");
         SimpleDateFormat sdf3 = new SimpleDateFormat("HH:mm");
 
+
+
+        Integer index = 1;
+
+        String context ="";
+
+        if (pgOrderOperatorLog.getType().equals(OrderOperatorLogTypeEnum.DAIJIAN.getRemark())){
+            String[] split = pgOrderOperatorLog.getApplyNum().split(",|,");
+
+            for (String s : split) {
+
+                context = context+"("+"待件"+index+":申请编号:"+s.replace("|",",物料编号:")+")";
+
+
+                index ++ ;
+            }
+
+            String format = sdf3.format(pgOrderBase.getAppointmentTime());
+            String format1 = sdf3.format(pgOrderBase.getAppointmentEndTime());
+
+            context =context+";申请时间:"+DateUtil.format(new Date(),"yyyy-MM-dd HH:mm:ss")+";反馈内容:"+pgOrderOperatorLog.getContent()
+                    +",改约上门时间:"+sdf.format(pgOrderOperatorLog.getAppointmentTime())+" "+format+"-"+format1;
+
+            pgOrderOperatorLog.setContent(context);
+
+        }
+
+        if (pgOrderOperatorLog.getType().equals(OrderOperatorLogTypeEnum.LAXIU.getRemark())){
+            String format = sdf3.format(pgOrderBase.getAppointmentTime());
+            String format1 = sdf3.format(pgOrderBase.getAppointmentEndTime());
+
+            pgOrderOperatorLog.setContent("改约上门时间:"+sdf.format(pgOrderOperatorLog.getAppointmentTime())+" "+format+"-"+format1
+                    +";反馈内容:"+pgOrderOperatorLog.getContent());
+        }
+
+
+        if (pgOrderOperatorLog.getType().equals(OrderOperatorLogTypeEnum.NOCALL.getRemark())){
+            String format = sdf3.format(pgOrderBase.getAppointmentTime());
+            String format1 = sdf3.format(pgOrderBase.getAppointmentEndTime());
+
+            pgOrderOperatorLog.setContent("改约上门时间:"+sdf.format(pgOrderOperatorLog.getAppointmentTime())+" "+format+"-"+format1
+                    +";反馈内容:"+pgOrderOperatorLog.getContent());
+        }
+
+        if (pgOrderOperatorLog.getType().equals(OrderOperatorLogTypeEnum.YANWU.getRemark())){
+            String format = sdf3.format(pgOrderBase.getAppointmentTime());
+            String format1 = sdf3.format(pgOrderBase.getAppointmentEndTime());
+
+            pgOrderOperatorLog.setContent("延误类型:"+pgOrderOperatorLog.getYwType()+",改约上门时间:"+sdf.format(pgOrderOperatorLog.getAppointmentTime())+" "+format+"-"+format1
+                    +";反馈内容:"+pgOrderOperatorLog.getContent());
+        }
+
+
+        if (pgOrderOperatorLog.getType().equals(OrderOperatorLogTypeEnum.ZHILIANG.getRemark())){
+            String format = sdf3.format(pgOrderBase.getAppointmentTime());
+            String format1 = sdf3.format(pgOrderBase.getAppointmentEndTime());
+
+            pgOrderOperatorLog.setContent("质量反馈编号:"+pgOrderOperatorLog.getZlNumber()+",改约上门时间:"+sdf.format(pgOrderOperatorLog.getAppointmentTime())+" "+format+"-"+format1
+                    +";反馈内容:"+pgOrderOperatorLog.getContent());
+        }
+
+
         //预约
         if(pgOrderOperatorLog.getType().equals(OrderOperatorLogTypeEnum.YUYUEY.getKey())){
             if(pgOrderBase.getAppointmentTime() != null){
@@ -184,6 +246,9 @@ public class OrderLogLogic {
                 throw new RemoteServiceException("当前状态不可操作异常反馈");
             }
             orderFlagLogic.saveOrderFlag(Lists.newArrayList(pgOrderBase.getId()),OrderFlagEnum.YI_CHANGE);
+
+            pgOrderOperatorLog.setContent("异常类型:"+pgOrderOperatorLog.getExType()+",异常原因"+pgOrderOperatorLog.getExNote()+",反馈内容:"+pgOrderOperatorLog.getContent());
+
         }
 
         //pgOrderOperatorLog.insert();

+ 16 - 0
mall-server-api/src/main/resources/mapper/workorder/IncreMapper.xml

@@ -786,4 +786,20 @@
 
         group by  e.dict_code
     </select>
+    <select id="listAbnormal" resultType="com.gree.mall.manager.bean.workorder.AbnormalVO">
+        SELECT
+        ${ex.selected}
+        FROM abnormal a
+        ${ex.query}
+        <if test="adminCompanyIds != null and adminCompanyIds.size > 0">
+            AND a.company_wechat_id IN
+            <foreach item="item" index="index" collection="adminCompanyIds" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+        </if>
+        <if test="ex.orderBy == null or ex.orderBy ==''">
+            ORDER BY a.create_time DESC
+        </if>
+        ${ex.orderBy}
+    </select>
 </mapper>