Selaa lähdekoodia

客诉后续流程开发

liujiankang 6 vuotta sitten
vanhempi
commit
89a13ede31

+ 110 - 0
watero-rst-core/src/main/java/com.iamberry.rst.core/cm/DetectionBasis.java

@@ -0,0 +1,110 @@
+package com.iamberry.rst.core.cm;
+
+import java.io.Serializable;
+
+/**
+ * Created by Administrator on 2018/8/8.
+ */
+public class DetectionBasis implements Serializable{
+
+    private static final long serialVersionUID = -2454116797606102140L;
+    private Integer basisId;//id
+    private String basisState;//状态1正在使用2停止使用
+    private String basisPhenomenon;//工厂检测现象
+    private String basisClassification;//故障分类
+    private String basisFailureCause;//故障原因
+    private String basisResults;//判定结果
+    private String basisPoint;//故障指向
+    private String basisNalysis;//原因分析
+    private String basisContent;//维修内容
+    private String basisCreate_time;//创建时间
+    private String basisUpdateTime;//修改时间
+
+    public Integer getBasisId() {
+        return basisId;
+    }
+
+    public void setBasisId(Integer basisId) {
+        this.basisId = basisId;
+    }
+
+    public String getBasisState() {
+        return basisState;
+    }
+
+    public void setBasisState(String basisState) {
+        this.basisState = basisState;
+    }
+
+    public String getBasisPhenomenon() {
+        return basisPhenomenon;
+    }
+
+    public void setBasisPhenomenon(String basisPhenomenon) {
+        this.basisPhenomenon = basisPhenomenon;
+    }
+
+    public String getBasisClassification() {
+        return basisClassification;
+    }
+
+    public void setBasisClassification(String basisClassification) {
+        this.basisClassification = basisClassification;
+    }
+
+    public String getBasisFailureCause() {
+        return basisFailureCause;
+    }
+
+    public void setBasisFailureCause(String basisFailureCause) {
+        this.basisFailureCause = basisFailureCause;
+    }
+
+    public String getBasisResults() {
+        return basisResults;
+    }
+
+    public void setBasisResults(String basisResults) {
+        this.basisResults = basisResults;
+    }
+
+    public String getBasisPoint() {
+        return basisPoint;
+    }
+
+    public void setBasisPoint(String basisPoint) {
+        this.basisPoint = basisPoint;
+    }
+
+    public String getBasisNalysis() {
+        return basisNalysis;
+    }
+
+    public void setBasisNalysis(String basisNalysis) {
+        this.basisNalysis = basisNalysis;
+    }
+
+    public String getBasisContent() {
+        return basisContent;
+    }
+
+    public void setBasisContent(String basisContent) {
+        this.basisContent = basisContent;
+    }
+
+    public String getBasisCreate_time() {
+        return basisCreate_time;
+    }
+
+    public void setBasisCreate_time(String basisCreate_time) {
+        this.basisCreate_time = basisCreate_time;
+    }
+
+    public String getBasisUpdateTime() {
+        return basisUpdateTime;
+    }
+
+    public void setBasisUpdateTime(String basisUpdateTime) {
+        this.basisUpdateTime = basisUpdateTime;
+    }
+}

+ 7 - 0
watero-rst-interface/src/main/java/com/iamberry/rst/faces/cm/ComplaintDetectInfoService.java

@@ -2,6 +2,7 @@ package com.iamberry.rst.faces.cm;
 
 import com.iamberry.rst.core.cm.ComplaintDetectInfo;
 import com.iamberry.rst.core.cm.ComplaintDetectItem;
+import com.iamberry.rst.core.cm.DetectionBasis;
 import com.iamberry.rst.core.order.Order;
 import com.iamberry.rst.core.page.PageRequest;
 import com.iamberry.rst.core.page.PagedResult;
@@ -50,4 +51,10 @@ public interface ComplaintDetectInfoService {
      * @return
      */
     int deleteDetectItem(Integer detectItemId);
+
+    /**
+     * 查询检测内容
+     * @return
+     */
+    List<DetectionBasis> listDetectionBasis(DetectionBasis detectionBasis);
 }

+ 6 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/ComplaintDetectInfoServiceImpl.java

@@ -5,6 +5,7 @@ import com.github.pagehelper.PageHelper;
 import com.iamberry.rst.core.cm.ComplaintDetectInfo;
 import com.iamberry.rst.core.cm.ComplaintDetectItem;
 import com.iamberry.rst.core.cm.ComplaintMaintenanceInfo;
+import com.iamberry.rst.core.cm.DetectionBasis;
 import com.iamberry.rst.core.order.Order;
 import com.iamberry.rst.core.page.PageRequest;
 import com.iamberry.rst.core.page.PagedResult;
@@ -63,4 +64,9 @@ public class ComplaintDetectInfoServiceImpl implements ComplaintDetectInfoServic
     public int deleteDetectItem(Integer detectItemId) {
         return complaintDetectInfoMapper.deleteDetectItem(detectItemId);
     }
+
+    @Override
+    public List<DetectionBasis> listDetectionBasis(DetectionBasis detectionBasis) {
+        return complaintDetectInfoMapper.listDetectionBasis(detectionBasis);
+    }
 }

+ 7 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/ComplaintDetectInfoMapper.java

@@ -2,6 +2,7 @@ package com.iamberry.rst.service.cm.mapper;
 
 import com.iamberry.rst.core.cm.ComplaintDetectInfo;
 import com.iamberry.rst.core.cm.ComplaintDetectItem;
+import com.iamberry.rst.core.cm.DetectionBasis;
 
 import java.util.List;
 
@@ -55,4 +56,10 @@ public interface ComplaintDetectInfoMapper {
      * @return
      */
     int deleteDetectItem(Integer detectItemId);
+
+    /**
+     * 查询检测内容
+     * @return
+     */
+    List<DetectionBasis> listDetectionBasis(DetectionBasis detectionBasis);
 }

+ 15 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/complaintDetectInfoMapper.xml

@@ -282,4 +282,19 @@
   <delete id="deleteDetectItem" parameterType="Integer">
     DELETE FROM tb_rst_complaint_detect_item WHERE detect_item_id = #{detectItemId}
   </delete>
+
+  <select id="listDetectionBasis" parameterType="DetectionBasis" resultType="DetectionBasis">
+      select * from tb_rst_complaint_detection_basis
+    <where>
+      <if test="basisState != null" >
+        AND basis_state = #{basisState,jdbcType=INTEGER}
+      </if>
+      <if test="basisPhenomenon != null" >
+        AND basis_phenomenon like CONCAT('%',#{basisPhenomenon},'%')
+      </if>
+      <if test="basisId != null" >
+        AND basis_id = #{basisId}
+      </if>
+    </where>
+  </select>
 </mapper>

+ 34 - 0
watero-rst-web/src/main/java/com/iamberry/rst/controllers/cm/AdminDetectController.java

@@ -64,6 +64,10 @@ public class AdminDetectController {
         Product product = new Product();
         List<Product> productList = productService.listProductAndColorAndfittings(product);
         mv.addObject("productList",productList);
+        //获取所有维修内容
+        DetectionBasis detectionBasis = new DetectionBasis();
+        List<DetectionBasis> detectionBasisList = complaintDetectInfoService.listDetectionBasis(detectionBasis);
+        mv.addObject("detectionBasisList",detectionBasisList);
         /*//获取所有配件
         List<FittingsInfo> listFittings = fittingsInfoService.listFittings();
         mv.addObject("listFittings",listFittings);*/
@@ -444,5 +448,35 @@ public class AdminDetectController {
         }
         return msg;
     }
+
+    /**
+     * 查询单个检测信息
+     * @param request
+     * @return
+     * @throws Exception
+     */
+    @RequiresPermissions("remark:add:remark")
+    @ResponseBody
+    @RequestMapping("/getDetectionBasis")
+    public ResponseJson getDetectionBasis(HttpServletRequest request, Integer basisId) throws Exception {
+        ResponseJson msg = new ResponseJson();
+        if(basisId == null){
+            msg.setResultCode(500);
+            msg.setReturnCode(500);
+            return msg;
+        }
+        DetectionBasis detectionBasis = new DetectionBasis();
+        detectionBasis.setBasisId(basisId);
+        List<DetectionBasis> listDetectionBasis = complaintDetectInfoService.listDetectionBasis(detectionBasis);
+        if (listDetectionBasis.size() < 1) {
+            msg.setResultCode(500);
+            msg.setReturnCode(500);
+        } else {
+            msg.addResponseKeyValue("detectionBasis",listDetectionBasis.get(0));
+            msg.setResultCode(200);
+            msg.setReturnCode(200);
+        }
+        return msg;
+    }
 }
 

+ 1 - 0
watero-rst-web/src/main/resources/watero-rst-orm.xml

@@ -108,6 +108,7 @@
 		<typeAlias type="com.iamberry.rst.core.order.DownsingleRuleItemInfo" alias="DownsingleRuleItemInfo"/>
 		<typeAlias type="com.iamberry.rst.core.cm.ReturnStatisticsInfo" alias="ReturnStatisticsInfo"/>
 		<typeAlias type="com.iamberry.rst.core.cm.ComplaintDetectItem" alias="ComplaintDetectItem"/>
+		<typeAlias type="com.iamberry.rst.core.cm.DetectionBasis" alias="DetectionBasis"/>
 	</typeAliases>
 	<!-- PageHelper -->
 	<plugins>

+ 56 - 2
watero-rst-web/src/main/webapp/WEB-INF/views/cm/inspection/add_detect.ftl

@@ -74,6 +74,20 @@
             </div>
         </div>
         <div class="input-box" >
+            <label class="col-3 col-sm-3 huanhang"  style="text-align: right;margin: 10px 0px;"></label>
+            <div class="formControls col-xs-7 col-sm-7 skin-minimal" style="margin: 10px 0px;">
+                <input class="my-input-date" list="contentlist" type="text" onchange="inputSelect()" name="content" id="content"  placeholder="输入关键字查询,如果没有请直接在问题简述填写"/>
+                <datalist id="contentlist">
+                    <#if (detectionBasisList?size > 0)>
+                        <#list detectionBasisList as detectionBasis>
+                            <option value="${detectionBasis.basisPhenomenon!""}" data-value="${detectionBasis.basisPhenomenon!""}"  data-id="${detectionBasis.basisId!""}">
+                        </#list>
+                    </#if>
+                </datalist>
+            </div>
+        </div>
+
+        <div class="input-box" >
             <label class="col-3 col-sm-3 huanhang"  style="text-align: right;margin: 10px 0px;"><span class="c-red">*</span>工厂检测现象:</label>
             <div class="formControls col-xs-7 col-sm-7 skin-minimal" style="margin: 10px 0px;">
                     <textarea style="margin-left: 0%;" rows="3" cols="20" name="detectItemPhenomenon" id="detectItemPhenomenon" class="my-textarea" placeholder="工厂检测现象"></textarea>
@@ -157,6 +171,47 @@
 </article>
 <script type="text/javascript" src="${path}/common/lib/My97DatePicker/4.8/WdatePicker.js"></script>
 <script type="text/javascript">
+    function inputSelect(){
+        var input_select=$("#content").val();
+        var option_length=$("#contentlist option").length;
+        var option_id='';
+        for(var i=0;i<option_length;i++){
+            var option_value=$("#contentlist option").eq(i).attr('data-value');
+            if(input_select==option_value){
+                option_id=$("#contentlist option").eq(i).attr('data-id')
+                break;
+            }
+        }
+        $.ajax({
+            cache: true,
+            type: "POST",
+            url: "${path}/admin/detect/getDetectionBasis",
+            data:{basisId:option_id},
+            async: false,
+            success: function(data){
+                if (data.returnCode == 200) {
+                    if(data.returnMsg.detectionBasis != null){
+                        $("#detectItemPhenomenon").val(data.returnMsg.detectionBasis.basisPhenomenon);
+                        $("#detectItemClassification").val(data.returnMsg.detectionBasis.basisClassification);
+                        $("#detectItemFailureCause").val(data.returnMsg.detectionBasis.basisFailureCause);
+                        $("#detectItemResults").val(data.returnMsg.detectionBasis.basisResults);
+                        $("#detectItemPoint").val(data.returnMsg.detectionBasis.basisPoint);
+                        $("#detectItemNalysis").val(data.returnMsg.detectionBasis.basisNalysis);
+                        $("#detectItemContent").val(data.returnMsg.detectionBasis.basisContent);
+                    }
+                }
+
+            },
+            error: function(XmlHttpRequest, textStatus, errorThrown){
+                layer.msg('添加错误',{icon: 5,time:1000});
+            }
+        });
+    };
+
+    $(document).on('click','#contentlist option',function(){
+        alert("11");
+    });
+
     /*初始化单选框样式*/
         $(function(){
             $('.skin-minimal input').iCheck({
@@ -286,7 +341,7 @@
                     layer.msg('添加成功',{icon: 1,time:1000},function () {
                         window.parent.location.reload();
                         var index = parent.layer.getFrameIndex(window.name);
-                        parent.layer.close(index)
+                        parent.layer.close(index);
                     });
                 } else {
                     layer.msg('添加失败',{icon: 5,time:1000});
@@ -297,7 +352,6 @@
             }
         });
     }
-
 </script>
 </body>
 </html>

+ 3 - 3
watero-rst-web/src/main/webapp/WEB-INF/views/cm/inspection/detect_list.ftl

@@ -59,7 +59,7 @@
             <input class="my-input" style="width: 70px;" type="text" name="customerId" value="${customerId!}" placeholder="客诉编号"/>
             <input class="my-input" style="width: 70px;" type="text" name="questionTitle" value="${questionTitle!}" placeholder="客诉问题"/>
             <input class="my-input" style="width: 70px;" type="text" name="detectItemPhenomenon" value="${detectItemPhenomenon!}" placeholder="工厂检测现象"/>
-            <input class="my-input" style="width: 70px;" type="text" name="detectItemFailureCause" value="${detectFailureCause!}" placeholder="故障原因"/>
+            <input class="my-input" style="width: 70px;" type="text" name="detectItemFailureCause" value="${detectItemFailureCause!}" placeholder="故障原因"/>
             <input class="my-input" style="width: 70px;" type="text" name="detectItemPoint" value="${detectItemPoint!}" placeholder="故障指向"/>
             <input class="my-input" style="width: 70px;" type="text" name="detectItemNalysis" value="${detectItemNalysis!}" placeholder="原因分析"/>
             <input class="my-input" style="width: 70px;" type="text" name="detectItemClassification" value="${detectItemClassification!}" placeholder="故障分类"/>
@@ -71,14 +71,14 @@
                 <option value ="3" <#if detectState??><#if detectState == 3>selected="selected"</#if></#if>>检查通过</option>
                 <option value ="4" <#if detectState??><#if detectState == 4>selected="selected"</#if></#if>>检查未通过</option>
             </select>-->
-            <select class="my-select" name="productTypeId" style="height: 30px;width: 150px">
+           <#-- <select class="my-select" name="productTypeId" style="height: 30px;width: 150px">
                 <option value ="">选择产品类型</option>
                 <#if (productTypeList?size > 0)>
                     <#list productTypeList as typeList>
                         <option value ="${typeList.typeId!}" <#if productTypeId??><#if productTypeId == typeList.typeId>selected="selected"</#if></#if>>${typeList.typeName!}</option>
                     </#list>
                 </#if>
-            </select>
+            </select>-->
             <button style="cursor:pointer;" type="submit" class="my-btn-search">搜索</button>
         </form>
     </div>

+ 2 - 2
watero-rst-web/src/main/webapp/WEB-INF/views/cm/signclosed/signclosed_list.ftl

@@ -51,11 +51,11 @@
                 <option value ="2" <#if signclosedType??><#if signclosedType == 2>selected="selected"</#if></#if>>代理商退货</option>
                 <option value ="3" <#if signclosedType??><#if signclosedType == 3>selected="selected"</#if></#if>>其它</option>
             </select>-->
-            <select class="my-select" name="signclosedObjectsState" style="height: 30px;width: 150px">
+            <#--<select class="my-select" name="signclosedObjectsState" style="height: 30px;width: 150px">
                 <option value ="">物件状态</option>
                 <option value ="1" <#if signclosedObjectsState??><#if signclosedObjectsState == 1>selected="selected"</#if></#if>>正常签收</option>
                 <option value ="2" <#if signclosedObjectsState??><#if signclosedObjectsState == 2>selected="selected"</#if></#if>>物件不对</option>
-            </select>
+            </select>-->
             <button style="cursor:pointer;" type="submit" class="my-btn-search">搜索</button>
         </form>
     </div>