Bläddra i källkod

增加添加机器功能

liujiankang 7 år sedan
förälder
incheckning
eb3ca23527

+ 2 - 2
watero-rst-core/src/main/java/com.iamberry.rst.core/tools/QRCJson.java

@@ -25,6 +25,6 @@ public class QRCJson implements java.io.Serializable{
 	public void setExpire_seconds(String expire_seconds) {
 		this.expire_seconds = expire_seconds;
 	}
-	
-	
+
+
 }

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

@@ -9,6 +9,7 @@ import com.iamberry.rst.core.pts.PtsMachine;
 import com.iamberry.rst.core.pts.PtsMachineLogs;
 import com.iamberry.rst.core.pts.PtsMachineStatistics;
 
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -65,4 +66,7 @@ public interface MachineService {
 
     //根据工序id统计生成机器时选项被选择的次数
     List<PtsMachineStatistics> nodeNormalByPrduceId(Integer processId);
+
+    //批量添加机器
+    Integer addMahineBatch(ArrayList<PtsMachine> ptsList);
 }

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

@@ -14,6 +14,7 @@ import com.iamberry.rst.util.PageUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
 import java.util.List;
 
 
@@ -116,4 +117,9 @@ public class MachineServiceImpl implements MachineService {
         return machineMapper.nodeNormalByPrduceId(processId);
     }
 
+    @Override
+    public Integer addMahineBatch(ArrayList<PtsMachine> ptsList) {
+        return machineMapper.addMahineBatch(ptsList);
+    }
+
 }

+ 4 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/pts/mapper/MachineMapper.java

@@ -5,6 +5,7 @@ import com.iamberry.rst.core.pts.PtsMachine;
 import com.iamberry.rst.core.pts.PtsMachineLogs;
 import com.iamberry.rst.core.pts.PtsMachineStatistics;
 
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -56,4 +57,7 @@ public interface MachineMapper {
 
     //根据工序id统计生成机器时选项被选择的次数
     List<PtsMachineStatistics> nodeNormalByPrduceId(Integer processId);
+
+    //批量添加机器
+   Integer addMahineBatch(ArrayList<PtsMachine> ptsList);
 }

+ 13 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/pts/mapper/machineMapper.xml

@@ -291,4 +291,17 @@
         GROUP BY
             ml.process_node_id
     </select>
+
+    <!--批量添加机器 -->
+    <insert id="addMahineBatch" useGeneratedKeys="true" parameterType="java.util.List">
+        insert into tb_rst_pts_machine (machine_qrcode,machine_barcode,machine_sales_state,
+        machine_status,machine_produced_time,machine_is_print,
+        machine_compound_img,machine_process_state,machine_create_time,machine_produce_type,machine_nfcId)
+        values
+        <foreach collection="list" item="item" index="index" separator="," >
+            (#{item.machineQrcode},#{item.machineBarcode},2,#{item.machineStatus},
+            #{item.machineProducedTime},#{item.machineIsPrint},#{item.machineCompoundImg},#{item.machineProcessState},
+            #{item.machineCreateTime},#{item.machineProduceType},#{item.machineNfcId})
+        </foreach>
+    </insert>
 </mapper>

+ 65 - 0
watero-rst-web/src/main/java/com/iamberry/rst/controllers/pts/AdminMachineController.java

@@ -9,8 +9,12 @@ import com.iamberry.rst.core.pts.ProduceProcess;
 import com.iamberry.rst.core.pts.PtsMachine;
 import com.iamberry.rst.core.pts.PtsMachineLogs;
 import com.iamberry.rst.core.pts.PtsMachineStatistics;
+import com.iamberry.rst.core.tools.QRCJson;
+import com.iamberry.rst.core.tools.WeixinUtil;
 import com.iamberry.rst.faces.pts.*;
+import com.iamberry.wechat.tools.NameUtils;
 import com.iamberry.wechat.tools.ResponseJson;
+import com.iamberry.wechat.tools.ResultInfo;
 import net.sf.json.JSONObject;
 import org.apache.commons.lang.StringUtils;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
@@ -338,5 +342,66 @@ public class AdminMachineController {
         }
         return mm;
     }
+
+    private String productNfcId = "1390730000";//默认nfcId
+
+    /**
+     * 进入批量生产机器页面
+     * @author LJK
+     * @date 2017年8月31日16:08:15
+     * @return
+     */
+    @RequiresPermissions("machine:add:batch")
+    @RequestMapping("/_to_add_batch")
+    public ModelAndView toAddMachineBatch(){
+        ModelAndView mv = new ModelAndView("pts/machine/batchAddMachine");
+        return mv;
+    }
+
+    @RequiresPermissions("machine:add:batch")
+    @ResponseBody
+    @RequestMapping("/_add_machine_batch")
+    public ResponseJson addMachineBatch(HttpServletRequest request){
+        ResponseJson rj = new ResponseJson();
+        String machineType = request.getParameter("machineType");
+        String machineSoftwareVersion = request.getParameter("machineSoftwareVersion");
+        String number = request.getParameter("number");
+        if(machineType == null || machineType.equals("") ||
+                machineSoftwareVersion == null || machineSoftwareVersion.equals("") ||
+                number == null || number.equals("")){
+            rj.setReturnCode(500);
+            return rj;
+        }
+        ArrayList<PtsMachine> ptsList = new ArrayList<PtsMachine>();
+        PtsMachine ptsMachine = new PtsMachine();
+        MachineController machineController = new MachineController();
+        for (int i = 0;i < Integer.valueOf(number);i++){
+            //生成条形码,二维码
+            String berQrcode = machineController.generationBarCode();
+            String json = String.format(NameUtils.QR_LIMIT_STR_SCENE, ResultInfo.barCodePrefix+berQrcode);
+            QRCJson qrc = WeixinUtil.createQrcode(json);
+            ptsMachine.setMachineQrcode(qrc.getUrl());//二维码
+            ptsMachine.setMachineBarcode(berQrcode);//条形码
+            ptsMachine.setMachineStatus(1);//机器状态
+            ptsMachine.setMachineProducedTime(new Date());//生产时间
+            ptsMachine.setMachineIsPrint(1);//是否打印1:未打印2:已打印
+            ptsMachine.setMachineCompoundImg("合成的图片url");
+            ptsMachine.setMachineProcessState(1);//生成流程状态1.正常2.异常
+            ptsMachine.setMachineCreateTime(new Date());//创建时间
+            ptsMachine.setMachineProduceType(Integer.valueOf(machineType));//产品类型
+            ptsMachine.setMachineNfcId(productNfcId);
+            ptsMachine.setMachineHardwareVersion(machineSoftwareVersion);
+            ptsMachine.setMachineSoftwareVersion(machineSoftwareVersion);
+            ptsList.add(ptsMachine);
+        }
+        Integer msg = machineService.addMahineBatch(ptsList);
+        if(msg > 0){
+            rj.setReturnCode(200);
+        }else{
+            rj.setReturnCode(500);
+        }
+        return rj;
+    }
+
 }
 

+ 103 - 0
watero-rst-web/src/main/webapp/WEB-INF/views/pts/machine/batchAddMachine.ftl

@@ -0,0 +1,103 @@
+<!DOCTYPE HTML>
+<html>
+<head>
+<meta charset="utf-8">
+<meta name="renderer" content="webkit|ie-comp|ie-stand">
+<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />
+<meta http-equiv="Cache-Control" content="no-siteapp" />
+<title>添加机器</title>
+<#include "/base/list_base.ftl">
+</head>
+<body>
+<div class="pd-20">
+	<form   class="form form-horizontal" id="form-admin-add">	
+		<div class="row cl">
+			<label class="form-label col-3"><span class="c-red">*</span>产品:</label>
+			<div class="formControls col-5">
+                <select class="my-select" name="machineType">
+                    <option value ="1">净水机</option>
+                    <option value ="2">冲奶机</option>
+                </select>
+			</div>
+			<div class="col-4"> </div>
+		</div>
+		<div class="row cl">
+			<label class="form-label col-3"><span class="c-red">*</span>软件版本:</label>
+			<div class="formControls col-5">
+				<input id="machineSoftwareVersion" type="text" name="machineSoftwareVersion"  value="" class="input-text" datatype="*6-20" nullmsg="描述不能为空,可以为:xx月二次生成">
+			</div>
+			<div class="col-4"> </div>
+		</div>
+		<div class="row cl">
+			<label class="form-label col-3"><span class="c-red">*</span>数量:</label>
+			<div class="formControls col-5">
+				<input id="number" type="text" name="number"  value="" class="input-text" datatype="*6-20" nullmsg="每次最少生成一个机器">
+			</div>
+			<div class="col-4"> </div>
+		</div>
+
+		<div class="row cl">
+			<div class="col-9 col-offset-3">
+				<input id="sumbit" class="btn btn-primary radius" type="button" value="&nbsp;&nbsp;提交&nbsp;&nbsp;" onclick="admin_add()">
+			</div>
+		</div>
+	</form>
+</div>
+<script type="text/javascript"
+        src="${pageContext.request.contextPath }/common/admin/js/tips.js"></script>
+<script type="text/javascript">
+ function dataCharm() {
+         var machineSoftwareVersion = $("#machineSoftwareVersion").val();
+         if(machineSoftwareVersion == null){
+             layer.msg("软件版本不能为空",{icon: 5,time:3000});
+             return false;
+         }
+         if(1 > machineSoftwareVersion.length > 11){
+             layer.msg("软件版本长度为2-10位",{icon: 5,time:3000});
+             return false;
+         }
+         var number = $("#number").val();
+         if(number == null){
+             layer.msg("数量不能为空",{icon: 5,time:3000});
+             return false;
+         }
+         if(1 > number.length > 5){
+             layer.msg("数量长度为2-10位",{icon: 5,time:3000});
+             return false;
+         }
+         return true;
+ }
+
+/*管理员-添加*/
+function admin_add(){
+   		  var msg = dataCharm();
+   		  if(msg){
+              $.ajax({
+                  url: '${pageContext.request.contextPath }/admin/machine/_add_machine_batch',
+                  type: "POST",
+                  dataType: "json",
+                  data: $("#form-admin-add").serialize(),
+                  beforeSubmit: function (data) {
+                      $("#submit").attr("disabled","disabled");
+                  },
+                  success:  function(data){
+                      if(data.returnCode){
+                          layer.msg("添加成功",{icon: 1,time:3000});
+                           /*   window.parent.location.reload();
+                              var index = parent.layer.getFrameIndex(window.name);
+                              parent.layer.close(index);*/
+
+                      }else{
+                          layer.msg("添加失败",{icon: 5,time:3000});
+                      }
+                  },
+                  error:function(data){
+                      layer.msg("添加失败",{icon: 5,time:3000});
+                  }
+              });
+		  }
+}
+</script>
+</body>
+</html>

+ 6 - 1
watero-rst-web/src/main/webapp/WEB-INF/views/pts/machine/machine_List.ftl

@@ -27,7 +27,7 @@
 				 	<#--<input class="my-input" type="text" id="printNumber" name="printNumber" value="3" placeholder="打印数量"/>-->
                 	<input class="my-input" type="hidden" id="settingNumber" name="settingNumber" value="1"/>
 					<#--<button type="button" class="my-btn-search" onclick="setting();" style="cursor:pointer; margin-right: 50px;">设置</button>-->
-
+                        <button type="button" class="my-btn-search" onclick="batch_add_machine('批量添加机器','${path}/admin/machine/_to_add_batch','','550');" style="cursor:pointer; margin-right: 50px;">添加机器</button>
 					<input class="my-input" type="text" name="machineBarcode" value="${machineBarcode!''}" placeholder="请输入机器编号"/>
 					<select class="my-select" name="machineIsPrint">
 						<option value ="">是否打印过</option>
@@ -316,6 +316,11 @@
             function machineLogs(machineId) {
                 window.location.href=root_path + '/admin/machine/_machine_logs_list?machineId='+machineId;
             }
+
+            /*批量添加机器*/
+            function batch_add_machine(title,url,w,h){
+                layer_show(title,url,w,h);
+            }
         </script>
 	</body>
 </html>