Explorar el Código

Merge remote-tracking branch 'liujiankang/master'

# Conflicts:
#	watero-rst-core/src/main/java/com.iamberry.rst.core/customer/ChannelSaleInfo.java
#	watero-rst-service/src/main/java/com/iamberry/rst/service/customer/CustomerBasicServiceImpl.java
#	watero-rst-service/src/main/java/com/iamberry/rst/service/customer/mapper/CustomerBasicMapper.java
liujiankang hace 7 años
padre
commit
735dbf65ab

+ 18 - 0
watero-rst-core/src/main/java/com.iamberry.rst.core/customer/ChannelSaleInfo.java

@@ -18,6 +18,24 @@ public class ChannelSaleInfo implements Serializable{
     private Integer channelCategory;//渠道类别 1:电商 2:特殊渠道 3:线下 4:海外
     private String channelType;//渠道类型
     private String channelName;//渠道名称
+    private String channelCode;//渠道编码
+
+    public String getChannelCode() {
+        return channelCode;
+    }
+
+    public void setChannelCode(String channelCode) {
+        this.channelCode = channelCode;
+    }
+
+    public String getChannelName() {
+        return channelName;
+    }
+
+    public void setChannelName(String channelName) {
+        this.channelName = channelName;
+    }
+    private String channelName;//渠道名称
 
     public Integer getChannelSaleId() {
         return channelSaleId;

+ 1 - 1
watero-rst-interface/src/main/java/com/iamberry/rst/faces/customer/CustomerBasicService.java

@@ -95,7 +95,7 @@ public interface CustomerBasicService {
      * @return
      */
     public void saveCustomerBasicInfo(CustomerBasicInfo customerBasicInfo,List<DockedContactInfo> dockedContactInfoList, List<ChannelSaleInfo> channelSaleInfoList,
-                                      BillingInfo billingInfo, TicketOpeningInfo ticketOpeningInfo);
+                                      BillingInfo billingInfo, TicketOpeningInfo ticketOpeningInfo) throws Exception;
 
     /**
      * 查询所有省份

+ 11 - 2
watero-rst-service/src/main/java/com/iamberry/rst/service/customer/mapper/CustomerBasicMapper.java

@@ -34,7 +34,7 @@ public interface CustomerBasicMapper {
      * @param customerBasicInfo
      * @return
      */
-    public CustomerBasicInfo saveCustomerBasicInfo(CustomerBasicInfo customerBasicInfo);
+    public int saveCustomerBasicInfo(CustomerBasicInfo customerBasicInfo);
 
     /**
      * 添加对接联系人信息
@@ -45,7 +45,7 @@ public interface CustomerBasicMapper {
     public void saveDockedContactInfo(DockedContactInfo dockedContactInfo);
 
     /**
-     * 添加客户销售渠道备案信息
+     * 添加客户销售渠道备案信息-销售产品表
      *
      * @param channelSaleInfo
      * @return
@@ -53,6 +53,14 @@ public interface CustomerBasicMapper {
     public void saveChannelSaleInfo(ChannelSaleInfo channelSaleInfo);
 
     /**
+     * 添加客户销售渠道备案信息-渠道表
+     *
+     * @param channelSaleInfo
+     * @return
+     */
+    public int saveChannelDivisionInfo(ChannelSaleInfo channelSaleInfo);
+
+    /**
      * 添加付款/退款信息
      *
      * @param billingInfo
@@ -147,6 +155,7 @@ public interface CustomerBasicMapper {
      */
     public List<ProductColor> querySupplyPriceList(String promotingProductsId);
 
+
     /**
      * 修改客户基本信息
      * @param customerBasicInfo

+ 19 - 3
watero-rst-service/src/main/java/com/iamberry/rst/service/customer/mapper/CustomerBasicMapper.xml

@@ -295,7 +295,10 @@
 
     <!--新增部分 start-->
     <!-- 添加客户基本信息 -->
-    <insert id="saveCustomerBasicInfo" parameterType="CustomerBasicInfo" useGeneratedKeys="true"  keyProperty="customer_id">
+    <insert id="saveCustomerBasicInfo" parameterType="CustomerBasicInfo">
+        <selectKey resultType="java.lang.Integer" order="AFTER" keyProperty="customerId">
+            SELECT LAST_INSERT_ID() AS id
+        </selectKey>
         INSERT INTO
         tb_rst_customer_basic_info
         (
@@ -322,10 +325,23 @@
         )
     </insert>
 
-    <!-- 添加客户销售渠道备案信息 -->
+    <!-- 添加客户销售渠道备案信息(渠道表) -->
+    <insert id="saveChannelDivisionInfo" parameterType="ChannelSaleInfo">
+        INSERT INTO
+        tb_rst_channel_division_info
+        (
+        customer_id, channel_category, channel_type, channel_name, channel_code,create_date
+        )
+        VALUES
+        (
+        #{customerId},#{channelCategory},#{channelType},#{channelName},#{channelCode},NOW()
+        )
+    </insert>
+
+    <!-- 添加客户销售渠道备案信息(产品表) -->
     <insert id="saveChannelSaleInfo" parameterType="ChannelSaleInfo">
         INSERT INTO
-        tb_rst_ channel_sale_info
+        tb_rst_channel_sale_info
         (
         customer_id, channel_division_id, channel_name, promoting_products, supply_price,account_period,create_date
         )

+ 4 - 2
watero-rst-web/src/main/java/com/iamberry/rst/controllers/customer/CustomerBasicController.java

@@ -296,6 +296,7 @@ public class CustomerBasicController {
     @RequestMapping("/save_customer_info")
     public ResponseJson saveCustomerBasicInfo(HttpServletRequest request,String customerInfoJson,String dockedContactInfoListJson,
                                               String channelSaleInfoListJson,String billingInfoJson,String ticketOpeningInfoJson) throws Exception {
+        Integer adminId = AdminUtils.getLoginAdminId();
         JSONArray jsonArray;
         List<DockedContactInfo> dockedContactInfoList;
         List<ChannelSaleInfo> channelSaleInfoList;
@@ -306,12 +307,13 @@ public class CustomerBasicController {
         channelSaleInfoList = (List) JSONArray.toCollection(jsonArray, ChannelSaleInfo.class);
         JSONObject customerJsonObject =  JSONObject.fromObject(customerInfoJson);
         CustomerBasicInfo customerBasicInfo = (CustomerBasicInfo) customerJsonObject.toBean(customerJsonObject,CustomerBasicInfo.class);
+        customerBasicInfo.setIdCreateBy(adminId);
 
         JSONObject billingInfoJsonObject =  JSONObject.fromObject(billingInfoJson);
         BillingInfo billingInfo = (BillingInfo) billingInfoJsonObject.toBean(billingInfoJsonObject,BillingInfo.class);
 
         JSONObject ticketOpeningInfoJsonObject =  JSONObject.fromObject(ticketOpeningInfoJson);
-        TicketOpeningInfo ticketOpeningInfo = (TicketOpeningInfo) customerJsonObject.toBean(customerJsonObject,TicketOpeningInfo.class);
+        TicketOpeningInfo ticketOpeningInfo = (TicketOpeningInfo) ticketOpeningInfoJsonObject.toBean(ticketOpeningInfoJsonObject,TicketOpeningInfo.class);
         logger.info("-----------------saveCustomerBasicInfo...Start----------------------");
         ResponseJson rjx = this.isValiData(customerBasicInfo);
         Boolean isSaveSuccess = false;//是否保存成功标识
@@ -320,7 +322,7 @@ public class CustomerBasicController {
         }
         logger.info("-----------------添加客户信息开始----------------------");
         try {
-//            customerBasicInfoSaveService.saveCustomerBasicInfo(customerBasicInfo,dockedContactInfoList,channelSaleInfoList,billingInfo,ticketOpeningInfo);
+            customerBasicService.saveCustomerBasicInfo(customerBasicInfo,dockedContactInfoList,channelSaleInfoList,billingInfo,ticketOpeningInfo);
             isSaveSuccess = true;
         } catch (RuntimeException e) {
             isSaveSuccess = false;

+ 33 - 10
watero-rst-web/src/main/webapp/WEB-INF/views/customer/save_customer_info.ftl

@@ -153,7 +153,7 @@
                     </tr>
                     </thead>
                     <tbody id="contactListId">
-                        <tr><td colspan="5" class="td-manage text-c" >暂时没有联系人信息,请添加!</td></tr>
+                        <tr><td colspan="5" class="td-manage text-c" id="contactTbodyId" >暂时没有联系人信息,请添加!</td></tr>
                     </tbody>
                 </table>
             </div>
@@ -226,7 +226,7 @@
                     </tr>
                     </thead>
                     <tbody id="channelSaleListId">
-                    <tr><td colspan="7" class="td-manage text-c" >暂时没有客户销售渠道信息,请添加!</td></tr>
+                    <tr><td colspan="7" class="td-manage text-c" id="channelTbodyId" >暂时没有客户销售渠道信息,请添加!</td></tr>
                     </tbody>
                 </table>
             </div>
@@ -267,7 +267,7 @@
         <#--开票信息-->
         <div class="row cl" style="margin-bottom: 10px;">
             <label class="form-label col-3">
-                <div class="tit-2">开票信息<span> *是否开票<input type="radio" value="1" checked="checked">开票</input><input type="radio" value="2">不开票</input></span></div>
+                <div class="tit-2">开票信息<span> *是否开票<input type="radio" name="isOpenTicket" value="1" checked="checked">开票</input><input type="radio" name="isOpenTicket" value="2">不开票</input></span></div>
             </label>
             <div class="formControls col-9">
             </div>
@@ -575,7 +575,8 @@
     /*保存对接联系人信息到列表*/
     function toAddDockedContactInfo() {
         //var dockedContactInfoList =  new Array();
-        document.getElementById("contactListId").innerHTML = "";
+        //document.getElementById("contactListId").innerHTML = "";
+        $("#contactTbodyId").hide();
         var contactName = document.getElementById("contactName").value;
         var contactPhone = document.getElementById("contactPhone").value;
         var contactType = document.getElementById("contactType").value;
@@ -601,7 +602,8 @@
     /*保存客户销售信息到列表*/
     function toAddChannelSaleInfo() {
         //var channelSaleInfoList =  new Array();
-        document.getElementById("channelSaleListId").innerHTML = "";
+        //document.getElementById("channelSaleListId").innerHTML = "";
+        $("#channelTbodyId").hide();
         var channelCategory = document.getElementById("channelCategory").value;
         var channelType = document.getElementById("channelType").value;
         var channelName = document.getElementById("channelName").value;
@@ -609,7 +611,7 @@
         var supplyPrice = document.getElementById("supplyPrice").value;
         var accountPeriod = document.getElementById("accountPeriod").value;
         //var operation = "删除";
-        var operation = "<a href='javascript:;' onclick='deleteChannelSale(this)'>删除</a>";
+        var operation = "<a href='javascript:;' onclick='deleteChannelSale(this)' name='deleteChannelSale'>删除</a>";
         row = document.getElementById("saleTable").insertRow();
         if(row!=null){
             cell=row.insertCell();
@@ -642,6 +644,7 @@
         customerBasicInfo.customerCityCode = $("[name='customerCityCode']").val();
         customerBasicInfo.customerAddress = $("[name='customerAddress']").val();
         customerBasicInfo.customerRemarks = $("[name='customerRemarks']").val();
+        customerBasicInfo.customerStatus = "2";
         //对接联系人信息
         var dockedContactInfoList =  new Array();
         $("#contactListId").find("tr").each(function (){
@@ -690,6 +693,7 @@
         customerBasicInfoSaveForm.billingInfo = billingInfo;
         customerBasicInfoSaveForm.ticketOpeningInfo = ticketOpeningInfo;*/
 
+        var isOpenTicket = $("input[name='isOpenTicket']:checked").val();
         var saveStates = "";
         var customerInfoJson = JSON.stringify(customerBasicInfo);
         var billingInfoJson = JSON.stringify(billingInfo);
@@ -729,9 +733,7 @@
     function deleteContact(x){
         $(x).parent().parent().remove();
         // tr.parentNode.removeChild(tr);
-        if(document.getElementById("contactListId").innerHTML = ""){
-            document.getElementById("contactListId").innerHTML = "<tr><td colspan=\"5\" class=\"td-manage text-c\" >暂时没有联系人信息,请添加!</td></tr>";
-        }
+        initContactInfoListBody();
 
     }
     // 删除客户销售渠道信息函数
@@ -739,6 +741,27 @@
         $(x).parent().parent().remove();
         /*var tr = x.parentNode.parentNode;
         tr.parentNode.removeChild(tr);*/
+        initChannelSaleInfoListBody();
+    }
+
+    //监听对接联系人
+    function initContactInfoListBody() {
+        var dockedContactInfoList =  new Array();
+        $("#contactListId").find("tr").each(function (){
+            var dockedContactInfo = {};
+            dockedContactInfo.contactName = $("[name='contactName']").val();
+            dockedContactInfo.contactPhone = $("[name='contactPhone']").val();
+            dockedContactInfo.contactType = $("[name='contactType']").val();
+            dockedContactInfo.contactEmail = $("[name='contactEmail']").val();
+            dockedContactInfoList.push(dockedContactInfo);
+        })
+        if(dockedContactInfoList.length<1){
+            document.getElementById("contactListId").innerHTML = "<tr><td colspan=\"5\" class=\"td-manage text-c\" >暂时没有联系人信息,请添加!</td></tr>";
+        }
+    }
+
+    //监听销售渠道
+    function initChannelSaleInfoListBody() {
         var channelSaleInfoList =  new Array();
         $("#channelSaleListId").find("tr").each(function (){
             var channelSaleInfo = {};
@@ -751,7 +774,7 @@
             channelSaleInfoList.push(channelSaleInfo);
         })
         if(channelSaleInfoList.length<1){
-            document.getElementById("contactListId").innerHTML = "<tr><td colspan=\"7\" class=\"td-manage text-c\" >暂时没有客户销售渠道信息,请添加!</td></tr>";
+            document.getElementById("channelSaleListId").innerHTML = "<tr><td colspan=\"7\" class=\"td-manage text-c\" >暂时没有客户销售渠道信息,请添加!</td></tr>";
         }
     }
     /*业务逻辑js控制 end*/