Bläddra i källkod

Merge branch 'master' of http://git.iamberry.com/hexiugang/iamberry-common-parent

wangxiaoming 5 år sedan
förälder
incheckning
9d87842dce

+ 1 - 1
watero-common-tool/src/main/java/com/iamberry/wechat/tools/AddrUtil.java

@@ -60,7 +60,7 @@ public class AddrUtil {
 	}
 
 	public static void main(String[] args) {
-		System.out.println(getPostCode("宣恩县"));
+		System.out.println("广东省 深圳市 光明新区 龙华街道民治大道328".substring("广东省".length() + "深圳市".length() + "光明新区".length() + 3));
 	}
 
 	public static String getPostCode(String addr) {

+ 8 - 0
watero-rst-core/src/main/java/com.iamberry.rst.core/tools/LogisticsInfo.java

@@ -57,6 +57,14 @@ public class LogisticsInfo implements Serializable {
         this.logisticsOnehundredCode = logisticsOnehundredCode;
     }
 
+    public String getLogisticsReamk() {
+        return logisticsReamk;
+    }
+
+    public void setLogisticsReamk(String logisticsReamk) {
+        this.logisticsReamk = logisticsReamk;
+    }
+
     public Date getCreateDate() {
         return createDate;
     }

+ 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;
+    }
 }
 

+ 18 - 63
watero-rst-web/src/main/java/com/iamberry/rst/controllers/order/AwaitSendController.java

@@ -239,8 +239,7 @@ public class AwaitSendController {
             List<ComplaintDetectInfo> listDetect  = complaintDetectInfoService.listComplaintDetectBySalesId(salesOrderInfo.getSalesOrderId());
             salesOrderInfo.setComplaintDetectInfoList(listDetect);
         }
-
-
+        assert salesOrderInfo != null;
         if (salesOrderInfo.getSalesShippingStatus() != 11) {
             return ResponseJson.getFAILURE().addResponseKeyValue("error","订单状态非通知配货,无法打印");
         }
@@ -253,75 +252,31 @@ public class AwaitSendController {
             LOGGER.error("{} 获取电子面单失败,原因:{}", orderId, "该订单没有绑定店铺或店铺没有发货人信息");
             return ResponseJson.getFAILURE().addResponseKeyValue("error","该订单没有绑定店铺或店铺没有发货人信息");
         }
-        /*
-         * 组装数据
-         */
-        post = salesOrderInfo.getSalesPostFirm();
-        EOrderRequestData eOrderRequestData = new EOrderRequestData();
-        eOrderRequestData.ShipperCode = (post);
-        // 传递订单到第三方平台进行操作,如果出现当前订单打印失败了需要重新的,需要更改我们系统订单号
+
+        // 获取物流公司的设置数据
+        LogisticsInfo logisticsInfo = new LogisticsInfo();
+        logisticsInfo.setLogisticsRstCode(salesOrderInfo.getSalesPostFirm());
+        List<LogisticsInfo> list = logisticsInfoService.getLogisticsInfoList(logisticsInfo);
+        if (list == null || list.isEmpty() || list.size() != 1 || list.get(0) == null || list.get(0).getLogisticsReamk() == null) {
+            return ResponseJson.getFAILURE().addResponseKeyValue("error","该订单未搜索到对应的物流公司" + salesOrderInfo.getSalesPostFirm());
+        }
+        logisticsInfo = list.get(0);
+        EOrderRequestData eOrderRequestData = JSONObject.parseObject(logisticsInfo.getLogisticsReamk(), EOrderRequestData.class);
+        if (eOrderRequestData == null) {
+            return ResponseJson.getFAILURE().addResponseKeyValue("error","物流公司未设置对应的数据" + salesOrderInfo.getSalesPostFirm());
+        }
+        // 组装通用数据
         eOrderRequestData.OrderCode = salesOrderInfo.getSalesOrderId();
         eOrderRequestData.PayType = (3);
-        eOrderRequestData.ExpType = ("1");
         eOrderRequestData.Cost = (0.00);
         eOrderRequestData.OtherCost = (0.0);
         eOrderRequestData.Remark = salesId.toString();
-        // 不同的快递公司需要做不同的处理
-        if (post.equalsIgnoreCase("EMS")) {
-            // 省内EMS
-            eOrderRequestData.CustomerName = ("90000009971400");
-            eOrderRequestData.CustomerPwd = ("90000009971400");
-        } else if (post.equalsIgnoreCase("SF")) {
-            // 顺丰
-            eOrderRequestData.MonthCode = ("7690035114");
-        } else if (post.equalsIgnoreCase("YZBK")) {
-            // 省外EMS
-            eOrderRequestData.CustomerName = ("90000009971400");
-            eOrderRequestData.CustomerPwd = ("90000009971400");
-            eOrderRequestData.ExpType = "9";
-            eOrderRequestData.ShipperCode = "EMS";
-        } else if (post.equalsIgnoreCase("STO")) {
-            // 申通快递
-            eOrderRequestData.CustomerName = ("爱贝源");
-            eOrderRequestData.CustomerPwd = ("sto87891799*");
-            eOrderRequestData.SendSite = ("广东东莞清溪分部");
-            eOrderRequestData.TemplateSize = ("130");
-        } else if (post.equalsIgnoreCase("DBL")) {
-            //德邦 (360特惠件)
-            eOrderRequestData.CustomerName = ("651476854");
-            eOrderRequestData.ExpType = ("2");
-        } else if (post.equalsIgnoreCase("SDDB")) {
-            // 上朵德邦(标准快递)
-            eOrderRequestData.CustomerName = ("S20140809-60390596");
-            eOrderRequestData.ExpType = ("3");
-            eOrderRequestData.ShipperCode = "DBL";
-        } else if (post.equalsIgnoreCase("YNEMS")) {
-            // 优尼雅省内EMS
-            eOrderRequestData.CustomerName = ("90000009827141");
-            eOrderRequestData.CustomerPwd = ("90000009827141");
-            eOrderRequestData.ShipperCode = "EMS";
-        } else if (post.equalsIgnoreCase("YWEMS")) {
-            // 优尼雅省外EMS
-            eOrderRequestData.CustomerName = ("90000009827141");
-            eOrderRequestData.CustomerPwd = ("90000009827141");
-            eOrderRequestData.ExpType = "9";
-            eOrderRequestData.ShipperCode = "EMS";
-        }
         // 收件人信息
         String[] addrs = salesOrderInfo.getSalesAddressInfo().split(" ");
         if (addrs.length <= 3) {
             addrs = salesOrderInfo.getSalesAddressInfo().split("-");
         }
         String addrDetails = salesOrderInfo.getSalesAddressInfo().substring(addrs[0].length() + addrs[1].length() + addrs[2].length() + 3);
-        // 获取收件人邮编
-//        String postCode = AddrUtil.getPostCode(addrs[2]);
-//        if (postCode == null || "".equals(postCode)) {
-//            postCode = AddrUtil.getPostCode(addrs[1]);
-//        }
-//        if (postCode == null || "".equals(postCode)) {
-//            postCode = AddrUtil.getPostCode(addrs[0]);
-//        }
-
         Map<String, Object> receiver = new HashMap<String, Object>();
         receiver.put("Name", salesOrderInfo.getSalesAddressName());
         receiver.put("Tel", salesOrderInfo.getSalesAddressTel());
@@ -352,7 +307,8 @@ public class AwaitSendController {
         int Goodsquantity = 0;
         for (SalesOrderItem temp : items) {
             goodName.append(temp.getProductAbbreviation())
-                    .append("(").append(temp.getColorAbbreviation()).append(")*").append(temp.getItemNum()).append(";");
+                    .append("(").append(temp.getColorAbbreviation()).append(")*")
+                    .append(temp.getItemNum()).append(";");
             if(temp.getColorIsWeight() != null){
                 colorIsWeight += temp.getColorIsWeight();
             }
@@ -366,12 +322,11 @@ public class AwaitSendController {
                if( i == 0){
                    goodName.append(detectInfo.getDetectNumber());
                }else{
-                   goodName.append(","+detectInfo.getDetectNumber());
+                   goodName.append(",").append(detectInfo.getDetectNumber());
                }
            }
            goodName.append("】");
         }
-
         // 20181113增加需求:产品名称后面增加打印订单日期
         goodName.append("【D").append(DateTimeUtil.format(new Date(), "MMdd")).append("】");
         String uuid = UUIDGenerator.getUUID().substring(0, 8);

+ 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>