Prechádzať zdrojové kódy

客诉统计下载功能

liujiankang 5 rokov pred
rodič
commit
857079e317

+ 5 - 0
watero-rst-interface/src/main/java/com/iamberry/rst/faces/fm/ComplaintSignclosedInfoService.java

@@ -109,4 +109,9 @@ public interface ComplaintSignclosedInfoService {
      * @return
      */
     List<SignclosedProductInfo> listSignclosedProductById(Integer customerId);
+    /**
+     * 删除签收信息
+     * @return
+     */
+    Integer delSignclosedById(Integer signclosedId);
 }

+ 21 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/fm/ComplaintSignclosedInfoServiceImpl.java

@@ -485,6 +485,27 @@ public class ComplaintSignclosedInfoServiceImpl implements ComplaintSignclosedIn
         return complaintSignclosedInfoMapper.listSignclosedProductById(customerId);
     }
 
+    @Transactional
+    @Override
+    public Integer delSignclosedById(Integer signclosedId) {
+        List<SignclosedProductInfo> signclosedProductInfoList = complaintSignclosedInfoMapper.listSignclosedById(signclosedId);
+        for (SignclosedProductInfo spi:signclosedProductInfoList) {
+            //增加售后仓库的良品
+            InventoryInfo inventoryInfo2 = new InventoryInfo();
+            inventoryInfo2.setInventoryProductColorId(spi.getSignclosedProductColor());
+            inventoryInfo2.setInventoryDefectiveProductNum(spi.getProductNum());
+            inventoryInfo2.setInventoryProductBar(spi.getColorBar());
+            inventoryInfo2.setWarehouseId(2);
+            inventoryInfo2.setLogType(3);   //售后签收,都是次品
+            inventoryInfo2.setInventoryRecentRecord("售后删除签收产品(签收ID:"+spi.getSignclosedId()+")");
+            int flag = inventoryService.minusInventory(inventoryInfo2);
+            if(flag < 1){
+                throw new RuntimeException("删除签收失败,更新库存失败。");
+            }
+        }
+        return complaintSignclosedInfoMapper.delSignclosedById(signclosedId);
+    }
+
     private Integer addSifnclosed(Map<String,Integer> Map,Integer signclosedId) {
         Integer msg = 0;
         for (Map.Entry<String, Integer> entry : Map.entrySet()) {

+ 5 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/fm/mapper/ComplaintSignclosedInfoMapper.java

@@ -72,4 +72,9 @@ public interface ComplaintSignclosedInfoMapper {
      * @return
      */
     List<SignclosedProductInfo> listSignclosedProductById(Integer customerId);
+    /**
+     * 删除签收信息
+     * @return
+     */
+    Integer delSignclosedById(Integer signclosedId);
 }

+ 3 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/fm/mapper/complaintSignclosedInfoMapper.xml

@@ -381,4 +381,7 @@
         where cs.signclosed_customer_id = #{customerId}
         GROUP BY sp.product_name,pc.color_name
     </select>
+  <delete id="delSignclosedById" parameterType="Integer">
+    DELETE FROM tb_rst_complaint_signclosed WHERE signclosed_id = #{signclosedId}
+  </delete>
 </mapper>

+ 32 - 0
watero-rst-web/src/main/java/com/iamberry/rst/controllers/cm/AdminSignclosedController.java

@@ -8,6 +8,7 @@ import com.iamberry.rst.core.page.PagedResult;
 import com.iamberry.rst.core.pts.PtsMachine;
 import com.iamberry.rst.core.tools.LogisticsInfo;
 import com.iamberry.rst.faces.cm.CompanyInfoService;
+import com.iamberry.rst.faces.cm.InventoryService;
 import com.iamberry.rst.faces.fm.AwaitingSignclosedProductInfoService;
 import com.iamberry.rst.faces.fm.ComplaintDetectInfoService;
 import com.iamberry.rst.faces.fm.ComplaintSignclosedInfoService;
@@ -56,6 +57,8 @@ public class AdminSignclosedController {
     private LogisticsInfoService logisticsInfoService;
     @Autowired
     private CompanyInfoService companyInfoService;
+    @Autowired
+    private InventoryService inventoryServiceImpl;
 
     /**
      * 跳转到添加签收记录页面
@@ -684,5 +687,34 @@ public class AdminSignclosedController {
                 bos.close();
         }
     }
+
+    /**
+     * 删除签收记录
+     *
+     * @return
+     */
+    @ResponseBody
+    @RequiresPermissions("signclosed:update:signclosed")
+    @RequestMapping(value = "/delete_signclosed")
+    public ResponseJson deleteSignclosed(HttpServletRequest request,Integer signclosedId){
+        ResponseJson msg = new ResponseJson();
+        if(signclosedId == null || signclosedId.equals("")){
+            msg.setResultCode(500);
+            msg.setReturnCode(500);
+            return msg;
+        }
+        int num = complaintSignclosedInfoService.delSignclosedById(signclosedId);
+
+        if (num < 1) {
+            msg.setResultCode(500);
+            msg.setReturnCode(500);
+        } else {
+
+            msg.setResultCode(200);
+            msg.setReturnCode(200);
+
+        }
+        return msg;
+    }
 }
 

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

@@ -168,6 +168,10 @@
                             <a style="text-decoration:none" href="javascript:;" title="修改寄件人信息"
                                onclick="add_remark('修改寄件人信息','${path}/admin/signclosed/to_update_sender?signclosedId=${signclosed.signclosedId!''}','570','450');">
                                 <i class="Hui-iconfont">&#xe60c;</i>
+                            </a>
+                            <a style="text-decoration:none" href="javascript:;" title="删除"
+                               onclick="deleteOrder(${signclosed.signclosedId!''});">
+                                <i class="Hui-iconfont" style="color: #FF0000;">删除</i><br>
                             </a><#--
                             <a style="text-decoration:none" href="javascript:;" title="转入品检"
                                onclick="into_complaint('转入品检','${path}/admin/signclosed/to_into_complaint?signclosedId=${signclosed.signclosedId!''}','770','600');">
@@ -244,6 +248,32 @@
     function getDescribeInfo(customerId) {
         layer_show("问题描述","${path}/admin/customer/_question_describe?customerId="+customerId,"800","500");
     }
+    /**
+     *delete
+     */
+    function deleteOrder(signclosedId) {
+        layer.confirm('是否确认删除,删除后无法恢复?',function(index){
+            $.ajax({
+                type:'POST',
+                url: '${path}/admin/signclosed/delete_signclosed',
+                data:{
+                    "signclosedId" : signclosedId
+                },
+                dataType: 'json',
+                success:function(res) {
+                    if(res.resultCode == 200 && res.returnCode == 200){
+                        location.reload();
+                    }else{
+                        layer.alert("删除失败!", function(index){
+                            layer.close(index);
+                        });
+                        layer.close(index);
+                    }
+                    return false;
+                }
+            });
+        });
+    }
 </script>
 </body>
 </html>