Jelajahi Sumber

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

liujiankang 7 tahun lalu
induk
melakukan
0b1327094b

+ 3 - 0
watero-rst-interface/src/main/java/com/iamberry/rst/faces/pts/MachineService.java

@@ -37,6 +37,9 @@ public interface MachineService {
     //分页查询机器打印列表
     PagedResult<PtsMachine> getPrintOrderList(int pageNO, int pageSize, PtsMachine ptsMachine, boolean isTotalNum);
 
+    //机器集合
+    List<PtsMachine> ListPtsMachine(PtsMachine ptsMachine);
+
     //获取单个机器生产流程日志
     List<PtsMachineLogs> listMachineLogs(Integer machineId);
 

+ 5 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/pts/MachineServiceImpl.java

@@ -65,6 +65,11 @@ public class MachineServiceImpl implements MachineService {
     }
 
     @Override
+    public List<PtsMachine> ListPtsMachine(PtsMachine ptsMachine) {
+        return machineMapper.listMachine(ptsMachine);
+    }
+
+    @Override
     public List<PtsMachineLogs> listMachineLogs(Integer machineId) {
         return machineMapper.listMachineLogs(machineId);
     }

+ 29 - 4
watero-rst-web/src/main/java/com/iamberry/rst/controllers/pts/AdminMachineController.java

@@ -668,6 +668,16 @@ public class AdminMachineController {
         return rj;
     }
 
+    /**
+     * 出库页面获取销售公司集合
+     **/
+    @RequiresPermissions("machine:delivery:machine")
+    @RequestMapping("/to_delivery")
+    public ModelAndView toDelivery(HttpServletRequest request) {
+        ModelAndView modelAndView = new ModelAndView("wap/pts/machine_delivery");
+        return modelAndView;
+    }
+
 
     /**
      * 出库页面获取销售公司集合
@@ -675,7 +685,7 @@ public class AdminMachineController {
     @ResponseBody
     @RequiresPermissions("machine:delivery:machine")
     @RequestMapping("/list_delivery")
-    public ResponseJson toDelivery(HttpServletRequest request) {
+    public ResponseJson listDelivery(HttpServletRequest request) {
         PtsSalesCompany ptsSalesCompany = new PtsSalesCompany();
         List<PtsSalesCompany> ptsSalesCompanyList = ptsSalesCompanyService.listPtsSalesCompany(ptsSalesCompany);
 
@@ -704,17 +714,32 @@ public class AdminMachineController {
         }
         PtsMachine machine = new PtsMachine();
         machine.setMachineBarcode(ptsMachine.getMachineBarcode());
+
+        //判断机器是否已经出过库了
+        List<PtsMachine> listPtsMachine = machineService.ListPtsMachine(machine);
+        if(listPtsMachine != null && listPtsMachine.size() > 0){
+            PtsMachine ma = listPtsMachine.get(0);
+            if(ma.getMachineSalesState() == 1){
+                ResponseJson rj = new ResponseJson(501, "ERROR", 501);
+                rj.setResultMsg("该机器已出库了");
+                return rj;
+            }
+        }else{
+            ResponseJson rj = new ResponseJson(501, "ERROR", 501);
+            rj.setResultMsg("未查询到该机器");
+            return rj;
+        }
         machine.setMachineSalesDate(ptsMachine.getMachineSalesDate());
         machine.setMachineSalesCompanyId(ptsMachine.getMachineSalesCompanyId());
-        ptsMachine.setMachineSalesState(1); //设置状态为已售出
+        machine.setMachineSalesState(1); //设置状态为已售出
         int flag = machineService.updateMachine(machine);
         if(flag < 1){
             ResponseJson rj = new ResponseJson(500, "ERROR", 500);
-            rj.setResultMsg("录入订单失败");
+            rj.setResultMsg("录入出库信息失败");
             return rj;
         }
         ResponseJson rj = new ResponseJson(200, "SUCCESS", 200);
-        rj.setResultMsg("录入订单成功");
+        rj.setResultMsg("录入出库信息失败");
         return rj;
     }
 

+ 370 - 0
watero-rst-web/src/main/webapp/WEB-INF/views/wap/pts/machine_delivery.ftl

@@ -0,0 +1,370 @@
+<!DOCTYPE HTML>
+<html>
+<head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1,user-scalable=no">
+    <meta name="apple-mobile-web-app-capable" content="yes">
+    <meta name="apple-mobile-web-app-status-bar-style" content="black">
+    <#assign path="${request.contextPath}">
+    <link href="${path}/common/static/h-ui/css/H-ui.min.css" rel="stylesheet" type="text/css" />
+    <link href="${path}/common/lib/mui/css/mui.min.css" rel="stylesheet" type="text/css" />
+    <link href="${path}/common/lib/mui/css/mui.picker.min.css" rel="stylesheet" type="text/css" />
+    <link href="${path}/common/lib/mui/css/mui.poppicker.css" rel="stylesheet" type="text/css" />
+    <link href="${path}/common/css/input_order/input_order1.css" rel="stylesheet" type="text/css" />
+    <link rel="stylesheet" type="text/css" href="//css.iamberry.com/wateroPF/new/css/iconfont.css?v=2017072401" />
+    <title>RST - 产品出库</title>
+</head>
+<body class="mui-fullscreen">
+<!--页面主结构开始-->
+<div id="app" class="mui-views">
+    <div class="mui-view">
+        <div class="mui-navbar" style="display: none;">
+        </div>
+        <div class="mui-pages">
+        </div>
+    </div>
+</div>
+<!--页面主结构结束-->
+<!--单页面开始-->
+<div id="setting" class="mui-page">
+    <!--页面标题栏开始-->
+    <div class="mui-navbar-inner mui-bar mui-bar-nav">
+    </div>
+    <!--页面标题栏结束-->
+    <!--页面主内容区开始-->
+    <div class="mui-page-content">
+        <div class="mui-scroll-wrapper">
+            <div class="mui-scroll my-scroll1">
+                <article class="cl pd-10">
+                    <ul class="my_input_list" id="basic_input_list">
+                        <li class="title"><label>出库信息</label></li>
+                        <li>销售公司&nbsp;&nbsp;
+                            <input type="text" class="input-text w-75" id="machineSalesCompanyId" placeholder="请选择销售公司" readonly="readonly">
+                        </li>
+                        <li>条&nbsp;&nbsp;形&nbsp;&nbsp;码&nbsp;&nbsp;<span id="xy_number"></span>
+                            <input type="text" class="input-text" id="machineBarcode" style="width: 60%;margin-bottom: 0;" placeholder="请扫描条形码">
+                            <span class="iconfont icon-saoma"></span>
+                        </li>
+                        <li>销售日期&nbsp;&nbsp;
+                            <input type="text" id="machineSalesDate" class="input-text w-75"  placeholder="请选择日期" readonly="readonly">
+                        </li>
+                    </ul>
+                </article>
+                <div class="row loginbox_btn">
+                    <div class="formControls col-8 col-offset-2">
+                        <a class="btn btn-block btn-water radius size-L" href="javascript:void(0);" onclick="addMachineDelivery()">提交</a>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+    <!--页面主内容区结束-->
+</div>
+<!--单页面结束-->
+<script type="text/javascript" src="${path}/common/lib/mui/js/mui.min.js"></script>
+<script type="text/javascript" src="${path}/common/lib/mui/js/mui.view.js"></script>
+<script type="text/javascript" src="${path}/common/lib/mui/js/mui.picker.min.js"></script>
+<script type="text/javascript" src="${path}/common/lib/mui/js/city.data-3.js"></script>
+<script type="text/javascript" src="${path}/common/lib/jquery/1.9.1/jquery.min.js"></script>
+<script type="text/javascript" src="${path}/common/js/order/order_common.js"></script>
+
+<script type="text/javascript" src="http://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
+<script src="//s.iamberry.com/wateroPF/js/shop/wechat-utils-1.0.js"></script>
+<script>
+    var check = true,alert_msg='';
+    var mobile=/^(13|14|15|18|17)[0-9]{9}$/; //手机号码
+    var uname = /^[\u4e00-\u9fa5]{2,7}$/; //中文英文
+    var code = /^[0-9]{4}$/; //数字
+    var positive_float = /^[1-9]{1}\d*.[0-9]{1,3}$/; //正浮点数
+    var positive_int = /^[0-9]{1}\d*$/; //正整数0-9
+    var positive_int4 = /^[0-9]{4}$/; //交易尾号
+    var ch_en_num=/^[A-Za-z0-9_\-\u4e00-\u9fa5]{1,}$/;//简体中文英文数字
+    var en_num=/^[A-Za-z0-9]{9,12}$/;//英文数字9位-10位数
+    var en_num1=/^[A-Za-z0-9\-]{1,}$/;//英文数字
+    var card_id=/^(\d{17}[\d|x]|\d{15})$/; //身份证(国内)
+    var validate_flag=false;
+    mui.init();
+    //初始化单页view
+    var viewApi = mui('#app').view({
+        defaultPage: '#setting'
+    });
+    mui('.mui-scroll-wrapper').scroll();
+    mui.ready(function() {
+
+    });
+
+    /*时间选择-- */
+    mui('body').on('tap', '#machineSalesDate', function() {
+        var th=this;
+        var userPicker = new mui.PopPicker();
+        var dtpicker = new mui.DtPicker({
+            "type": "date",
+            "customData": {}
+        })
+        var iTems;
+        dtpicker.show(function (machineSalesDate) {
+            //onsole.log(selectItems.m);//{text: "05",value: "05"}
+            iTems=machineSalesDate.y.value + "-" + machineSalesDate.m.value + "-" + machineSalesDate.d.value;
+            $('#machineSalesDate').val(iTems);
+        })
+    });
+
+    /*扫码*/
+    mui('body').on('tap', '.icon-saoma', function() {
+        wx.scanQRCode({
+            needResult: 1, // 默认为0,扫描结果由微信处理,1则直接返回扫描结果,
+            scanType: ["barCode"], // 可以指定扫二维码还是一维码,默认二者都有
+            success: function (res) {
+                var result = res.resultStr; // 当needResult 为 1 时,扫码返回的结果
+                if (result.indexOf("weixin.qq.com") > 0) {
+                    mui.alert("请扫描条形码!");
+                } else {
+                    var code = result;
+                    var brCode = code.split(",");
+                    $('#machineBarcode').val(brCode[1]);
+                }
+            }
+        });
+    });
+
+    /*销售公司选择*/
+    mui('body').on('tap', '#machineSalesCompanyId', function() {
+        var th=this;
+        var userPicker = new mui.PopPicker();
+        mui.ajax('${path}/admin/machine/list_delivery', {
+            data: {
+                sourceAddress:''
+            },
+            type: 'post',
+            timeout: 15000,
+            success: function(dt) {
+                if(dt.isRedirect) {
+                    location.href = dt.redirectURL;
+                }else{
+                    if(dt.resultCode=="200") {
+                        var mydata=[];
+                        mui(dt.returnMsg.ptsSalesCompanyList).each(function(index) {
+                            var a={text:this.salesCompanyName,value:this.salesCompanyId,number:this.salesCompanyId};
+                            mydata.push(a);
+                        });
+                        userPicker.setData(mydata);
+                    }else{
+                        mui.alert(dt.resultMsg);
+                    }
+                }
+            },
+            error: function(xhr, type, errorThrown) {
+                mui.alert("加载失败!请检查网络或稍后重试!");
+            }
+        });
+        userPicker.show(function(items) {
+//            th.value = items[0].text;
+            th.setAttribute("name",items[0].value);
+            $('#machineSalesCompanyId').val(items[0].text);
+        });
+    });
+
+    mui('body').on('tap', '#mydate', function() {
+        var YY = new Date().getFullYear() + 1,
+                MM = new Date().getMonth(),
+                DD = new Date().getDate() + 1;
+        var th = this;
+        var picker = new mui.DtPicker({
+            type: "date",                   //设置日历初始视图模式
+            beginDate: new Date(),          //设置开始日期
+            endDate: new Date(YY, MM, DD)   //设置结束日期
+        });
+        picker.show(function(rs) {
+            th.value = rs.text;
+            picker.dispose();
+        });
+    });
+
+    /*提交*/
+    function addMachineDelivery(){
+        mui("#basic_input_list .input-text").each(function() {
+            switch(this.getAttribute("id")) {
+                case "machineSalesCompanyId":
+                    if (this.value != "") {
+                        validate_flag = true;
+                    } else {
+                        alert_msg = "请选择销售公司";
+                        validate_flag = false;
+                        return false;
+                    }
+                    break;
+                case "machineBarcode":
+                    var en_name = /^[a-zA-Z0-9]+$/;
+                    if (this.value == "") {
+                        alert_msg = "请输入条形码";
+                        validate_flag = false;
+                        return false;
+                    }else if(this.value.length != 13){
+                        alert_msg = "条形码格式不正确";
+                        validate_flag = false;
+                        return false;
+                    }else if(!(en_name.test(this.value))){
+                        alert_msg = "条形码格式不正确";
+                        validate_flag = false;
+                        return false;
+                    }else{
+                        validate_flag = true;
+                    }
+                    break;
+                case "machineSalesDate":
+                    if (this.value != "") {
+                        validate_flag = true;
+                    } else {
+                        alert_msg = "请选择销售日期";
+                        validate_flag = false;
+                        return false;
+                    }
+                    break;
+                default:
+                    break;
+            }
+    });
+        if(!validate_flag){
+            mui.alert(alert_msg);
+            return false
+        }
+
+        var param = {
+            "machineSalesCompanyId":$("#machineSalesCompanyId").attr("name"),
+            "machineBarcode": $("#machineBarcode").val(),
+            "machineSalesDate": $("#machineSalesDate").val()
+        };
+
+        $.ajax({
+            type: 'post',
+            url: '${path}/admin/machine/machine_delivery?dates=' + new Date().getTime(),
+            data: param,
+            dataType: 'json',
+            timeout: 15000,
+            success: function(dt) {
+                if(dt.isRedirect) {
+                    location.href = dt.redirectURL;
+                }else{
+                    if(dt.resultCode=='200' && dt.returnCode=='200') {
+                        mui.alert('录入出库信息成功');
+                    }else if(dt.returnCode == 500){
+                        mui.alert('录入出库信息失败');
+                    } else {
+                        mui.alert(dt.resultMsg);
+                    }
+                }
+            },
+            error: function(xhr, type, errorThrown) {
+                //异常处理;
+                mui.alert("提交失败!请检查网络或稍后重试!");
+            }
+        });
+    }
+
+    function change_input1() {
+        if($("#mydate")!=''){
+        }else{
+            alert_msg = "请选择租赁开始日期";
+            validate_flag = false;
+        }
+    };
+
+    mui('body').on('tap', '#btn_submit', function() {
+        change_input2();
+        var th=this;
+        if(validate_flag){
+            if(check) {
+                check = false; // 锁定请求按钮
+                var arr=new Array();
+                $("input[name^='checkbox1']:checked").each(function(){
+                    var clss = 'radio_p_' + $(this).val();
+                    arr.push($("input:radio[name='" + clss + "']:checked").val());
+                });
+                var orderUserRemark = '';
+                if ($('input[name="orderPayMoneyType"]:checked').val() == 2) {
+                    orderUserRemark = $("#payTypeAdress").attr("name")+"-"+$("#ipt_pay_type_adress").val();
+                }
+                var param = {
+                    "orderSourceId":$("#myAdress").attr("name"),
+                    "orderRentType": $("input[name=radio1]:checked").val(),
+                    "orderOpenId": $("#ipt_id_card").val(),
+                    "orderSendType":$("input[name=radio5]:checked").val(),
+                    "orderPayType":$("input[name=radio3]:checked").val(),
+                    "orderPayMoneyType":$("input[name=orderPayMoneyType]:checked").val(),
+                    "orderAddressTel":$("#ipt_tel").val(),
+                    "orderAddressName":$("#ipt_name").val(),
+                    "orderAddressInfo":$("#promAdress").attr("name")+"-"+$("#ipt_street_adress").val(),
+                    "startTime":$("#mydate").val(),
+                    "orderAdminRemark":$("#textarea").val(),
+                    "orderUserRemark":orderUserRemark,
+                    "itemColorId":$("input[name=radio2]:checked").val(),
+                    "orderProtocol":$("#ipt_number").val(),
+                    "itemProductId":$("input[name=radio4]:checked").val(),
+                    "orderPayNumber":$("#ipt_transaction").val(),
+                    "orderPayTime":$("#ipt_pay_time").val(),
+                    "giftIds":arr
+                };
+                $.ajax({
+                    type: 'post',
+                    url: '${path}/admin/order/add_order?dates=' + new Date().getTime(),
+                    data: param,
+                    dataType: 'json',
+                    timeout: 15000,
+                    success: function(dt) {
+                        if(dt.isRedirect) {
+                            location.href = dt.redirectURL;
+                        }else{
+                            if(dt.resultCode=='200' && dt.returnCode=='200') {
+                                check = false;
+                                var orderId=dt.returnMsg.orderId;
+                                mui.alert("提交成功!",function () {
+                                    mui.openWindow({
+                                        //跳转订单详情
+                                        url: '${path}/admin/order/_select_orderDetails?orderId='+orderId+'&status=1'
+                                    });
+                                });
+                            }else if(dt.returnCode == 502){
+                                check = true;
+                                mui.alert('协议编号已存在');
+                            } else {
+                                check = true;
+                                mui.alert(dt.returnMsg);
+                            }
+                        }
+                    },
+                    error: function(xhr, type, errorThrown) {
+                        //异常处理;
+                        check = true;
+                        mui.alert("提交失败!请检查网络或稍后重试!");
+                    }
+                });
+            }else{
+                mui.alert("正在提交中~~请稍后!");
+                return;
+            }
+        }else{
+            mui.alert(alert_msg);
+        }
+    });
+    function accDiv(arg1, arg2) {
+        var t1 = 0,
+                t2 = 0,
+                r1, r2;
+        try {
+            t1 = arg1.toString().split(".")[1].length
+        } catch(e) {}
+        try {
+            t2 = arg2.toString().split(".")[1].length
+        } catch(e) {}
+        with(Math) {
+            r1 = Number(arg1.toString().replace(".", ""));
+            r2 = Number(arg2.toString().replace(".", ""));
+            return(r1 / r2) * pow(10, t2 - t1)
+        }
+    };
+    Number.prototype.div = function(arg) {
+        return accDiv(this, arg)
+    };
+</script>
+</body>
+</html>

+ 18 - 8
watero-rst-web/src/main/webapp/WEB-INF/views/wap/wap_index.ftl

@@ -23,34 +23,36 @@
 		</div>
 <div class="index-menu">
 	<div class="menu-box">
-		<#if dept_name=="SALVE">
-			<#-- 销售部门 -->
+		<#--<#if dept_name=="SALVE">
+			&lt;#&ndash; 销售部门 &ndash;&gt;
 			<#if dept_role>
-				<#--销售部门领导-->
+				&lt;#&ndash;销售部门领导&ndash;&gt;
                 <div class="iconfont menu-1 active"></div>
                 <div class="iconfont menu-2 active"></div>
                 <div class="iconfont menu-3 disabled"></div>
                 <div class="iconfont menu-4 active"></div>
 			<#else>
-				<#--销售部门业务员-->
+				&lt;#&ndash;销售部门业务员&ndash;&gt;
                 <div class="iconfont menu-1 active"></div>
                 <div class="iconfont menu-2 active"></div>
                 <div class="iconfont menu-3 disabled"></div>
                 <div class="iconfont menu-4 disabled"></div>
 			</#if>
 		<#elseif dept_name="FINANCE">
-			<#--财务信息-->
+			&lt;#&ndash;财务信息&ndash;&gt;
             <div class="iconfont menu-1 disabled"></div>
             <div class="iconfont menu-2 disabled"></div>
             <div class="iconfont menu-3 active"></div>
             <div class="iconfont menu-4 disabled"></div>
 		<#else>
-			<#--其他人都展示所有-->
+			&lt;#&ndash;其他人都展示所有&ndash;&gt;
             <div class="iconfont menu-1 active"></div>
             <div class="iconfont menu-2 active"></div>
             <div class="iconfont menu-3 active"></div>
             <div class="iconfont menu-4 active"></div>
-		</#if>
+		</#if>-->
+
+            <div class="iconfont menu-1 active" style="position: absolute;left: 32%;top: 45%;width: 100px;height: 55px;"></div>
 	</div>
 </div>
 <div class="index-footer">
@@ -68,7 +70,9 @@
 	    if(this.classList.contains('menu-1')){
             mui.openWindow({
                 //录入订单
-                url: '${path}/admin/order/_addorder'
+               /// url: '${path}/admin/order/_addorder'
+                //产品出库
+                url: '${path}/admin/machine/to_delivery'
             });
 		}else if(this.classList.contains('menu-2')){
             //查看订单
@@ -89,6 +93,12 @@
 	}, false);
 });
 </script>
+    <script>
+        /*机器出库*/
+        function machineDelivery() {
+            window.location.href= "${path}/admin/machine/to_delivery";
+        }
+    </script>
 </body>
 
 </html>

+ 3 - 3
watero-rst-web/src/main/webapp/common/css/mobile-index.css

@@ -1,13 +1,13 @@
 html{min-height: 100%;}
 body{background: url(../images/mobile_index_bg.jpg) center center no-repeat;background-size: 100% 100%;min-height: 100%;height: 100%;}
 .index-menu{position: fixed;top: 50%;left: 50%;width: 280px;height: 280px;background: #fff;margin: -180px 0 0 -140px;border-radius: 50%;border: 4px solid #58d1eb;}
-.index-menu:before{content: '';position: absolute;left: 50%;top: 0;width: 4px;height: 272px;background: #58d1eb;margin-left: -2px;}
-.index-menu:after{content: '';position: absolute;left: 0;top: 50%;width: 272px;height: 4px;background: #58d1eb;margin-top: -2px;}
+.index-menu:before{content: '';position: absolute;left: 50%;top: 0;width: 4px;height: 272px;margin-left: -2px;}
+.index-menu:after{content: '';position: absolute;left: 0;top: 50%;width: 272px;height: 4px;margin-top: -2px;}
 .menu-box{position: relative;height: 100%;}
 .menu-1{position: absolute;left: 20%;top: 22%;width: 60px;height: 60px;}
 .menu-1:before{content: '\e699';font-size: 40px;position: absolute;top: 0;left: 0;text-align: center;width: 100%;color: #ddd;}
 .menu-1.active:before{color: #58d1eb;}
-.menu-1:after{content: '录入订单';font-size: 14px;text-align: center;position: absolute;bottom: 0;left: 0;color: #ddd;}
+.menu-1:after{content: '产品出库';font-size: 14px;text-align: center;position: absolute;bottom: 0;left:20px;color: #ddd;}
 .menu-1.active:after{color: #999;}
 .menu-2{position: absolute;right: 20%;top: 22%;width: 60px;height: 60px;}
 .menu-2:before{content: '\e698';font-size: 44px;position: absolute;top: 0;right: 0;text-align: center;width: 100%;color: #ddd;}