瀏覽代碼

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

# Conflicts:
#	watero-rst-web/src/main/webapp/WEB-INF/views/order/salesOrder/add_order.ftl
liujiankang 5 年之前
父節點
當前提交
d510a617bb

+ 1 - 1
watero-rst-core/src/main/java/com.iamberry.rst.core/pts/Produce.java

@@ -39,7 +39,7 @@ public class Produce implements Serializable {
     private Integer isPrintQrcode;  //是否打印二维码 1 是 2否
     private Integer isGeneralQrcode;  //是否使用通用二维码 1 是 2否
     private String generalQrcode;  //通用二维码
-    private Integer berGenerateRules;  //1 序列化生成(原有生成规则)、2 随机生成
+    private Integer berGenerateRules;  //1 序列化生成(原有生成规则)、2 随机生成 3 博乐宝生成规则
 
     public Integer getProduceId() {
         return produceId;

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

@@ -7,6 +7,7 @@ import com.iamberry.rst.core.tools.QRCJson;
 import com.iamberry.rst.core.tools.QrCodeUtil;
 import com.iamberry.rst.core.tools.WeixinUtil;
 import com.iamberry.rst.faces.pts.*;
+import com.iamberry.wechat.tools.DateTimeUtil;
 import com.iamberry.wechat.tools.NameUtils;
 import com.iamberry.wechat.tools.ResponseJson;
 import com.iamberry.wechat.tools.ResultInfo;
@@ -585,8 +586,10 @@ public class AdminMachineController {
             String berQrcodeNum = null;
             if(produce.getBerGenerateRules() == 1){
                 berQrcodeNum = berQrcode+num;
-            }else{
+            }else if(produce.getBerGenerateRules() == 2){
                 berQrcodeNum = berQrcode;
+            }else if(produce.getBerGenerateRules() == 3){
+                berQrcodeNum =  generationBarCode(num);
             }
             if(produce.getIsPrintQrcode() == 1) {
                 if (produce.getIsGeneralQrcode() == 2) {
@@ -655,7 +658,55 @@ public class AdminMachineController {
         }
         return barcode;
     }
-
+    private String productCodeModel = "B10R100AA12";//产品编码型号名
+    private Integer years = 2014;//计算年编码需要减去的数字
+    private Integer days = 55;//计算日编码需要减去的数字
+    //生成博乐宝条形码
+    public String generationBarCode(String serialNumber) {
+        String barcode = "";
+        if(serialNumber.length() < 5){
+            serialNumber = "0"+serialNumber;
+        }
+        serialNumber = serialNumber.trim();
+        //获取年月日
+        int year = DateTimeUtil.year();
+        int month = DateTimeUtil.month() + 1;
+        int day = DateTimeUtil.day();
+        char dateYear;
+        char dateDay;
+        String dateMonthYear = "";
+        int yearCod = year - years;
+        if(yearCod < 10){
+            dateYear = (char)(yearCod +'0');
+        }else{
+            dateYear = (char)((yearCod + days) +'0');
+        }
+        if(day < 10){
+            dateDay = (char)(day +'0');
+        }else{
+            dateDay = (char)(day + days);
+        }
+        dateMonthYear = String.valueOf(dateYear) + month + dateDay;
+        //计算序列号
+        String[] nums = serialNumber.split("");
+        if(nums.length > 5){
+            List<String> list = new ArrayList<String>();
+            // 循环迭代,把数组放进List里面
+            for (String i : nums) {
+                if(i !=null && !i.equals("")){
+                    list.add(i);
+                }
+            }
+            nums = new String[]{"", "", "", "", ""};
+            for(int i = 0; i< list.size(); i++){
+                nums[i] = list.get(i);
+            }
+        }
+        int num = (Integer.valueOf(nums[4]) + Integer.valueOf(nums[2]) + Integer.valueOf(nums[0])) * 5 + (Integer.valueOf(nums[3]) + Integer.valueOf(nums[1])) * 3;
+        double checkCode = Math.ceil((double)num / 10) * 10 - num;
+        barcode = productCodeModel + dateMonthYear + serialNumber + (int)checkCode;
+        return barcode;
+    }
     /**
      * 进入添加翻新机界面
      **/
@@ -774,8 +825,10 @@ public class AdminMachineController {
                     }
                     if(produce.getBerGenerateRules() == 1){
                         berQrcodeNum = berQrcode+num;
-                    }else{
+                    }else if(produce.getBerGenerateRules() == 2){
                         berQrcodeNum = berQrcode;
+                    }else if(produce.getBerGenerateRules() == 3){
+                        berQrcodeNum =  generationBarCode(num);
                     }
                     if(produce.getIsPrintQrcode() == 1){
                         if(produce.getIsGeneralQrcode() == 2) {
@@ -817,8 +870,10 @@ public class AdminMachineController {
                     }
                     if(produce.getBerGenerateRules() == 1){
                         berQrcodeNum = berQrcode+num;
-                    }else{
+                    }else if(produce.getBerGenerateRules() == 2){
                         berQrcodeNum = berQrcode;
+                    }else if(produce.getBerGenerateRules() == 3){
+                        berQrcodeNum =  generationBarCode(num);
                     }
                     if(produce.getIsPrintQrcode() == 1) {
                         if (produce.getIsGeneralQrcode() == 2) {
@@ -1054,4 +1109,40 @@ public class AdminMachineController {
         rj.addResponseKeyValue("listptsBatch",listptsBatch);
         return rj;
     }
+
+   /* @ResponseBody
+    @RequestMapping("/getGenerationBarCode")
+    public String selectBatch(HttpServletRequest request,String serialNumber){
+        ResponseJson responseJson = new ResponseJson();
+
+        //生成博乐宝条形码
+            String barcode = "";
+            //获取年月日
+            int year = DateTimeUtil.year();
+            int month = DateTimeUtil.month() + 1;
+            int day = DateTimeUtil.day();
+            char dateYear;
+            char dateDay;
+            String dateMonthYear = "";
+            int yearCod = year - years;
+            if(yearCod < 10){
+                dateYear = (char)(yearCod +'0');
+            }else{
+                dateYear = (char)((yearCod + days) +'0');
+            }
+            if(day < 10){
+                dateDay = (char)(day +'0');
+            }else{
+                dateDay = (char)(day + days);
+            }
+            dateMonthYear = String.valueOf(dateYear) + month + dateDay;
+
+            //计算序列号
+            String[] nums = serialNumber.split("");
+            int num = (Integer.valueOf(nums[5]) + Integer.valueOf(nums[3]) + Integer.valueOf(nums[1])) * 5 + (Integer.valueOf(nums[4]) + Integer.valueOf(nums[2])) * 3;
+            double checkCode = Math.round((double)num / 10) * 10 - num;
+            barcode = productCodeModel + dateMonthYear + serialNumber + (int)checkCode;
+            return barcode;
+    }*/
+
 }

+ 49 - 19
watero-rst-web/src/main/webapp/WEB-INF/views/pts/machine/machine_print_List.ftl

@@ -180,7 +180,7 @@
             var produceBrand = produce.produceBrand;            //获取品牌字母
             var isPrintQrcode = produce.isPrintQrcode;            //是否需要打印二维码 1是 2 否
             var isGeneralQrcode = produce.isGeneralQrcode;     //是否使用通用二维码 1 是 2否
-            var berGenerateRules = produce.berGenerateRules;     //1 序列化生成(原有生成规则)、2 随机生成
+            var berGenerateRules = produce.berGenerateRules;     //1 序列化生成(原有生成规则)、2 随机生成 3 博乐宝生成规则
             produceCreateTime = formatDate(new Date());
             var machineNo = "NO." + $("#"+machineBarcode+"Id").val();
             for (var i = 0; i < settingNumber; i++) {
@@ -189,15 +189,25 @@
                 /*$("#barcodeId").html(machineBarcode);
                 $("#qrcodeImg").attr('src',machineQrcode);*/
                 if (isPrintQrcode == 2) {
-                $("#printlist").append('<div style="width: 242px;height: 120px;position: relative;">' +
-                        '<span style="position: absolute;left: 10px;font-size: 14px;">反渗透净水机</span>' +
-                        '<span style="position: absolute;top: 25px;left: 10px;font-size: 12px;visibility:hidden;">型号:'+producePattern+'-'+produceModel+'</span>' +
-                        '<span style="position: absolute;top: 40px;left: 10px;font-size: 12px;visibility:hidden;">S/N</span>' +
-                        '<div style="position: absolute;left: 5px;top: 64px;height: 30px;" id="bcTarget2" class="barcodeImg">'+barcodes+'</div>' +
-                        '<span style="position: absolute;top: 85px;left: 10px;font-size: 12px;width: 116px;text-align: center;" id="barcodeId">'+machineBarcode+'</span>' +
-                        '<img style="position: absolute;right: 5px;top:18px;width: 76px;height: 76px; display: none;" id="qrcodeImg" src="'+machineQrcode+'" /> ' +
-                        '<span style="position: absolute;right: 9px;top: 85px;font-size: 12px;">'+ produceCreateTime +'</span>' +
-                        '</div>');
+                    if(berGenerateRules === 3){
+                        $("#printlist").append('<div style="width: 242px;height: 120px;position: relative;">' +
+                                '<span style="position: absolute;left: 10px;font-size: 14px;">反渗透净水机</span>' +
+                                '<span style="position: absolute;top: 25px;left: 10px;font-size: 12px;visibility:hidden;">型号:'+producePattern+'-'+produceModel+'</span>' +
+                                '<span style="position: absolute;top: 40px;left: 10px;font-size: 12px;visibility:hidden;">S/N</span>' +
+                                '<div style="position: absolute;left: 5px;top: 64px;height: 30px;" id="bcTarget2" class="barcodeImg">'+barcodes+'</div>' +
+                                '<span style="position: absolute;top: 85px;left: 10px;font-size: 12px;width: 166px;text-align: center;" id="barcodeId">'+machineBarcode+'</span>' +
+                                '</div>');
+                    }else{
+                        $("#printlist").append('<div style="width: 242px;height: 120px;position: relative;">' +
+                                '<span style="position: absolute;left: 10px;font-size: 14px;">反渗透净水机</span>' +
+                                '<span style="position: absolute;top: 25px;left: 10px;font-size: 12px;visibility:hidden;">型号:'+producePattern+'-'+produceModel+'</span>' +
+                                '<span style="position: absolute;top: 40px;left: 10px;font-size: 12px;visibility:hidden;">S/N</span>' +
+                                '<div style="position: absolute;left: 5px;top: 64px;height: 30px;" id="bcTarget2" class="barcodeImg">'+barcodes+'</div>' +
+                                '<span style="position: absolute;top: 85px;left: 10px;font-size: 12px;width: 116px;text-align: center;" id="barcodeId">'+machineBarcode+'</span>' +
+                                '<img style="position: absolute;right: 5px;top:18px;width: 76px;height: 76px; display: none;" id="qrcodeImg" src="'+machineQrcode+'" /> ' +
+                                '<span style="position: absolute;right: 9px;top: 85px;font-size: 12px;">'+ produceCreateTime +'</span>' +
+                                '</div>');
+                    }
                 }else{
                     if(isGeneralQrcode == 1 || berGenerateRules == 2){
                         $("#printlist").append('<div style="width: 242px;height: 120px;position: relative;">' +
@@ -377,15 +387,35 @@
             code128(machineBarcode);
             var barcodes = $("#bcTarget").html();
             if (isPrintQrcode == 2) {
-                $("#printlist").append('<div style="width: 242px;height: 120px;position: relative;">' +
-                        '<span style="position: absolute;left: 10px;font-size: 14px;">反渗透净水机</span>' +
-                        '<span style="position: absolute;top: 25px;left: 10px;font-size: 12px;visibility:hidden;">型号:'+producePattern+'-'+produceModel+'</span>' +
-                        '<span style="position: absolute;top: 40px;left: 10px;font-size: 12px;visibility:hidden;">S/N</span>' +
-                        '<div style="position: absolute;left: 5px;top: 64px;height: 30px;" id="bcTarget2" class="barcodeImg">'+barcodes+'</div>' +
-                        '<span style="position: absolute;top: 85px;left: 10px;font-size: 12px;width: 116px;text-align: center;" id="barcodeId">'+machineBarcode+'</span>' +
-                        '<img style="position: absolute;right: 5px;top:18px;width: 76px;height: 76px; display: none;" id="qrcodeImg" src="'+machineQrcode+'" /> ' +
-                        '<span style="position: absolute;right: 9px;top: 85px;font-size: 12px;">'+ produceCreateTime +'</span>' +
-                        '</div>');
+                if(berGenerateRules === 3){
+                    $("#printlist").append('<div style="width: 242px;height: 120px;position: relative;">' +
+                            '<span style="position: absolute;left: 10px;font-size: 14px;">反渗透净水机</span>' +
+                            '<span style="position: absolute;top: 25px;left: 10px;font-size: 12px;visibility:hidden;">型号:'+producePattern+'-'+produceModel+'</span>' +
+                            '<span style="position: absolute;top: 40px;left: 10px;font-size: 12px;visibility:hidden;">S/N</span>' +
+                            '<div style="position: absolute;left: 5px;top: 64px;height: 30px;" id="bcTarget2" class="barcodeImg">'+barcodes+'</div>' +
+                            '<span style="position: absolute;top: 85px;left: 10px;font-size: 12px;width: 166px;text-align: center;" id="barcodeId">'+machineBarcode+'</span>' +
+
+                            '</div>');
+                   /* $("#printlist").append('<div style="width: 242px;height: 120px;position: relative;">' +
+                            '<span style="position: absolute;left: 10px;font-size: 14px;">反渗透净水机</span>' +
+                            '<span style="position: absolute;top: 25px;left: 10px;font-size: 12px;visibility:hidden;">型号:'+producePattern+'-'+produceModel+'</span>' +
+                            '<span style="position: absolute;top: 40px;left: 10px;font-size: 12px;visibility:hidden;">S/N</span>' +
+                            '<div style="position: absolute;left: 5px;top: 64px;height: 30px;" id="bcTarget2" class="barcodeImg">'+barcodes+'</div>' +
+                            '<span style="position: absolute;top: 85px;left: 10px;font-size: 12px;width: 116px;text-align: center;" id="barcodeId">'+machineBarcode+'</span>' +
+                            '<img style="position: absolute;right: 5px;top:18px;width: 76px;height: 76px; display: none;" id="qrcodeImg" src="'+machineQrcode+'" /> ' +
+                            '<span style="position: absolute;right: 9px;top: 85px;font-size: 12px;"></span>' +
+                            '</div>');*/
+                }else{
+                    $("#printlist").append('<div style="width: 242px;height: 120px;position: relative;">' +
+                            '<span style="position: absolute;left: 10px;font-size: 14px;">反渗透净水机</span>' +
+                            '<span style="position: absolute;top: 25px;left: 10px;font-size: 12px;visibility:hidden;">型号:'+producePattern+'-'+produceModel+'</span>' +
+                            '<span style="position: absolute;top: 40px;left: 10px;font-size: 12px;visibility:hidden;">S/N</span>' +
+                            '<div style="position: absolute;left: 5px;top: 64px;height: 30px;" id="bcTarget2" class="barcodeImg">'+barcodes+'</div>' +
+                            '<span style="position: absolute;top: 85px;left: 10px;font-size: 12px;width: 116px;text-align: center;" id="barcodeId">'+machineBarcode+'</span>' +
+                            '<img style="position: absolute;right: 5px;top:18px;width: 76px;height: 76px; display: none;" id="qrcodeImg" src="'+machineQrcode+'" /> ' +
+                            '<span style="position: absolute;right: 9px;top: 85px;font-size: 12px;">'+ produceCreateTime +'</span>' +
+                            '</div>');
+                }
             }else{
                 if(isGeneralQrcode == 1 || berGenerateRules == 2){
                     $("#printlist").append('<div style="width: 242px;height: 120px;position: relative;">' +

+ 1 - 0
watero-rst-web/src/main/webapp/WEB-INF/views/pts/produce/save_produce.ftl

@@ -68,6 +68,7 @@
                 <div class="input-box"><span class="input-dic">条形码生成规则</span>
                     <label><input type="radio" name="berGenerateRules" value="1" checked>序列化生成(原有生成规则)</label>
                     <label><input type="radio" name="berGenerateRules" value="2">随机生成</label>
+                    <label><input type="radio" name="berGenerateRules" value="3">博乐宝生成规则</label>
                 </div>
                 <div class="input-box"><span class="input-dic">是否需要二维码</span>
                     <label><input type="radio" name="isPrintQrcode" value="1" checked>是</label>

+ 1 - 0
watero-rst-web/src/main/webapp/WEB-INF/views/pts/produce/update_produce.ftl

@@ -66,6 +66,7 @@
             <div class="input-box"><span class="input-dic">条形码生成规则</span>
                 <label><input type="radio" name="berGenerateRules" value="1" <#if produce.berGenerateRules??> <#if produce.berGenerateRules == 1>checked</#if></#if>>序列化生成(原有生成规则)</label>
                 <label><input type="radio" name="berGenerateRules" value="2" <#if produce.berGenerateRules??> <#if produce.berGenerateRules == 2>checked</#if></#if>>随机生成</label>
+                <label><input type="radio" name="berGenerateRules" value="2" <#if produce.berGenerateRules??> <#if produce.berGenerateRules == 3>checked</#if></#if>>博乐宝生成规则</label>
             </div>
             <div class="input-box"><span class="input-dic">是否需要二维码</span>
                 <label><input type="radio" name="isPrintQrcode" value="1"<#if produce.isPrintQrcode??> <#if produce.isPrintQrcode == 1>checked</#if></#if>>是</label>