Ver Fonte

底护板验证取消

zhanghe há 4 meses atrás
pai
commit
da3aca0307

+ 155 - 0
src/main/java/com/jeesite/modules/mes/entity/MesSaw.java

@@ -0,0 +1,155 @@
+package com.jeesite.modules.mes.entity;
+
+import com.jeesite.common.entity.DataEntity;
+import com.jeesite.common.mybatis.annotation.Column;
+import com.jeesite.common.mybatis.annotation.Table;
+import com.jeesite.common.utils.excel.annotation.ExcelField;
+import com.jeesite.common.utils.excel.annotation.ExcelField.Align;
+import com.jeesite.common.utils.excel.annotation.ExcelFields;
+
+/**
+ * 锯切数据管理Entity(半自动锯切站 DB28)
+ * @author system
+ * @version 2026-06-11
+ */
+@Table(name="mes_saw", alias="a", label="锯切数据信息", columns={
+		@Column(name="id", attrName="id", label="id", isPK=true),
+		@Column(name="seq1_takt", attrName="seq1Takt", label="一序节拍(秒)"),
+		@Column(name="seq2_takt", attrName="seq2Takt", label="二序节拍(秒)"),
+		@Column(name="saw_speed", attrName="sawSpeed", label="锯切转速(r/min)"),
+		@Column(name="mill_speed", attrName="millSpeed", label="铣削转速(r/min)"),
+		@Column(name="servo_alarm", attrName="servoAlarm", label="伺服报警"),
+		@Column(name="inverter_fault", attrName="inverterFault", label="变频器异常(A1/C1)"),
+		@Column(name="inverter_overload", attrName="inverterOverload", label="变频器过负载OL"),
+		@Column(name="oil_mist_low", attrName="oilMistLow", label="油雾器液位低"),
+		@Column(name="chip_conveyor_trip", attrName="chipConveyorTrip", label="排屑机跳匝"),
+		@Column(name="hydraulic_trip", attrName="hydraulicTrip", label="液压站跳匝"),
+		@Column(name="water_cooler_stop", attrName="waterCoolerStop", label="水冷机停止中"),
+		@Column(name="manual_camera_alarm", attrName="manualCameraAlarm", label="人工位安全相机检测报警"),
+		@Column(name="saw_camera_alarm", attrName="sawCameraAlarm", label="锯切站内安全相机检测报警"),
+		@Column(name="cyl1_retract_fault", attrName="cyl1RetractFault", label="转台定位气缸1缩回检测故障"),
+		@Column(name="cyl1_extend_fault", attrName="cyl1ExtendFault", label="转台定位气缸1伸出检测故障"),
+		@Column(name="cyl2_retract_fault", attrName="cyl2RetractFault", label="转台定位气缸2缩回检测故障"),
+		@Column(name="cyl2_extend_fault", attrName="cyl2ExtendFault", label="转台定位气缸2伸出检测故障"),
+		@Column(name="cyl3_retract_fault", attrName="cyl3RetractFault", label="转台定位气缸3缩回检测故障"),
+		@Column(name="cyl3_extend_fault", attrName="cyl3ExtendFault", label="转台定位气缸3伸出检测故障"),
+		@Column(name="cyl4_retract_fault", attrName="cyl4RetractFault", label="转台定位气缸4缩回检测故障"),
+		@Column(name="cyl4_extend_fault", attrName="cyl4ExtendFault", label="转台定位气缸4伸出检测故障"),
+		@Column(name="estop_cabinet", attrName="estopCabinet", label="急停(电柜上)"),
+		@Column(name="estop_manual", attrName="estopManual", label="人工位急停"),
+		@Column(name="spindle_speed_alarm", attrName="spindleSpeedAlarm", label="主轴转速未达到报警"),
+		@Column(name="create_date", attrName="createDate", label="采集时间", isUpdate=false, isQuery=false, isUpdateForce=true),
+	}, orderBy="a.id DESC"
+)
+public class MesSaw extends DataEntity<MesSaw> {
+
+	private static final long serialVersionUID = 1L;
+	private String seq1Takt;
+	private String seq2Takt;
+	private String sawSpeed;
+	private String millSpeed;
+	private String servoAlarm;
+	private String inverterFault;
+	private String inverterOverload;
+	private String oilMistLow;
+	private String chipConveyorTrip;
+	private String hydraulicTrip;
+	private String waterCoolerStop;
+	private String manualCameraAlarm;
+	private String sawCameraAlarm;
+	private String cyl1RetractFault;
+	private String cyl1ExtendFault;
+	private String cyl2RetractFault;
+	private String cyl2ExtendFault;
+	private String cyl3RetractFault;
+	private String cyl3ExtendFault;
+	private String cyl4RetractFault;
+	private String cyl4ExtendFault;
+	private String estopCabinet;
+	private String estopManual;
+	private String spindleSpeedAlarm;
+
+	@ExcelFields({
+		@ExcelField(title="一序节拍(秒)", attrName="seq1Takt", align=Align.CENTER, sort=20),
+		@ExcelField(title="二序节拍(秒)", attrName="seq2Takt", align=Align.CENTER, sort=30),
+		@ExcelField(title="锯切转速(r/min)", attrName="sawSpeed", align=Align.CENTER, sort=40),
+		@ExcelField(title="铣削转速(r/min)", attrName="millSpeed", align=Align.CENTER, sort=50),
+		@ExcelField(title="伺服报警", attrName="servoAlarm", align=Align.CENTER, sort=60),
+		@ExcelField(title="变频器异常(A1/C1)", attrName="inverterFault", align=Align.CENTER, sort=70),
+		@ExcelField(title="变频器过负载OL", attrName="inverterOverload", align=Align.CENTER, sort=80),
+		@ExcelField(title="油雾器液位低", attrName="oilMistLow", align=Align.CENTER, sort=90),
+		@ExcelField(title="排屑机跳匝", attrName="chipConveyorTrip", align=Align.CENTER, sort=100),
+		@ExcelField(title="液压站跳匝", attrName="hydraulicTrip", align=Align.CENTER, sort=110),
+		@ExcelField(title="水冷机停止中", attrName="waterCoolerStop", align=Align.CENTER, sort=120),
+		@ExcelField(title="人工位安全相机检测报警", attrName="manualCameraAlarm", align=Align.CENTER, sort=130),
+		@ExcelField(title="锯切站内安全相机检测报警", attrName="sawCameraAlarm", align=Align.CENTER, sort=140),
+		@ExcelField(title="转台定位气缸1缩回检测故障", attrName="cyl1RetractFault", align=Align.CENTER, sort=150),
+		@ExcelField(title="转台定位气缸1伸出检测故障", attrName="cyl1ExtendFault", align=Align.CENTER, sort=160),
+		@ExcelField(title="转台定位气缸2缩回检测故障", attrName="cyl2RetractFault", align=Align.CENTER, sort=170),
+		@ExcelField(title="转台定位气缸2伸出检测故障", attrName="cyl2ExtendFault", align=Align.CENTER, sort=180),
+		@ExcelField(title="转台定位气缸3缩回检测故障", attrName="cyl3RetractFault", align=Align.CENTER, sort=190),
+		@ExcelField(title="转台定位气缸3伸出检测故障", attrName="cyl3ExtendFault", align=Align.CENTER, sort=200),
+		@ExcelField(title="转台定位气缸4缩回检测故障", attrName="cyl4RetractFault", align=Align.CENTER, sort=210),
+		@ExcelField(title="转台定位气缸4伸出检测故障", attrName="cyl4ExtendFault", align=Align.CENTER, sort=220),
+		@ExcelField(title="急停(电柜上)", attrName="estopCabinet", align=Align.CENTER, sort=230),
+		@ExcelField(title="人工位急停", attrName="estopManual", align=Align.CENTER, sort=240),
+		@ExcelField(title="主轴转速未达到报警", attrName="spindleSpeedAlarm", align=Align.CENTER, sort=250),
+		@ExcelField(title="采集时间", attrName="createDate", align=Align.CENTER, sort=260),
+	})
+	public MesSaw() {
+		this(null);
+	}
+
+	public MesSaw(String id){
+		super(id);
+	}
+
+	public String getSeq1Takt() { return seq1Takt; }
+	public void setSeq1Takt(String v) { this.seq1Takt = v; }
+	public String getSeq2Takt() { return seq2Takt; }
+	public void setSeq2Takt(String v) { this.seq2Takt = v; }
+	public String getSawSpeed() { return sawSpeed; }
+	public void setSawSpeed(String v) { this.sawSpeed = v; }
+	public String getMillSpeed() { return millSpeed; }
+	public void setMillSpeed(String v) { this.millSpeed = v; }
+	public String getServoAlarm() { return servoAlarm; }
+	public void setServoAlarm(String v) { this.servoAlarm = v; }
+	public String getInverterFault() { return inverterFault; }
+	public void setInverterFault(String v) { this.inverterFault = v; }
+	public String getInverterOverload() { return inverterOverload; }
+	public void setInverterOverload(String v) { this.inverterOverload = v; }
+	public String getOilMistLow() { return oilMistLow; }
+	public void setOilMistLow(String v) { this.oilMistLow = v; }
+	public String getChipConveyorTrip() { return chipConveyorTrip; }
+	public void setChipConveyorTrip(String v) { this.chipConveyorTrip = v; }
+	public String getHydraulicTrip() { return hydraulicTrip; }
+	public void setHydraulicTrip(String v) { this.hydraulicTrip = v; }
+	public String getWaterCoolerStop() { return waterCoolerStop; }
+	public void setWaterCoolerStop(String v) { this.waterCoolerStop = v; }
+	public String getManualCameraAlarm() { return manualCameraAlarm; }
+	public void setManualCameraAlarm(String v) { this.manualCameraAlarm = v; }
+	public String getSawCameraAlarm() { return sawCameraAlarm; }
+	public void setSawCameraAlarm(String v) { this.sawCameraAlarm = v; }
+	public String getCyl1RetractFault() { return cyl1RetractFault; }
+	public void setCyl1RetractFault(String v) { this.cyl1RetractFault = v; }
+	public String getCyl1ExtendFault() { return cyl1ExtendFault; }
+	public void setCyl1ExtendFault(String v) { this.cyl1ExtendFault = v; }
+	public String getCyl2RetractFault() { return cyl2RetractFault; }
+	public void setCyl2RetractFault(String v) { this.cyl2RetractFault = v; }
+	public String getCyl2ExtendFault() { return cyl2ExtendFault; }
+	public void setCyl2ExtendFault(String v) { this.cyl2ExtendFault = v; }
+	public String getCyl3RetractFault() { return cyl3RetractFault; }
+	public void setCyl3RetractFault(String v) { this.cyl3RetractFault = v; }
+	public String getCyl3ExtendFault() { return cyl3ExtendFault; }
+	public void setCyl3ExtendFault(String v) { this.cyl3ExtendFault = v; }
+	public String getCyl4RetractFault() { return cyl4RetractFault; }
+	public void setCyl4RetractFault(String v) { this.cyl4RetractFault = v; }
+	public String getCyl4ExtendFault() { return cyl4ExtendFault; }
+	public void setCyl4ExtendFault(String v) { this.cyl4ExtendFault = v; }
+	public String getEstopCabinet() { return estopCabinet; }
+	public void setEstopCabinet(String v) { this.estopCabinet = v; }
+	public String getEstopManual() { return estopManual; }
+	public void setEstopManual(String v) { this.estopManual = v; }
+	public String getSpindleSpeedAlarm() { return spindleSpeedAlarm; }
+	public void setSpindleSpeedAlarm(String v) { this.spindleSpeedAlarm = v; }
+}

+ 32 - 32
src/main/java/com/jeesite/modules/mes/util/CommonUitl.java

@@ -299,39 +299,39 @@ public class CommonUitl {
 
     // 检查底护板批次码是否正确
     public static boolean checkBatchSn(String batchSn,String sn) {
-        if(batchSn.length() < 20 || sn.length() < 20){
-            return false;
-        }
-        if(sn.length() != 24 && sn.length() != 32){
-            return false;
-        }
-        String xwd = "";
-        if(sn.length() == 24){
-            xwd = sn.substring(0,10);
-        }else{
-            xwd = sn.substring(0,14);
-        }
-        String bts = batchSn.substring(0,14);
-        switch (xwd){
-            case "000020015308-0":// 国内长续航
-            case "000020015305-0":// 国内超长续航
-            case "000020017939-0":// 中亚长续航
-            case "000020017933-0":// 中亚超长续航
-                if(bts.equals("000010056457-0")){ //000010056457-0100101424122630087
-                    return true;
-                }else{
-                    return false;
-                }
-            case "000020018302-0":// 海外长续航
-            case "000020018301-0":// 海外超长续航
-            case "2520200FF3":
-                if(bts.equals("000010061509-0")){
+//        if(batchSn.length() < 20 || sn.length() < 20){
+//            return false;
+//        }
+//        if(sn.length() != 24 && sn.length() != 32){
+//            return false;
+//        }
+//        String xwd = "";
+//        if(sn.length() == 24){
+//            xwd = sn.substring(0,10);
+//        }else{
+//            xwd = sn.substring(0,14);
+//        }
+//        String bts = batchSn.substring(0,14);
+//        switch (xwd){
+//            case "000020015308-0":// 国内长续航
+//            case "000020015305-0":// 国内超长续航
+//            case "000020017939-0":// 中亚长续航
+//            case "000020017933-0":// 中亚超长续航
+//                if(bts.equals("000010056457-0")){ //000010056457-0100101424122630087
+//                    return true;
+//                }else{
+//                    return false;
+//                }
+//            case "000020018302-0":// 海外长续航
+//            case "000020018301-0":// 海外超长续航
+//            case "2520200FF3":
+//                if(bts.equals("000010061509-0")){
                     return true;
-                }else{
-                    return false;
-                }
-        }
-        return false;
+//                }else{
+//                    return false;
+//                }
+//        }
+//        return false;
     }
 
     public static String getBase64Decode(String str) {

+ 138 - 0
src/main/java/com/jeesite/modules/mes/web/MesSawController.java

@@ -0,0 +1,138 @@
+package com.jeesite.modules.mes.web;
+
+import java.util.List;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.ModelAttribute;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.multipart.MultipartFile;
+
+import com.jeesite.common.config.Global;
+import com.jeesite.common.collect.ListUtils;
+import com.jeesite.common.entity.Page;
+import com.jeesite.common.lang.DateUtils;
+import com.jeesite.common.utils.excel.ExcelExport;
+import com.jeesite.common.utils.excel.annotation.ExcelField.Type;
+import com.jeesite.common.web.BaseController;
+import com.jeesite.modules.mes.entity.MesSaw;
+import com.jeesite.modules.mes.service.MesSawService;
+
+/**
+ * 锯切数据管理Controller
+ * @author system
+ * @version 2026-06-11
+ */
+@Controller
+@RequestMapping(value = "${adminPath}/mes/mesSaw")
+public class MesSawController extends BaseController {
+
+	@Autowired
+	private MesSawService mesSawService;
+
+	@ModelAttribute
+	public MesSaw get(String id, boolean isNewRecord) {
+		return mesSawService.get(id, isNewRecord);
+	}
+
+	@RequiresPermissions("mes:mesSaw:view")
+	@RequestMapping(value = {"list", ""})
+	public String list(MesSaw e, Model model) {
+		model.addAttribute("mesSaw", e);
+		return "modules/mes/mesSawList";
+	}
+
+	@RequiresPermissions("mes:mesSaw:view")
+	@RequestMapping(value = "listData")
+	@ResponseBody
+	public Page<MesSaw> listData(MesSaw e, HttpServletRequest request, HttpServletResponse response) {
+		e.setPage(new Page<>(request, response));
+		return mesSawService.findPage(e);
+	}
+
+	@RequiresPermissions("mes:mesSaw:view")
+	@RequestMapping(value = "form")
+	public String form(MesSaw e, Model model) {
+		model.addAttribute("mesSaw", e);
+		return "modules/mes/mesSawForm";
+	}
+
+	/**
+	 * 实时数据看板页面
+	 */
+	@RequiresPermissions("mes:mesSaw:view")
+	@RequestMapping(value = "board")
+	public String board() {
+		return "modules/mes/mesSawBoard";
+	}
+
+	/**
+	 * 实时数据看板 - 获取最新一条数据
+	 */
+	@RequiresPermissions("mes:mesSaw:view")
+	@RequestMapping(value = "latestData")
+	@ResponseBody
+	public MesSaw latestData() {
+		MesSaw query = new MesSaw();
+		query.setPage(new Page<>(1, 1));
+		Page<MesSaw> page = mesSawService.findPage(query);
+		List<MesSaw> list = page.getList();
+		return ListUtils.isEmpty(list) ? new MesSaw() : list.get(0);
+	}
+
+	@RequiresPermissions("mes:mesSaw:edit")
+	@PostMapping(value = "save")
+	@ResponseBody
+	public String save(@Validated MesSaw e) {
+		mesSawService.save(e);
+		return renderResult(Global.TRUE, text("保存锯切数据成功!"));
+	}
+
+	@RequiresPermissions("mes:mesSaw:view")
+	@RequestMapping(value = "exportData")
+	public void exportData(MesSaw e, HttpServletResponse response) {
+		List<MesSaw> list = mesSawService.findList(e);
+		String fileName = "锯切数据" + DateUtils.getDate("yyyyMMddHHmmss") + ".xlsx";
+		try (ExcelExport ee = new ExcelExport("锯切数据", MesSaw.class)) {
+			ee.setDataList(list).write(response, fileName);
+		}
+	}
+
+	@RequiresPermissions("mes:mesSaw:view")
+	@RequestMapping(value = "importTemplate")
+	public void importTemplate(HttpServletResponse response) {
+		MesSaw e = new MesSaw();
+		List<MesSaw> list = ListUtils.newArrayList(e);
+		String fileName = "锯切数据模板.xlsx";
+		try (ExcelExport ee = new ExcelExport("锯切数据", MesSaw.class, Type.IMPORT)) {
+			ee.setDataList(list).write(response, fileName);
+		}
+	}
+
+	@ResponseBody
+	@RequiresPermissions("mes:mesSaw:edit")
+	@PostMapping(value = "importData")
+	public String importData(MultipartFile file) {
+		try {
+			String message = mesSawService.importData(file);
+			return renderResult(Global.TRUE, "posfull:" + message);
+		} catch (Exception ex) {
+			return renderResult(Global.FALSE, "posfull:" + ex.getMessage());
+		}
+	}
+
+	@RequiresPermissions("mes:mesSaw:edit")
+	@RequestMapping(value = "delete")
+	@ResponseBody
+	public String delete(MesSaw e) {
+		mesSawService.delete(e);
+		return renderResult(Global.TRUE, text("删除锯切数据成功!"));
+	}
+}