Преглед на файлове

新增电子秤接收器功能:接收数据并将日总重数据入库。

zhuoning преди 3 години
родител
ревизия
f2c9bc24e8

+ 1 - 1
huimv-farm-v2/huimv-center-receiver/src/main/java/com/huimv/receiver/cloud/controller/EnvironController.java

@@ -16,7 +16,7 @@ import java.text.ParseException;
  **/
 @CrossOrigin
 @RestController
-@RequestMapping(value = "/cloud/environ")
+@RequestMapping(value = "/receiver/cloud/environ")
 public class EnvironController {
     @Autowired
     private IEnviron environ;

+ 27 - 0
huimv-farm-v2/huimv-center-receiver/src/main/java/com/huimv/receiver/farm/controller/WeightController.java

@@ -0,0 +1,27 @@
+package com.huimv.receiver.farm.controller;
+
+import com.huimv.receiver.farm.service.IWeight;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * @Project : huimv.shiwan
+ * @Package : com.huimv.biosafety.uface.controller
+ * @Description : TODO
+ * @Version : 1.0
+ * @Author : ZhuoNing
+ * @Create : 2020-12-25
+ **/
+@CrossOrigin
+@RestController
+@RequestMapping(value = "/receiver/farm/weight")
+public class WeightController {
+    @Autowired
+    private IWeight weight;
+
+    @RequestMapping(value = "/putDayWeight",method = RequestMethod.POST)
+    public void putDayWeight(@RequestParam(value = "data",required = true) String data){
+        //
+        weight.saveDayWeight(data);
+    }
+}

+ 92 - 0
huimv-farm-v2/huimv-center-receiver/src/main/java/com/huimv/receiver/farm/dao/entity/ProdDayWeightEntity.java

@@ -0,0 +1,92 @@
+package com.huimv.receiver.farm.dao.entity;
+
+import javax.persistence.*;
+import java.io.Serializable;
+import java.sql.Timestamp;
+
+@Entity
+@Table(name = "prod_day_weight")
+public class ProdDayWeightEntity implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(name = "id", nullable = false)
+    private Integer id;
+
+    @Column(name = "add_time")
+    private Timestamp addTime;
+
+    @Column(name = "farm_id")
+    private Integer farmId;
+
+    @Column(name = "gross_weight")
+    private Float grossWeight;
+
+    @Column(name = "net_weight")
+    private Float netWeight;
+
+    @Column(name = "tare_weight")
+    private Float tareWeight;
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setAddTime(Timestamp addTime) {
+        this.addTime = addTime;
+    }
+
+    public Timestamp getAddTime() {
+        return addTime;
+    }
+
+    public void setFarmId(Integer farmId) {
+        this.farmId = farmId;
+    }
+
+    public Integer getFarmId() {
+        return farmId;
+    }
+
+    public void setGrossWeight(Float grossWeight) {
+        this.grossWeight = grossWeight;
+    }
+
+    public Float getGrossWeight() {
+        return grossWeight;
+    }
+
+    public void setNetWeight(Float netWeight) {
+        this.netWeight = netWeight;
+    }
+
+    public Float getNetWeight() {
+        return netWeight;
+    }
+
+    public void setTareWeight(Float tareWeight) {
+        this.tareWeight = tareWeight;
+    }
+
+    public Float getTareWeight() {
+        return tareWeight;
+    }
+
+    @Override
+    public String toString() {
+        return "ProdDayWeightEntity{" +
+                "id=" + id + '\'' +
+                "addTime=" + addTime + '\'' +
+                "farmId=" + farmId + '\'' +
+                "grossWeight=" + grossWeight + '\'' +
+                "netWeight=" + netWeight + '\'' +
+                "tareWeight=" + tareWeight + '\'' +
+                '}';
+    }
+}

+ 14 - 0
huimv-farm-v2/huimv-center-receiver/src/main/java/com/huimv/receiver/farm/dao/repo/ProdDayWeightRepo.java

@@ -0,0 +1,14 @@
+package com.huimv.receiver.farm.dao.repo;
+
+import com.huimv.receiver.farm.dao.entity.ProdDayWeightEntity;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Query;
+
+import java.util.Date;
+
+public interface ProdDayWeightRepo extends JpaRepository<ProdDayWeightEntity, Integer>, JpaSpecificationExecutor<ProdDayWeightEntity> {
+
+    @Query(nativeQuery = true,value = "SELECT * FROM prod_day_weight WHERE DATE_FORMAT(add_time,'%Y-%m-%d') = DATE_FORMAT(?1,'%Y-%m-%d') AND farm_id=?2")
+    ProdDayWeightEntity findByDateAndFarmId(Date date, Integer farmId);
+}

+ 6 - 0
huimv-farm-v2/huimv-center-receiver/src/main/java/com/huimv/receiver/farm/service/IWeight.java

@@ -0,0 +1,6 @@
+package com.huimv.receiver.farm.service;
+
+public interface IWeight {
+    //
+    void saveDayWeight(String data);
+}

+ 51 - 0
huimv-farm-v2/huimv-center-receiver/src/main/java/com/huimv/receiver/farm/service/impl/WeightImpl.java

@@ -0,0 +1,51 @@
+package com.huimv.receiver.farm.service.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import com.huimv.receiver.farm.dao.entity.ProdDayWeightEntity;
+import com.huimv.receiver.farm.dao.repo.ProdDayWeightRepo;
+import com.huimv.receiver.farm.service.IWeight;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.sql.Timestamp;
+import java.util.Date;
+
+/**
+ * @Project : huimv.shiwan
+ * @Package : com.huimv.biosafety.uface.controller
+ * @Description : TODO
+ * @Version : 1.0
+ * @Author : ZhuoNing
+ * @Create : 2020-12-25
+ **/
+@Service
+public class WeightImpl implements IWeight {
+    @Autowired
+    private ProdDayWeightRepo dayWeightRepo;
+
+    @Override
+    public void saveDayWeight(String data) {
+        JSONObject dayWeightJo = JSONObject.parseObject(data);
+        Long date = dayWeightJo.getLong("addTime");
+        Integer farmId = dayWeightJo.getInteger("farmId");
+        //
+        ProdDayWeightEntity existDayWeightEntity = dayWeightRepo.findByDateAndFarmId(new Date(date),farmId);
+        if(existDayWeightEntity != null){
+            existDayWeightEntity.setAddTime(new Timestamp(new Date().getTime()));
+//            existDayWeightEntity.setFarmId(dayWeightJo.getInteger("farmId"));
+            existDayWeightEntity.setGrossWeight(dayWeightJo.getFloat("grossWeight"));
+            existDayWeightEntity.setTareWeight(dayWeightJo.getFloat("tareWeight"));
+            existDayWeightEntity.setNetWeight(dayWeightJo.getFloat("netWeight"));
+            dayWeightRepo.saveAndFlush(existDayWeightEntity);
+        }else{
+            ProdDayWeightEntity newDayWeightEntity = new ProdDayWeightEntity();
+            newDayWeightEntity.setAddTime(new Timestamp(new Date().getTime()));
+            newDayWeightEntity.setFarmId(dayWeightJo.getInteger("farmId"));
+            newDayWeightEntity.setGrossWeight(dayWeightJo.getFloat("grossWeight"));
+            newDayWeightEntity.setTareWeight(dayWeightJo.getFloat("tareWeight"));
+            newDayWeightEntity.setNetWeight(dayWeightJo.getFloat("netWeight"));
+            dayWeightRepo.saveAndFlush(newDayWeightEntity);
+        }
+
+    }
+}