Browse Source

机器打印列表功能

liujiankang 7 years ago
parent
commit
d25aa90708

+ 9 - 0
watero-rst-core/src/main/java/com.iamberry.rst.core/pts/PtsMachine.java

@@ -22,6 +22,7 @@ public class PtsMachine implements Serializable{
     private Integer machineProcessState;//生成流程状态
     private String machineSoftwareVersion;//软件版本
     private String machineHardwareVersion;//硬件版本
+    private String machineNfcId;//nfcId(卡片ID)
     private Date machineCreateTime;//创建时间
     private Date machineUpdateTime;//修改时间
 
@@ -152,4 +153,12 @@ public class PtsMachine implements Serializable{
     public void setMachineProduceType(Integer machineProduceType) {
         this.machineProduceType = machineProduceType;
     }
+
+    public String getMachineNfcId() {
+        return machineNfcId;
+    }
+
+    public void setMachineNfcId(String machineNfcId) {
+        this.machineNfcId = machineNfcId;
+    }
 }

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

@@ -41,4 +41,7 @@ public interface MachineService {
 
     //根据机器id获取产品类型
     Integer getProduceType(Integer machineId);
+
+    //查询是否存在相同的机器信息
+    Integer getMachineIsHave(PtsMachine ptsMachine);
 }

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

@@ -76,4 +76,9 @@ public class MachineServiceImpl implements MachineService {
         return machineMapper.getProduceType(machineId);
     }
 
+    @Override
+    public Integer getMachineIsHave(PtsMachine ptsMachine) {
+        return machineMapper.getMachineIsHave(ptsMachine);
+    }
+
 }

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

@@ -37,4 +37,7 @@ public interface MachineMapper {
 
    //根据机器id获取产品类型
    Integer getProduceType(Integer machineId);
+
+   //查询是否存在相同的机器信息
+   Integer getMachineIsHave(PtsMachine ptsMachine);
 }

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

@@ -5,11 +5,11 @@
         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_compound_img,machine_process_state,machine_create_time,machine_produce_type,machine_nfcId)
         VALUES
         (#{machineQrcode},#{machineBarcode},2,#{machineStatus},
         #{machineProducedTime},#{machineIsPrint},#{machineCompoundImg},#{machineProcessState},
-        #{machineCreateTime},#{machineProduceType})
+        #{machineCreateTime},#{machineProduceType},#{machineNfcId})
     </insert>
 
     <update id="updateMachine" parameterType="PtsMachine" >
@@ -165,4 +165,13 @@
         where pm.machine_id = #{machineId} limit 1
 
     </select>
+    
+    <select id="getMachineIsHave" parameterType="PtsMachine" resultType="Integer">
+        SELECT
+            COUNT(*)
+        FROM
+            tb_rst_pts_machine pm
+        LEFT JOIN tb_rst_pts_machine_logs ml ON pm.machine_id = ml.machine_id
+        where pm.machine_nfcId = #{machineNfcId} and ml.logs_process_time = #{machineCreateTime}
+    </select>
 </mapper>

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

@@ -117,7 +117,8 @@
         tb_rst_pts_produce.produce_status AS  produceStatus,
         tb_rst_pts_produce.produce_remake AS produceRemake,
         tb_rst_pts_produce.produce_create_time AS  produceCreateTime,
-        tb_rst_pts_produce.produce_update_time AS produceUpdateTime
+        tb_rst_pts_produce.produce_update_time AS produceUpdateTime,
+        tb_rst_pts_produce.produce_type AS produceType
         FROM
         tb_rst_pts_produce
         WHERE

+ 18 - 1
watero-rst-web/src/main/java/com/iamberry/rst/controllers/pts/MachineController.java

@@ -56,6 +56,22 @@ public class MachineController {
         JSONObject query = JSONObject.fromObject(nodeList);
         Integer employeeId = query.getInt("employeeId");//员工id
         String produceNo = query.getString("produceId");//产品编号
+        String nfcId = query.getString("nfcId");//NFCID(卡片id)
+        JSONArray nodes = query.getJSONArray("nodes");//选项集合(包含一个或多个工序选项,详情见示例)
+
+        //根据卡片id与生产时间判断数据库是否存在相同的数据
+        JSONObject machineJsonObject = nodes.getJSONObject(0);
+        String ProcessTime = machineJsonObject.getString("logsProcessTime"); //工序执行时间 (时间戳)
+        Date ProcessDate = timeConversions(ProcessTime);
+        PtsMachine machine = new PtsMachine();
+        machine.setMachineNfcId(nfcId);
+        machine.setMachineCreateTime(ProcessDate);
+        Integer ishave = machineService.getMachineIsHave(machine);
+        if(ishave > 0){
+            rj.setResultMsg("200");
+            rj.setResultMsg("ERROR");
+            return rj;
+        }
         Produce produce = produceService.getProduce(produceNo);//根据产品编号获取产品信息
         //生成条形码,二维码
         String berQrcode = generationBarCode();
@@ -72,10 +88,11 @@ public class MachineController {
             ptsMachine.setMachineProcessState(1);//生成流程状态1.正常2.异常
             ptsMachine.setMachineCreateTime(new Date());//创建时间
             ptsMachine.setMachineProduceType(produce.getProduceType());//产品类型
+            ptsMachine.setMachineNfcId(nfcId);
             machineService.addMachine(ptsMachine);
         }
         boolean isAbnormality = true;//状态是否异常
-        JSONArray nodes = query.getJSONArray("nodes");//选项集合(包含一个或多个工序选项,详情见示例)
+
         PtsMachineLogs ptsMachineLogs = new PtsMachineLogs();
         for(int i = 0;i< nodes.size();i++){
             JSONObject jsonObject = nodes.getJSONObject(i);