فهرست منبع

修改条形码的生成方式

wangxiaoming 7 سال پیش
والد
کامیت
80b52a5785

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

@@ -22,8 +22,8 @@ public class Produce implements Serializable {
 
     private Integer produceType;            //产品类型  1.净水机 2.冲奶机
 
-    private String producePattern;         //产品型号前两位
-    private String produceModel;           //产品型号后两位
+    private String producePattern;         //产品型号前两位  WA
+    private String produceModel;           //产品型号后两位  1X
     private String produceFeature;         //产品特性  产品特性 A:国内;B:美国;C:欧洲;D:其他;
 
     private Integer employeeId;            //员工id

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

@@ -65,4 +65,7 @@ public interface MachineService {
 
     //根据工序id统计生成机器时选项被选择的次数
     List<PtsMachineStatistics> nodeNormalByPrduceId(Integer processId);
+
+    //根据机器id查询产品信息
+    Produce getProduceByMachineId(Integer machineId);
 }

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

@@ -4,10 +4,7 @@ import com.github.pagehelper.PageHelper;
 import com.iamberry.rst.core.order.Order;
 import com.iamberry.rst.core.page.PageRequest;
 import com.iamberry.rst.core.page.PagedResult;
-import com.iamberry.rst.core.pts.PtsEmployee;
-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.pts.*;
 import com.iamberry.rst.faces.pts.MachineService;
 import com.iamberry.rst.service.pts.mapper.MachineMapper;
 import com.iamberry.rst.util.PageUtil;
@@ -116,4 +113,8 @@ public class MachineServiceImpl implements MachineService {
         return machineMapper.nodeNormalByPrduceId(processId);
     }
 
+    public Produce getProduceByMachineId(Integer machineId){
+        return machineMapper.getProduceByMachineId(machineId);
+    }
+
 }

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

@@ -56,4 +56,7 @@ public interface MachineMapper {
 
     //根据工序id统计生成机器时选项被选择的次数
     List<PtsMachineStatistics> nodeNormalByPrduceId(Integer processId);
+
+    //根据机器id查询产品信息
+    Produce getProduceByMachineId(Integer machineId);
 }

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

@@ -291,4 +291,21 @@
         GROUP BY
             ml.process_node_id
     </select>
+
+    <!--根据机器id查询产品信息-->
+    <select id="getProduceByMachineId" parameterType="Integer" resultType="Produce">
+        SELECT
+            TRPP.produce_id AS produceId,
+            TRPP.produce_pattern AS producePattern,
+            TRPP.produce_model AS produceModel,
+            TRPP.produce_feature AS  produceFeature
+        FROM
+            tb_rst_pts_produce TRPP
+        WHERE
+            produce_id = (
+                SELECT distinct(produce_id)
+                FROM tb_rst_pts_machine_logs  TRPML
+                WHERE TRPML.machine_id = #{machineId}
+            )
+    </select>
 </mapper>

+ 14 - 2
watero-rst-service/src/main/java/com/iamberry/rst/service/pts/mapper/produceMapper.xml

@@ -183,8 +183,8 @@
 
 
     <insert id="saveProduce" parameterType="Produce" useGeneratedKeys="true"  keyProperty="produceId">
-        insert into tb_rst_pts_produce (produce_id,produce_no,produce_name,produce_status,produce_remake,produce_type)
-        values (#{produceId},#{produceNo},#{produceName},#{produceStatus},#{produceRemake},#{produceType})
+        insert into tb_rst_pts_produce (produce_id,produce_no,produce_name,produce_status,produce_remake,produce_type,produce_pattern,produce_model,produce_feature)
+        values (#{produceId},#{produceNo},#{produceName},#{produceStatus},#{produceRemake},#{produceType},#{producePattern},#{produceModel},#{produceFeature})
     </insert>
 
     <update id="updateProduce" parameterType="Produce" >
@@ -202,6 +202,15 @@
             <if test="produceStatus !=null">
                 produce_status = #{produceStatus},
             </if>
+            <if test="producePattern !=null">
+                produce_pattern = #{producePattern},
+            </if>
+            <if test="produceModel !=null">
+                produce_model = #{produceModel},
+            </if>
+            <if test="produceFeature !=null">
+                produce_feature = #{produceFeature},
+            </if>
             <if test="produceRemake !=null and produceRemake !=''">
                 produce_remake = #{produceRemake},
             </if>
@@ -282,6 +291,9 @@
             produce_type AS  produceType,
             produce_name AS produceName,
             produce_status AS  produceStatus,
+            produce_pattern AS producePattern,
+            produce_model AS produceModel,
+            produce_feature AS  produceFeature,
             produce_remake AS produceRemake,
             produce_create_time AS  produceCreateTime,
             produce_update_time AS produceUpdateTime

+ 97 - 77
watero-rst-web/src/main/java/com/iamberry/rst/controllers/pts/AdminMachineController.java

@@ -4,11 +4,7 @@ import com.iamberry.rst.core.order.Order;
 import com.iamberry.rst.core.order.RentType;
 import com.iamberry.rst.core.page.PageRequest;
 import com.iamberry.rst.core.page.PagedResult;
-import com.iamberry.rst.core.pts.PtsEmployee;
-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.pts.*;
 import com.iamberry.rst.faces.pts.*;
 import com.iamberry.wechat.tools.ResponseJson;
 import net.sf.json.JSONObject;
@@ -40,38 +36,40 @@ public class AdminMachineController {
 
     @Autowired
     private ProduceService produceService;
+
     /**
      * 查询机器列表
-     * @author LJK
-     * @date 2017年8月31日16:08:15
+     *
      * @param pageSize
      * @param pageNO
      * @return
+     * @author LJK
+     * @date 2017年8月31日16:08:15
      */
     @RequiresPermissions("machine:select_all:machine")
     @RequestMapping("/_machine_list")
     public ModelAndView listOrder(
-            @RequestParam(value= "pageSize",defaultValue= "10" ,required=false) Integer pageSize,
-            @RequestParam(value = "pageNO", defaultValue = "1",required=false) Integer pageNO,
+            @RequestParam(value = "pageSize", defaultValue = "10", required = false) Integer pageSize,
+            @RequestParam(value = "pageNO", defaultValue = "1", required = false) Integer pageNO,
             @RequestParam(value = "pageTotal", required = false) Integer pageTotal,
-            PtsMachine ptsMachine){
+            PtsMachine ptsMachine) {
         ModelAndView mv = new ModelAndView("pts/machine/machine_list");
         StringBuilder sb = new StringBuilder("/admin/machine/_machine_list?pageSize=" + pageSize);
 
         if (StringUtils.isNotEmpty(ptsMachine.getMachineBarcode())) {
             sb.append("&machineBarcode=");
             sb.append(ptsMachine.getMachineBarcode());
-            mv.addObject("machineBarcode",ptsMachine.getMachineBarcode());
+            mv.addObject("machineBarcode", ptsMachine.getMachineBarcode());
         }
         if (ptsMachine.getMachineIsPrint() != null && ptsMachine.getMachineIsPrint() != -1) {
-            sb.append("&machineIsPrint=" );
+            sb.append("&machineIsPrint=");
             sb.append(ptsMachine.getMachineIsPrint());
-            mv.addObject("machineIsPrint",ptsMachine.getMachineIsPrint());
+            mv.addObject("machineIsPrint", ptsMachine.getMachineIsPrint());
         }
         if (ptsMachine.getMachineProcessState() != null && ptsMachine.getMachineProcessState() != -1) {
-            sb.append("&machineProcessState=" );
+            sb.append("&machineProcessState=");
             sb.append(ptsMachine.getMachineProcessState());
-            mv.addObject("machineProcessState",ptsMachine.getMachineProcessState());
+            mv.addObject("machineProcessState", ptsMachine.getMachineProcessState());
         }
 
         PageRequest<PtsMachine> pageRequest = new PageRequest<PtsMachine>(ptsMachine, pageNO, pageSize, pageTotal == null);
@@ -86,7 +84,7 @@ public class AdminMachineController {
         }
         //查询最新一条机器id
         Integer machineId = machineService.maxMachineId();
-        mv.addObject("machineId",machineId);
+        mv.addObject("machineId", machineId);
         sb.append("&pageTotal=").append(total).append("&pageNO=");
         mv.addObject("page", pagedResult);
         mv.addObject("url", sb.toString());
@@ -95,31 +93,33 @@ public class AdminMachineController {
 
     /**
      * 查询最新机器信息
+     *
      * @param request
      * @return
      */
     @RequiresPermissions("machine:latest_all:machine")
     @ResponseBody
     @RequestMapping("/_LatestMachine_list")
-    public List<PtsMachine> listLatestMachine(HttpServletRequest request){
+    public List<PtsMachine> listLatestMachine(HttpServletRequest request) {
         String machineId = request.getParameter("machineId");
-        if(machineId == null){
+        if (machineId == null) {
             return null;
         }
-        return  machineService.listLatestMachine(Integer.valueOf(machineId));
+        return machineService.listLatestMachine(Integer.valueOf(machineId));
     }
 
     /**
      * 修改机器打印状态为已打印
+     *
      * @param request
      * @return
      */
     @RequiresPermissions("machine:update_print:machine")
     @ResponseBody
     @RequestMapping("/_update_print")
-    public Integer updateMachinPrintState(HttpServletRequest request){
+    public Integer updateMachinPrintState(HttpServletRequest request) {
         String machineBarcode = request.getParameter("machineBarcode");
-        if(machineBarcode == null){
+        if (machineBarcode == null) {
             return null;
         }
         PtsMachine ptsMachine = new PtsMachine();
@@ -130,32 +130,33 @@ public class AdminMachineController {
 
     /**
      * 查询机器打印列表
+     *
+     * @return
      * @author LJK
      * @date 2017年8月31日16:08:15
-     * @return
      */
     @RequiresPermissions("machine:select_all:machine")
     @RequestMapping("/_machine_print_list")
-    public ModelAndView listPrintMachine(HttpServletRequest request,PtsMachine ptsMachine,
-                                        @RequestParam(value= "pageSize",defaultValue= "10" ,required=false) Integer pageSize,
-                                         @RequestParam(value = "pageNO", defaultValue = "1",required=false) Integer pageNO,
-                                         @RequestParam(value = "totalNum", defaultValue = "0",required=false) Integer totalNum){
+    public ModelAndView listPrintMachine(HttpServletRequest request, PtsMachine ptsMachine,
+                                         @RequestParam(value = "pageSize", defaultValue = "10", required = false) Integer pageSize,
+                                         @RequestParam(value = "pageNO", defaultValue = "1", required = false) Integer pageNO,
+                                         @RequestParam(value = "totalNum", defaultValue = "0", required = false) Integer totalNum) {
         ModelAndView mv = new ModelAndView("pts/machine/machine_print_List");
-        mv.addObject("machineIsPrint",ptsMachine.getMachineIsPrint() == null?"1":ptsMachine.getMachineIsPrint());
+        mv.addObject("machineIsPrint", ptsMachine.getMachineIsPrint() == null ? "1" : ptsMachine.getMachineIsPrint());
 
         StringBuilder sb = new StringBuilder("/admin/machine/_machine_print_list?pageSize=" + pageSize);
 
-        if(ptsMachine == null ||  ptsMachine.getMachineIsPrint() == null || ptsMachine.getMachineIsPrint() == 1){ //未打印
+        if (ptsMachine == null || ptsMachine.getMachineIsPrint() == null || ptsMachine.getMachineIsPrint() == 1) { //未打印
             List<PtsMachine> machineList = machineService.listPrintOrder(ptsMachine);
-            mv.addObject("machineList",machineList);
-        }else{  //已打印
+            mv.addObject("machineList", machineList);
+        } else {  //已打印
             PagedResult<PtsMachine> pagedResult = machineService.getPrintOrderList(pageNO, pageSize, ptsMachine, totalNum == 0);
-            if(totalNum != 0) {
+            if (totalNum != 0) {
                 pagedResult.setTotal(totalNum);
-                pagedResult.setPages((int) Math.ceil((double)totalNum/pageSize));
+                pagedResult.setPages((int) Math.ceil((double) totalNum / pageSize));
             }
             sb.append("&machineIsPrint=");
-            if(ptsMachine.getMachineIsPrint() != null && ptsMachine.getMachineIsPrint() == 2){
+            if (ptsMachine.getMachineIsPrint() != null && ptsMachine.getMachineIsPrint() == 2) {
                 sb.append(ptsMachine.getMachineIsPrint());
             }
             sb.append("&totalNum=");
@@ -166,33 +167,48 @@ public class AdminMachineController {
         }
         //查询最新一条机器id
         Integer machineId = machineService.maxMachineId();
-        mv.addObject("machineId",machineId);
+        mv.addObject("machineId", machineId);
         return mv;
     }
 
     /**
+     * 查询机器关联的产品信息
+     *
+     * @param machineId
+     */
+    @ResponseBody
+    @RequiresPermissions("machine:select_all:machine")
+    @RequestMapping("/_getProduce_print")
+    public Produce setProduceList(Integer machineId) {
+        Produce produce = machineService.getProduceByMachineId(machineId);
+        return produce;
+    }
+
+    /**
      * 打印列表查询所有机器
+     *
+     * @return
      * @author LJK
      * @date 2017年8月31日16:08:15
-     * @return
      */
     @ResponseBody
     @RequiresPermissions("machine:select_all:machine")
     @RequestMapping("/machine_print_list")
-    public List<PtsMachine> selectPrintMachine(PtsMachine ptsMachine){
+    public List<PtsMachine> selectPrintMachine(PtsMachine ptsMachine) {
         return machineService.listPrintOrder(ptsMachine);
     }
 
     /**
      * 查询机器生成流程
+     *
+     * @return
      * @author LJK
      * @date 2017年8月31日16:08:15
-     * @return
      */
     @RequiresPermissions("machine:logs_all:machine")
     @RequestMapping("/_machine_logs_list")
-    public ModelAndView listLogsMachine(Integer machineId){
-        if(machineId == null || machineId < 0){
+    public ModelAndView listLogsMachine(Integer machineId) {
+        if (machineId == null || machineId < 0) {
             return null;
         }
         PtsMachine ptsMachine = machineService.getMachine(machineId);
@@ -205,37 +221,40 @@ public class AdminMachineController {
 
     /**
      * 批量修改机器打印状态为已打印
+     *
      * @param request
      * @return
      */
     @RequiresPermissions("machine:update_print:machine")
     @ResponseBody
     @RequestMapping("/_batchUpdate_print")
-    public Integer batchUpdateMachineIsPring(HttpServletRequest request){
+    public Integer batchUpdateMachineIsPring(HttpServletRequest request) {
         /*String[] listId = request.getParameterValues("machineBarcodes");*/
         String listId = request.getParameter("machineBarcodes");
-        if(listId == null){
+        if (listId == null) {
             return 0;
         }
         String s = new String(listId);
         String[] a = s.split(",");
         return machineService.batchUpdateMachineIsPring(a);
     }
+
     /**
      * 查询机器打印列表
+     *
+     * @return
      * @author LJK
      * @date 2017年8月31日16:08:15
-     * @return
      */
     @RequiresPermissions("machine:abnormality:statistics")
     @RequestMapping("/_produced_abnormality_statistics")
-    public ModelAndView producedAbnormalityStatistics(HttpServletRequest request,PtsMachine ptsMachine){
+    public ModelAndView producedAbnormalityStatistics(HttpServletRequest request, PtsMachine ptsMachine) {
         ModelAndView mv = new ModelAndView("pts/machine/producedAbnormalityStatistics");
         String machineType = request.getParameter("machineType");//1.净水机 2.冲奶机
-        if(machineType == null || machineType.equals("")){
+        if (machineType == null || machineType.equals("")) {
             machineType = "1";
         }
-        mv.addObject("machineType",machineType);
+        mv.addObject("machineType", machineType);
         PtsMachineStatistics ptsMachineStatistics = new PtsMachineStatistics();
         Calendar date = Calendar.getInstance();
         String year = String.valueOf(date.get(Calendar.YEAR));//年
@@ -243,28 +262,28 @@ public class AdminMachineController {
         ptsMachineStatistics.setMachineType(Integer.valueOf(machineType));
         //查询1-12月每月生产机器数
         List<PtsMachineStatistics> ptsMachineStatisticsList = machineService.monthStatistics(ptsMachineStatistics);
-        if(ptsMachineStatisticsList.size() > 0){
+        if (ptsMachineStatisticsList.size() > 0) {
             StringBuffer yearBf = new StringBuffer();
-            for(int i=0;i< ptsMachineStatisticsList.size();i++){
-                yearBf.append(ptsMachineStatisticsList.get(i).getNum().toString()+",");
+            for (int i = 0; i < ptsMachineStatisticsList.size(); i++) {
+                yearBf.append(ptsMachineStatisticsList.get(i).getNum().toString() + ",");
             }
             String yearString = yearBf.toString();
-            mv.addObject("years", "["+yearString.substring(0,yearString.length()-1)+"]");
+            mv.addObject("years", "[" + yearString.substring(0, yearString.length() - 1) + "]");
         }
 
         //查询最近七天生产机器
         List<PtsMachineStatistics> dayList = machineService.dayStatistics(ptsMachineStatistics);
-        if(dayList.size() > 0){
+        if (dayList.size() > 0) {
             StringBuffer dayBf = new StringBuffer();
             StringBuffer dateBf = new StringBuffer();
-            for(int i=0;i< dayList.size();i++){
-                dayBf.append(dayList.get(i).getNum().toString()+",");
-                dateBf.append(dayList.get(i).getDate()+",");
+            for (int i = 0; i < dayList.size(); i++) {
+                dayBf.append(dayList.get(i).getNum().toString() + ",");
+                dateBf.append(dayList.get(i).getDate() + ",");
             }
             String dayString = dayBf.toString();
             String monthDayString = dateBf.toString();
-            mv.addObject("days", "["+dayString.substring(0,dayString.length()-1)+"]");
-            mv.addObject("monthDay", "["+monthDayString.substring(0,monthDayString.length()-1)+"]");
+            mv.addObject("days", "[" + dayString.substring(0, dayString.length() - 1) + "]");
+            mv.addObject("monthDay", "[" + monthDayString.substring(0, monthDayString.length() - 1) + "]");
         }
 
         /*机器总数及流程异常数*/
@@ -274,33 +293,33 @@ public class AdminMachineController {
         /*机器异常总数*/
         mv.addObject("machineAbnormality", numbers.getMachineAbnormality());
         /*流程异常百分比*/
-        double percentage = (numbers.getMachineAbnormality() == null? 0.0 : (double)numbers.getMachineAbnormality()) / (numbers.getMachineCount() == null? 0.0:(double)numbers.getMachineCount()) * 100;
-        NumberFormat nf=new DecimalFormat( "0.0 ");
+        double percentage = (numbers.getMachineAbnormality() == null ? 0.0 : (double) numbers.getMachineAbnormality()) / (numbers.getMachineCount() == null ? 0.0 : (double) numbers.getMachineCount()) * 100;
+        NumberFormat nf = new DecimalFormat("0.0 ");
         percentage = Double.parseDouble(nf.format(percentage));
         mv.addObject("abnormalityPercentage", percentage);
         /*正常百分比*/
         double normalPercentage = Double.parseDouble(nf.format(100.0 - percentage));
-        mv.addObject("normalPercentage",normalPercentage);
+        mv.addObject("normalPercentage", normalPercentage);
         /*根据机器类型查询机器所有工序*/
         ProduceProcess produceProcess = new ProduceProcess();
-        produceProcess.setProduceId(machineType.equals("1")? 1:2);
+        produceProcess.setProduceId(machineType.equals("1") ? 1 : 2);
         List<ProduceProcess> processList = produceService.listProduceProcess(produceProcess);
-        mv.addObject("processList",processList);
+        mv.addObject("processList", processList);
         //查询第一条的工序值 默认选择第一条工序
         List<PtsMachineStatistics> nodeCountList = machineService.nodeNormalByPrduceId(processList.get(0).getProcessId());
-        if(nodeCountList.size() > 0){
+        if (nodeCountList.size() > 0) {
             JSONObject json = new JSONObject();
             StringBuffer nodeBf = new StringBuffer();
             StringBuffer desBf = new StringBuffer();
-            for(int i=0;i< nodeCountList.size();i++){
-                nodeBf.append(nodeCountList.get(i).getNum().toString()+",");
-                desBf.append("\""+nodeCountList.get(i).getNodeDes()+"\"" + ",");
+            for (int i = 0; i < nodeCountList.size(); i++) {
+                nodeBf.append(nodeCountList.get(i).getNum().toString() + ",");
+                desBf.append("\"" + nodeCountList.get(i).getNodeDes() + "\"" + ",");
 
             }
             String nodeString = nodeBf.toString();
             String desString = desBf.toString();
-            mv.addObject("nodeString", "["+nodeString.substring(0,nodeString.length()-1)+"]");
-            mv.addObject("desString", "["+desString.substring(0,desString.length()-1)+"]");
+            mv.addObject("nodeString", "[" + nodeString.substring(0, nodeString.length() - 1) + "]");
+            mv.addObject("desString", "[" + desString.substring(0, desString.length() - 1) + "]");
         }
 
         return mv;
@@ -308,33 +327,34 @@ public class AdminMachineController {
 
     /**
      * 根据工序id统计选项数量
+     *
+     * @return
      * @author LJK
      * @date 2017年8月31日16:08:15
-     * @return
      */
     @RequiresPermissions("machine:abnormality:statistics")
     @ResponseBody
     @RequestMapping("/_node_normal")
-    public ModelMap nodeNormal(HttpServletRequest request){
+    public ModelMap nodeNormal(HttpServletRequest request) {
         String processId = request.getParameter("processId");//工序id
         ModelMap mm = new ModelMap();
-        if(processId == null || processId.equals("")){
-            mm.put("returnCode",500);
+        if (processId == null || processId.equals("")) {
+            mm.put("returnCode", 500);
             return mm;
         }
         List<PtsMachineStatistics> nodeCountList = machineService.nodeNormalByPrduceId(Integer.valueOf(processId));
-        if(nodeCountList.size() > 0){
+        if (nodeCountList.size() > 0) {
             StringBuffer nodeBf = new StringBuffer();
             StringBuffer desBf = new StringBuffer();
-            for(int i=0;i< nodeCountList.size();i++){
-                nodeBf.append(nodeCountList.get(i).getNum().toString()+",");
-                desBf.append("\""+nodeCountList.get(i).getNodeDes()+"\"" + ",");
+            for (int i = 0; i < nodeCountList.size(); i++) {
+                nodeBf.append(nodeCountList.get(i).getNum().toString() + ",");
+                desBf.append("\"" + nodeCountList.get(i).getNodeDes() + "\"" + ",");
             }
             String nodeString = nodeBf.toString();
             String desString = desBf.toString();
-            mm.put("returnCode",200);
-            mm.put("nodeString","["+nodeString.substring(0,nodeString.length()-1)+"]");
-            mm.put("desString","["+desString.substring(0,desString.length()-1)+"]");
+            mm.put("returnCode", 200);
+            mm.put("nodeString", "[" + nodeString.substring(0, nodeString.length() - 1) + "]");
+            mm.put("desString", "[" + desString.substring(0, desString.length() - 1) + "]");
         }
         return mm;
     }

+ 5 - 2
watero-rst-web/src/main/java/com/iamberry/rst/controllers/pts/MachineController.java

@@ -76,7 +76,7 @@ public class MachineController {
         }
         Produce produce = produceService.getProduce(produceNo);//根据产品编号获取产品信息
         //生成条形码,二维码
-        String berQrcode = generationBarCode();
+        String berQrcode = generationBarCode(produce);
         String json = String.format(NameUtils.QR_LIMIT_STR_SCENE, ResultInfo.barCodePrefix+berQrcode);
         QRCJson qrc = WeixinUtil.createQrcode(json);
         PtsMachine ptsMachine = new PtsMachine();
@@ -241,7 +241,7 @@ public class MachineController {
     private String productFeatures = "A";//产品特性
     private String softwareVersion = "30";//软件版本
     //生成条形码
-    public String generationBarCode(){
+    public String generationBarCode(Produce produce){
 
         java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat("yyyy-MM");
         java.util.Date currTime = new java.util.Date();
@@ -273,6 +273,9 @@ public class MachineController {
         if(month < 10){
             months = "0"+months;
         }
+
+        productModel = produce.getProduceModel();
+        productFeatures = produce.getProduceFeature();
         //拼接
         String barcode = productModel+productFeatures+softwareVersion+String.valueOf(year).substring(2,4)+months+num;
         return barcode;

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

@@ -58,7 +58,7 @@
 					<#list machineList as list>
 						<tr class="text-c" id="${list.machineBarcode }">
                             <td width="2">
-                                <input name='checkbox' type='checkbox' value='${list.machineBarcode }${list.machineQrcode }${list.machineProduceType }' >
+                                <input name='checkbox' type='checkbox' value='${list.machineBarcode }${list.machineQrcode }${list.machineProduceType }' machineId="${list.machineId }">
                                 <input type="hidden" value="${list.machineId + 1000000 }" id="${list.machineBarcode + 'Id'}">
                             </td>
 							<td class="text-c" width="10">${list.machineBarcode }</td>
@@ -75,7 +75,7 @@
                                 <#if machineIsPrint == 1>
                                 <a onclick="updatePrint('${list.machineBarcode}');" title="修改为已打印" href="javascript:;"  class="ml-5" style="text-decoration:none"><i class="Hui-iconfont">&#xe6a7;</i></a>
                                 </#if>
-                                <a onclick="barCodePrint('${list.machineBarcode }'+'${list.machineQrcode }'+'${list.machineProduceType }');" title="打印" href="javascript:;"  class="ml-5" style="text-decoration:none"><i class="Hui-iconfont">&#xe652;</i></a>
+                                <a onclick="barCodePrint('${list.machineBarcode }'+'${list.machineQrcode }'+'${list.machineProduceType }','${list.machineId }');" title="打印" href="javascript:;"  class="ml-5" style="text-decoration:none"><i class="Hui-iconfont">&#xe652;</i></a>
                             </td>
 						</tr>
 					</#list>
@@ -151,6 +151,12 @@
                     machineBarcode = $(this).val().substring(0, 13);
                     machineQrcode = $(this).val().substring(13, ($(this).val().length) - 1);
                     machineProduceType = $(this).val().substring(($(this).val().length) - 1, $(this).val().length);
+
+                    var machineId = $(this).attr("machineId");
+                    var produce = getProduce(machineId);
+                    var producePattern =  produce.producePattern;    //获取产品型号前两位
+                    var produceModel =  produce.produceModel;        //获取产品型号后两位
+
                     var machineNo = "NO." + $("#"+machineBarcode+"Id").val();
                     for (var i = 0; i < settingNumber; i++) {
                         code128(machineBarcode);
@@ -160,7 +166,7 @@
                         if (machineProduceType == 1) {//净水机模板
                             $("#printlist").append('<div style="width: 268px;height: 152px;position: relative;">' +
                                     '<span style="position: absolute;top:0px;font-size: 14px;">WaterO可移动智能净水机</span>' +
-                                    '<span style="position: absolute;top: 24px;font-size: 12px;">型号:WA-1X</span>' +
+                                    '<span style="position: absolute;top: 24px;font-size: 12px;">型号:'+producePattern+'-'+produceModel+'</span>' +
                                     '<span style="position: absolute;top: 40px;font-size: 12px;">S/N</span>' +
                                     '<div style="position: absolute;left: -10px;top: 75px;height: 30px;"  class="barcodeImg">' + barcodes + '</div>' +
                                     '<span style="position: absolute;top: 102px;font-size: 12px;width: 116px;text-align: center;">' + machineBarcode + '</span>' +
@@ -171,7 +177,7 @@
                         if (machineProduceType == 2) {//冲奶机模板
                             $("#printlist").append('<div style="width: 268px;height: 152px;position: relative;">' +
                                     '<span style="position: absolute;top:0px;font-size: 14px;">爱贝源冲奶机</span>' +
-                                    '<span style="position: absolute;top: 24px;font-size: 12px;">型号:WA-1X</span>' +
+                                    '<span style="position: absolute;top: 24px;font-size: 12px;">型号:'+producePattern+'-'+produceModel+'</span>' +
                                     '<span style="position: absolute;top: 40px;font-size: 12px;">S/N</span>' +
                                     '<div style="position: absolute;left: -10px;top: 75px;height: 30px;"  class="barcodeImg">' + barcodes + '</div>' +
                                     '<span style="position: absolute;top: 102px;font-size: 12px;width: 116px;text-align: center;" >' + machineBarcode + '</span>' +
@@ -219,12 +225,12 @@
                                         machineType = "冲奶机";
                                     }
                                     $("#listid").prepend('<tr class="text-c"><td width="2"> ' +
-                                            '<input name="checkbox" type="checkbox" value="'+value.machineBarcode+value.machineQrcode+value.machineProduceType+'" > ' +
+                                            '<input name="checkbox" type="checkbox" value="'+value.machineBarcode+value.machineQrcode+value.machineProduceType+'"  machineId="'+value.machineId+'"> ' +
                                             '<input type="hidden" value="'+value.machineId + 1000000 +'" id="'+value.machineBarcode + 'Id'+'"></td>' +
                                             '<td class="text-c" width="10">'+value.machineBarcode+'</td>' +
                                             '<td class="text-c" width="10">'+machineType+'</td>' +
                                             '<td class="td-manage text-c"> <a onclick="updatePrint('+value.machineBarcode+');" title="修改为已打印" href="javascript:;"  class="ml-5" style="text-decoration:none"><i class="Hui-iconfont">&#xe647;</i></a>' +
-                                            '<a onclick="barCodePrint('+value.machineBarcode+value.machineQrcode+value.machineProduceType+');" title="打印" href="javascript:;"  class="ml-5" style="text-decoration:none"><i class="Hui-iconfont">&#xe652;</i></a> </td></tr>');
+                                            '<a onclick="barCodePrint('+value.machineBarcode+value.machineQrcode+value.machineProduceType+','+value.machineId+');" title="打印" href="javascript:;"  class="ml-5" style="text-decoration:none"><i class="Hui-iconfont">&#xe652;</i></a> </td></tr>');
 
 
                                 });
@@ -282,7 +288,7 @@
             }
 
             //单个打印条形码
-             function barCodePrint(barCode){
+             function barCodePrint(barCode,machineId){
                 var machineBarcode = null;
                 var machineQrcode = null;
                 var machineProduceType = null;
@@ -291,6 +297,11 @@
                     machineProduceType = barCode.substring((barCode.length)-1,barCode.length);
                  var machineNo = "NO." + $("#"+machineBarcode+"Id").val();
                 var settingNumber = $("#settingNumber").val();
+
+                 var produce = getProduce(machineId);
+                 var producePattern =  produce.producePattern;    //获取产品型号前两位
+                 var produceModel =  produce.produceModel;        //获取产品型号后两位
+
                 for (var i=0;i<settingNumber;i++){
                     code128(machineBarcode);
                     var barcodes = $("#bcTarget").html();
@@ -310,7 +321,7 @@
                     if(machineProduceType == 1){//净水机模板
                         $("#printlist").append('<div style="width: 268px;height: 152px;position: relative;">' +
                                 '<span style="position: absolute;top:0px;font-size: 14px;">WaterO可移动智能净水机</span>' +
-                                '<span style="position: absolute;top: 24px;font-size: 12px;">型号:WA-1X</span>' +
+                                '<span style="position: absolute;top: 24px;font-size: 12px;">型号:'+producePattern+'-'+produceModel+'</span>' +
                                 '<span style="position: absolute;top: 40px;font-size: 12px;">S/N</span>' +
                                 '<div style="position: absolute;left: -10px;top: 75px;height: 30px;" id="bcTarget2" class="barcodeImg">'+barcodes+'</div>' +
                                 '<span style="position: absolute;top: 102px;font-size: 12px;width: 116px;text-align: center;" id="barcodeId">'+machineBarcode+'</span>' +
@@ -321,7 +332,7 @@
                     if(machineProduceType == 2){//冲奶机模板
                         $("#printlist").append('<div style="width: 268px;height: 152px;position: relative;">' +
                                 '<span style="position: absolute;top:0px;font-size: 14px;">爱贝源冲奶机</span>' +
-                                '<span style="position: absolute;top: 24px;font-size: 12px;">型号:WA-1X</span>' +
+                                '<span style="position: absolute;top: 24px;font-size: 12px;">型号:'+producePattern+'-'+produceModel+'</span>' +
                                 '<span style="position: absolute;top: 40px;font-size: 12px;">S/N</span>' +
                                 '<div style="position: absolute;left: -10px;top: 75px;height: 30px;" id="bcTarget2" class="barcodeImg">'+barcodes+'</div>' +
                                 '<span style="position: absolute;top: 102px;font-size: 12px;width: 116px;text-align: center;" id="barcodeId">'+machineBarcode+'</span>' +
@@ -333,6 +344,34 @@
                 $("#printlist").printArea();
                 $("#printlist").html("");
             }
+
+            /*获取产品信息*/
+            function getProduce(machineId){
+                var produce = new Object();
+                produce.producePattern = "";
+                produce.produceModel = "";
+                produce.produceFeature = "";
+                $.ajax({
+                    type: "POST",
+                    url: "${path}/admin/machine/_getProduce_print",
+                    async: false,
+                    data:{machineId : machineId},
+                    success: function(data){
+                        if(data != null){
+                            produce.producePattern = data.producePattern;
+                            produce.produceModel = data.produceModel;
+                            produce.produceFeature = data.produceFeature;
+                        }
+                    },
+                    error: function(){
+                        console.log("查询产品型号信息失败!");
+                    }
+                });
+
+                return produce;
+            }
         </script>
+
+
 	</body>
 </html>

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

@@ -24,9 +24,7 @@
         .my-select{border: 1px solid rgba(0,0,0,.1);padding:6px 50px 6px 15px;height: 34px;margin: 0 10px; -webkit-appearance:none;appearance:none;background: url(/rst/common/images/pts/select-1.png) right center no-repeat;background-size:auto 100%;}
         input[type=radio]{-webkit-appearance:none;appearance:none;background: url(/rst/common/images/pts/radio-1.png) center center no-repeat;background-size:auto 100%;width: 20px;height: 20px;margin-right: 10px;}
         input[type=radio]:checked{-webkit-appearance:none;appearance:none;background: url(/rst/common/images/pts/radio-2.png) center center no-repeat;background-size:auto 100%;width: 20px;height: 20px;margin-right: 10px;}
-
-        .pro-height{margin-top: 0px;}
-        .process-sp{margin-top: 0px; line-height: 30px;}
+        select{border: 1px solid rgba(0,0,0,.1);border-radius: 5px;padding:6px 35px 6px 5px;height: 32px;-webkit-appearance:none;appearance:none;background: url(/rst/common/images/pts/select-1.png) right center no-repeat !important;background-size:auto 100% !important;margin-right: 10px;width: 85px;}
     </style>
     <title>添加生产产品- 生产产品管理 - RST</title>
 </head>
@@ -42,6 +40,17 @@
             <div class="my-title">产品信息</div>
             <div class="input-box"><span class="input-dic">产品名称</span><input class="my-input" name="produceName" id="produceName" type="text" value="" placeholder="请输入产品名称,2-20位中文、英文、数字组合" required   maxlength="20" minlength="2"/> </div>
             <div class="input-box"><span class="input-dic">产品描述</span><input class="my-input" type="text" name="produceRemake" id="produceRemake" value="" placeholder="请输入产品描述,2-100位中文、英文、数字组合" required  maxlength="100" minlength="2"/> </div>
+
+            <div class="input-box "><span class="input-dic">产品特性</span>
+                <select class="" style="width: 290px;" id="produceFeature" name="produceFeature">
+                    <option value="A" selected>国内(A)</option>
+                    <option value="B">美国(B)</option>
+                    <option value="C">欧洲(C)</option>
+                    <option value="D">其他(D)</option>
+                </select>
+            </div>
+            <div class="input-box"><span class="input-dic">产品型号</span><input class="my-input" style="width: 120px;" type="text" name="producePattern" id="producePattern" value="" placeholder="2位英文、数字组合" required  maxlength="2" minlength="2"/>-<input class="my-input" style="width: 120px;" type="text" name="produceModel" id="produceModel" value="" placeholder="2位英文、数字组合" required  maxlength="2" minlength="2"/>  </div>
+
             <div class="input-box"><span class="input-dic">产品类型</span>
                 <label><input type="radio" name="produceType" value="1" checked>净水机</label>
                 <label><input type="radio" name="produceType" value="2">冲奶机</label>
@@ -98,6 +107,7 @@
 
     var check_name = /^[a-zA-Z0-9\u4e00-\u9fa5,.!;,。!;:“”\\"\\ ]+$/;
     var cnen_name = /^[a-zA-Z0-9\u4e00-\u9fa5]+$/;
+    var en_name = /^[a-zA-Z0-9]+$/;
 
     $(function(){
         //var validator = $("#form-admin-addProduce").validate();
@@ -115,6 +125,17 @@
                 return false;
             }
 
+            var producePattern = $("#producePattern").val();
+            if(!(en_name.test(producePattern))){
+                layer.msg('产品型号输入格式不正确', {icon: 5, time: 1000});
+                return false;
+            }
+            var produceModel = $("#produceModel").val();
+            if(!(en_name.test(produceModel))){
+                layer.msg('产品型号输入格式不正确', {icon: 5, time: 1000});
+                return false;
+            }
+
             var flag = true;
             $("input[name='processName']").each(function () {
                 if( !(cnen_name.test($(this).val())) ){
@@ -189,6 +210,9 @@
         produce.produceRemake = $("[name='produceRemake']").val();//获取产品描述
         produce.produceType = $("[name='produceType']:checked").val();//获取产品类型
         produce.produceStatus = $("[name='produceStatus']:checked").val();//获取产品状态
+        produce.produceFeature = $("[name='produceFeature']").val();//获取产品特性
+        produce.producePattern = $("[name='producePattern']").val();//产品型号
+        produce.produceModel = $("[name='produceModel']").val();//产品型号
         return produce;
     }
 

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

@@ -24,6 +24,7 @@
         .my-select{border: 1px solid rgba(0,0,0,.1);padding:6px 50px 6px 15px;height: 34px;margin: 0 10px; -webkit-appearance:none;appearance:none;background: url(/rst/common/images/pts/select-1.png) right center no-repeat;background-size:auto 100%;}
         input[type=radio]{-webkit-appearance:none;appearance:none;background: url(/rst/common/images/pts/radio-1.png) center center no-repeat;background-size:auto 100%;width: 20px;height: 20px;margin-right: 10px;}
         input[type=radio]:checked{-webkit-appearance:none;appearance:none;background: url(/rst/common/images/pts/radio-2.png) center center no-repeat;background-size:auto 100%;width: 20px;height: 20px;margin-right: 10px;}
+        select{border: 1px solid rgba(0,0,0,.1);border-radius: 5px;padding:6px 35px 6px 5px;height: 32px;-webkit-appearance:none;appearance:none;background: url(/rst/common/images/pts/select-1.png) right center no-repeat !important;background-size:auto 100% !important;margin-right: 10px;width: 85px;}
     </style>
     <title>修改生产产品- 生产产品管理 - RST</title>
 </head>
@@ -40,6 +41,18 @@
             <input type="hidden" name="produceId" value="${produce.produceId!}">
             <div class="input-box"><span class="input-dic">产品名称</span><input class="my-input" name="produceName" type="text" value="${produce.produceName!}" placeholder="请输入产品名称,2-20位中文、英文、数字组合" maxlength="20"  required /> </div>
             <div class="input-box"><span class="input-dic">产品描述</span><input class="my-input" type="text" name="produceRemake" value="${produce.produceRemake!}" placeholder="请输入产品描述,2-100位中文、英文、数字组合" maxlength="100"  required /> </div>
+
+            <div class="input-box "><span class="input-dic">产品特性</span>
+                <select class="" style="width: 290px;" id="produceFeature" name="produceFeature">
+                    <option value ="A" <#if produce.produceFeature??><#if produce.produceFeature == 'A'>selected="selected"</#if></#if>>国内(A)</option>
+                    <option value ="B" <#if produce.produceFeature??><#if produce.produceFeature == 'B'>selected="selected"</#if></#if>>美国(B)</option>
+                    <option value ="C" <#if produce.produceFeature??><#if produce.produceFeature == 'C'>selected="selected"</#if></#if>>欧洲(C)</option>
+                    <option value ="D" <#if produce.produceFeature??><#if produce.produceFeature == 'D'>selected="selected"</#if></#if>>其他(D)</option>
+                </select>
+            </div>
+            <div class="input-box"><span class="input-dic">产品型号</span><input class="my-input" style="width: 120px;" type="text" name="producePattern" id="producePattern" placeholder="2位英文、数字组合" value="${produce.producePattern!}" placeholder="" required  maxlength="2" minlength="2"/>-
+                <input class="my-input" style="width: 120px;" type="text" name="produceModel" id="produceModel" value="${produce.produceModel!}" placeholder="2位英文、数字组合" required  maxlength="2" minlength="2"/>  </div>
+
             <div class="input-box"><span class="input-dic">产品类型</span>
                 <label><input type="radio" name="produceType" value="1" <#if produce.produceType == 1>checked</#if>>净水机</label>
                 <label><input type="radio" name="produceType" value="2" <#if produce.produceType == 2>checked</#if>>冲奶机</label>
@@ -101,6 +114,7 @@
 
     var check_name = /^[a-zA-Z0-9\u4e00-\u9fa5,.!;,。!;:“”\\"\\ ]+$/;
     var cnen_name = /^[a-zA-Z0-9\u4e00-\u9fa5]+$/;
+    var en_name = /^[a-zA-Z0-9]+$/;
 
     var delProcessIds="",delNodeIds="";
     $(function(){
@@ -119,6 +133,17 @@
                 return false;
             }
 
+            var producePattern = $("#producePattern").val();
+            if(!(en_name.test(producePattern))){
+                layer.msg('产品型号输入格式不正确', {icon: 5, time: 1000});
+                return false;
+            }
+            var produceModel = $("#produceModel").val();
+            if(!(en_name.test(produceModel))){
+                layer.msg('产品型号输入格式不正确', {icon: 5, time: 1000});
+                return false;
+            }
+
             var flag = true;
             $("input[name='processName']").each(function () {
                 if( !(cnen_name.test($(this).val())) ){
@@ -198,6 +223,9 @@
         produce.produceRemake = $("[name='produceRemake']").val();//获取产品描述
         produce.produceType = $("[name='produceType']:checked").val();//获取产品类型
         produce.produceStatus = $("[name='produceStatus']:checked").val();//获取产品状态
+        produce.produceFeature = $("[name='produceFeature']").val();//获取产品特性
+        produce.producePattern = $("[name='producePattern']").val();//产品型号
+        produce.produceModel = $("[name='produceModel']").val();//产品型号
 
         produce.delProcessIds = delProcessIds;    //需要删除的工序id
         produce.delNodeIds = delNodeIds;           //需要删除的节点操作id