diff --git a/i3plus-ext-mes-pcn.iml b/i3plus-ext-mes-pcn.iml
deleted file mode 100644
index f409c0e..0000000
--- a/i3plus-ext-mes-pcn.iml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/modules/i3plus-ext-mes-pcn-api/i3plus-ext-mes-pcn-api.iml b/modules/i3plus-ext-mes-pcn-api/i3plus-ext-mes-pcn-api.iml
deleted file mode 100644
index c0ac73a..0000000
--- a/modules/i3plus-ext-mes-pcn-api/i3plus-ext-mes-pcn-api.iml
+++ /dev/null
@@ -1,325 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/base/IShiftProdCenterRecordService.java b/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/base/IShiftProdCenterRecordService.java
index 0c8d93a..418e91a 100644
--- a/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/base/IShiftProdCenterRecordService.java
+++ b/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/base/IShiftProdCenterRecordService.java
@@ -5,6 +5,7 @@ import cn.estsh.i3plus.ext.mes.pcn.pojo.bean.MesShiftProd;
import cn.estsh.i3plus.ext.mes.pcn.pojo.bean.MesShiftProdCenterRecord;
import cn.estsh.i3plus.ext.mes.pcn.pojo.bean.MesWorkCenterExt;
import cn.estsh.i3plus.ext.mes.pcn.pojo.model.ShiftProdCenterModel;
+import cn.estsh.i3plus.ext.mes.pcn.pojo.model.ShiftProdCenterRecordModel;
import cn.estsh.i3plus.ext.mes.pcn.pojo.model.ShiftProdModel;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
@@ -37,17 +38,17 @@ public interface IShiftProdCenterRecordService {
/**
* 停开机记录-结束班次
- * @param workCenter 产线信息
+ * @param centerRecordModel 产线信息
*/
@ApiOperation(value = "停开机记录-结束班次", notes = "停开机记录-结束班次")
- void doShiftProdCenterStop(MesWorkCenterExt workCenter);
+ void doShiftProdCenterStop(ShiftProdCenterRecordModel centerRecordModel);
/**
* 停开机记录-启动班次
- * @param workCenter 产线信息
+ * @param centerRecordModel 产线信息
*/
@ApiOperation(value = "停开机记录-启动班次", notes = "停开机记录-启动班次")
- void doShiftProdCenterStart(MesWorkCenterExt workCenter);
+ void doShiftProdCenterStart(ShiftProdCenterRecordModel centerRecordModel);
/**
* 新增停开机记录
diff --git a/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/base/IWorkOrderStartService.java b/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/base/IWorkOrderStartService.java
index 39b966e..dfae42a 100644
--- a/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/base/IWorkOrderStartService.java
+++ b/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/base/IWorkOrderStartService.java
@@ -1,11 +1,8 @@
package cn.estsh.i3plus.ext.mes.pcn.api.base;
-import cn.estsh.i3plus.ext.mes.pcn.pojo.bean.MesCheckErrorLog;
import cn.estsh.i3plus.ext.mes.pcn.pojo.bean.MesWorkOrderExt;
import cn.estsh.impp.framework.boot.util.ResultBean;
import io.swagger.annotations.ApiOperation;
-import org.springframework.transaction.annotation.Propagation;
-import org.springframework.transaction.annotation.Transactional;
/**
* @author yumingxing
diff --git a/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/jx/ITorqueManageCheckService.java b/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/jx/ITorqueManageCheckService.java
new file mode 100644
index 0000000..4a2e1b7
--- /dev/null
+++ b/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/jx/ITorqueManageCheckService.java
@@ -0,0 +1,52 @@
+package cn.estsh.i3plus.ext.mes.pcn.api.busi.jx;
+
+import cn.estsh.i3plus.ext.mes.pcn.pojo.bean.MesProcessTorqueManageTaskDetail;
+import cn.estsh.i3plus.pojo.base.bean.ListPager;
+import cn.estsh.i3plus.pojo.base.common.Pager;
+import cn.estsh.i3plus.pojo.mes.bean.MesWorkCell;
+import io.swagger.annotations.ApiOperation;
+
+import java.util.List;
+
+/**
+ * @Author: xinwang.yi
+ * @CreateDate: 2023/14/32 14:25
+ * @Description:
+ **/
+public interface ITorqueManageCheckService {
+ /**
+ * 查询扭矩管理点检明细
+ * @param personCheckDetail
+ * @return
+ */
+ @ApiOperation(value = "查询扭矩管理点检明细", notes = "查询扭矩管理点检明细")
+ ListPager queryTorqueManageCheckDetail(MesProcessTorqueManageTaskDetail personCheckDetail, Pager pager);
+
+
+ /**
+ * 扭矩管理点检作业
+ * @param torqueManageTaskDetail
+ * @return
+ */
+ @ApiOperation(value = "扭矩管理点检作业", notes = "扭矩管理点检作业")
+ void updateTorqueManageCheckDetail(MesProcessTorqueManageTaskDetail torqueManageTaskDetail);
+
+ /**
+ * 扭矩管理点检作业
+ * @param torqueManageTaskDetail
+ * @return
+ */
+ @ApiOperation(value = "根据单号修改明细数据中扭矩规格值和管理NO", notes = "根据单号修改明细数据中扭矩规格值和管理NO")
+ void updateTopTorqueManageCheckDetail(MesProcessTorqueManageTaskDetail torqueManageTaskDetail);
+
+
+ /**
+ * 通过单据编号查询工位
+ *
+ * @param orderNo
+ * @param organizeCode
+ * @return
+ */
+ @ApiOperation(value = "通过单据编号查询工位", notes = "通过单据编号查询工位")
+ List queryCellByOrderNo(String orderNo, String organizeCode);
+}
diff --git a/modules/i3plus-ext-mes-pcn-apiservice/i3plus-ext-mes-pcn-apiservice.iml b/modules/i3plus-ext-mes-pcn-apiservice/i3plus-ext-mes-pcn-apiservice.iml
deleted file mode 100644
index 290ae11..0000000
--- a/modules/i3plus-ext-mes-pcn-apiservice/i3plus-ext-mes-pcn-apiservice.iml
+++ /dev/null
@@ -1,408 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/base/ShiftProdCenterRecordController.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/base/ShiftProdCenterRecordController.java
index 6701b57..7559767 100644
--- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/base/ShiftProdCenterRecordController.java
+++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/base/ShiftProdCenterRecordController.java
@@ -4,7 +4,7 @@ import cn.estsh.i3plus.ext.mes.pcn.api.base.IShiftProdCenterRecordService;
import cn.estsh.i3plus.ext.mes.pcn.pojo.bean.MesShiftExt;
import cn.estsh.i3plus.ext.mes.pcn.pojo.bean.MesShiftProd;
import cn.estsh.i3plus.ext.mes.pcn.pojo.bean.MesShiftProdCenterRecord;
-import cn.estsh.i3plus.ext.mes.pcn.pojo.bean.MesWorkCenterExt;
+import cn.estsh.i3plus.ext.mes.pcn.pojo.model.ShiftProdCenterRecordModel;
import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords;
import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum;
import cn.estsh.i3plus.platform.common.util.CommonConstWords;
@@ -66,15 +66,17 @@ public class ShiftProdCenterRecordController extends MesPcnBaseController {
@PostMapping(value = "/shift-prod-center/stop")
@ApiOperation(value = "停开机记录-结束班次")
- public ResultBean doShiftProdCenterStop(MesWorkCenterExt workCenter) {
+ public ResultBean doShiftProdCenterStop(ShiftProdCenterRecordModel centerRecordModel) {
try {
- ValidatorBean.beginValid(workCenter)
- .notNull(MesPcnExtConstWords.ORGANIZE_CODE, workCenter.getOrganizeCode())
- .notNull(MesPcnExtConstWords.AREA_CODE, workCenter.getAreaCode())
- .notNull(MesPcnExtConstWords.WORK_CENTER_CODE, workCenter.getWorkCenterCode())
- .notNull(MesPcnExtConstWords.MODIFY_USER, workCenter.getModifyUser());
+ ValidatorBean.beginValid(centerRecordModel)
+ .notNull(MesPcnExtConstWords.ORGANIZE_CODE, centerRecordModel.getOrganizeCode())
+ .notNull(MesPcnExtConstWords.AREA_CODE, centerRecordModel.getAreaCode())
+ .notNull(MesPcnExtConstWords.WORK_CENTER_CODE, centerRecordModel.getWorkCenterCode())
+ .notNull(MesPcnExtConstWords.MODIFY_USER, centerRecordModel.getModifyUser())
+ .notNull(MesPcnExtConstWords.END_TIME, centerRecordModel.getEndTime())
+ .notNull(MesPcnExtConstWords.PART_CUT_COUNT, centerRecordModel.getPartCutCount());
- shiftProdCenterRecordService.doShiftProdCenterStop(workCenter);
+ shiftProdCenterRecordService.doShiftProdCenterStop(centerRecordModel);
return ResultBean.success("结束成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch (ImppBusiException busExcep) {
@@ -86,17 +88,24 @@ public class ShiftProdCenterRecordController extends MesPcnBaseController {
@PostMapping(value = "/shift-prod-center/start")
@ApiOperation(value = "停开机记录-启动班次")
- public ResultBean doShiftProdCenterStart(MesWorkCenterExt workCenter) {
+ public ResultBean doShiftProdCenterStart(ShiftProdCenterRecordModel centerRecordModel) {
try {
- ValidatorBean.beginValid(workCenter)
- .notNull(MesPcnExtConstWords.ORGANIZE_CODE, workCenter.getOrganizeCode())
- .notNull(MesPcnExtConstWords.AREA_CODE, workCenter.getAreaCode())
- .notNull(MesPcnExtConstWords.WORK_CENTER_CODE, workCenter.getWorkCenterCode())
- .notNull(MesPcnExtConstWords.SHIFT_CODE, workCenter.getShiftCode())
- .notNull(MesPcnExtConstWords.WORKER_QTY, workCenter.getWorkerQty())
- .notNull(MesPcnExtConstWords.MODIFY_USER, workCenter.getModifyUser());
-
- shiftProdCenterRecordService.doShiftProdCenterStart(workCenter);
+ ValidatorBean.beginValid(centerRecordModel)
+ .notNull(MesPcnExtConstWords.ORGANIZE_CODE, centerRecordModel.getOrganizeCode())
+ .notNull(MesPcnExtConstWords.AREA_CODE, centerRecordModel.getAreaCode())
+ .notNull(MesPcnExtConstWords.WORK_CENTER_CODE, centerRecordModel.getWorkCenterCode())
+ .notNull(MesPcnExtConstWords.SHIFT_CODE, centerRecordModel.getShiftCode())
+ .notNull(MesPcnExtConstWords.WORKER_QTY, centerRecordModel.getWorkerQty())
+ .notNull(MesPcnExtConstWords.MODIFY_USER, centerRecordModel.getModifyUser())
+ .notNull(MesPcnExtConstWords.WORK_TIME, centerRecordModel.getWorkTime())
+ .notNull(MesPcnExtConstWords.AT_HOME_NUM, centerRecordModel.getWorkTime())
+ .notNull(MesPcnExtConstWords.ABSENTEEISM_NUM, centerRecordModel.getWorkTime())
+ .notNull(MesPcnExtConstWords.NEW_WORK_NUM, centerRecordModel.getNewWorkNum())
+ .notNull(MesPcnExtConstWords.QUIT_WORK_NUM, centerRecordModel.getQuitWorkNum())
+ .notNull(MesPcnExtConstWords.START_TIME, centerRecordModel.getStartTime())
+ ;
+
+ shiftProdCenterRecordService.doShiftProdCenterStart(centerRecordModel);
return ResultBean.success("启动成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch (ImppBusiException busExcep) {
diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/busi/jx/TorqueManageCheckController.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/busi/jx/TorqueManageCheckController.java
new file mode 100644
index 0000000..7032975
--- /dev/null
+++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/busi/jx/TorqueManageCheckController.java
@@ -0,0 +1,115 @@
+package cn.estsh.i3plus.ext.mes.pcn.apiservice.controller.busi.jx;
+
+import cn.estsh.i3plus.ext.mes.pcn.api.busi.jx.ITorqueManageCheckService;
+import cn.estsh.i3plus.ext.mes.pcn.pojo.bean.MesProcessTorqueManageTaskDetail;
+import cn.estsh.i3plus.platform.common.util.CommonConstWords;
+import cn.estsh.i3plus.pojo.base.common.Pager;
+import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
+import cn.estsh.impp.framework.base.controller.MesPcnBaseController;
+import cn.estsh.impp.framework.boot.exception.ImppBusiException;
+import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
+import cn.estsh.impp.framework.boot.util.ResultBean;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * @Author: xinwang.yi
+ * @CreateDate: 2023/10/10 15:37
+ * @Description:
+ **/
+@RestController
+@Api(tags = "扭矩管理点检")
+@RequestMapping(CommonConstWords.BASE_URL_MES_PCN + "/torque-manage-check")
+public class TorqueManageCheckController extends MesPcnBaseController {
+ public static final Logger LOGGER = LoggerFactory.getLogger(TorqueManageCheckController.class);
+
+ @Autowired
+ private ITorqueManageCheckService personCheckDetailService;
+
+
+ /**
+ * 查询扭矩管理点检作业明细
+ *
+ * @param torqueManageTaskDetail
+ * @return
+ */
+ @GetMapping(value = "/detail/query")
+ @ApiOperation(value = "查询扭矩管理点检作业明细")
+ public ResultBean queryProcessTorqueManageTaskDetailCheckDetail(MesProcessTorqueManageTaskDetail torqueManageTaskDetail, Pager pager) {
+ try {
+ return ResultBean.success("查询成功").setResultObject(personCheckDetailService.queryTorqueManageCheckDetail(torqueManageTaskDetail, pager))
+ .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
+ } catch (ImppBusiException busExcep) {
+ return ResultBean.fail(busExcep);
+ } catch (Exception e) {
+ return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
+ }
+ }
+
+ /**
+ * 修改明细数据
+ *
+ * @param personCheckDetail
+ * @return
+ */
+ @PutMapping(value = "/detail/update")
+ @ApiOperation(value = "修改明细数据")
+ public ResultBean updateMesQManageTaskDetail(MesProcessTorqueManageTaskDetail personCheckDetail) {
+ try {
+ personCheckDetailService.updateTorqueManageCheckDetail(personCheckDetail);
+ return ResultBean.success("修改成功")
+ .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
+ } catch (ImppBusiException busExcep) {
+ return ResultBean.fail(busExcep);
+ } catch (Exception e) {
+ return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
+ }
+ }
+
+ /**
+ * 修改顶部明细数据
+ *
+ * @param personCheckDetail
+ * @return
+ */
+ @PutMapping(value = "/detail/update-top-data")
+ @ApiOperation(value = "根据单号修改明细数据中扭矩规格值和管理NO")
+ public ResultBean updateTopMesQManageTaskDetail(MesProcessTorqueManageTaskDetail personCheckDetail) {
+ try {
+ personCheckDetailService.updateTopTorqueManageCheckDetail(personCheckDetail);
+ return ResultBean.success("修改成功")
+ .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
+ } catch (ImppBusiException busExcep) {
+ return ResultBean.fail(busExcep);
+ } catch (Exception e) {
+ return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
+ }
+ }
+
+ /**
+ * 通过单据编号查询工位
+ *
+ * @param orderNo
+ * @param organizeCode
+ * @return
+ */
+ @GetMapping("/cell/query")
+ @ApiOperation(value = "通过单据编号查询工位")
+ public ResultBean queryCellByOrderNo(String orderNo, String organizeCode) {
+ try {
+ return ResultBean.success("查询成功").setResultList(this.personCheckDetailService.queryCellByOrderNo(orderNo, organizeCode))
+ .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
+ } catch (ImppBusiException busExcep) {
+ return ResultBean.fail(busExcep);
+ } catch (Exception e) {
+ return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
+ }
+ }
+}
diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/base/ShiftProdCenterRecordService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/base/ShiftProdCenterRecordService.java
index 2925236..9e65dfa 100644
--- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/base/ShiftProdCenterRecordService.java
+++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/base/ShiftProdCenterRecordService.java
@@ -151,73 +151,99 @@ public class ShiftProdCenterRecordService implements IShiftProdCenterRecordServi
}
@Override
- public void doShiftProdCenterStop(MesWorkCenterExt workCenter) {
- MesWorkCenterExt workCenterDb = getWorkCenter(workCenter.getOrganizeCode(), workCenter.getAreaCode(), workCenter.getWorkCenterCode());
+ public void doShiftProdCenterStop(ShiftProdCenterRecordModel centerRecordModel) {
+ MesWorkCenterExt workCenterDb = getWorkCenter(centerRecordModel.getOrganizeCode(), centerRecordModel.getAreaCode(), centerRecordModel.getWorkCenterCode());
if (null == workCenterDb) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
- .setErrorDetail("区域代码[%s]生产线代码[%s]对应的信息不存在", workCenter.getAreaCode(), workCenter.getWorkCenterCode())
+ .setErrorDetail("区域代码[%s]生产线代码[%s]对应的信息不存在", centerRecordModel.getAreaCode(), centerRecordModel.getWorkCenterCode())
.build();
}
if (StringUtils.isEmpty(workCenterDb.getShiftCode()) || StringUtils.isEmpty(workCenterDb.getWorkTime())) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
- .setErrorDetail("生产线[%s]未启动班次,不能执行结束班次操作", workCenter.getWorkCenterCode())
+ .setErrorDetail("生产线[%s]未启动班次,不能执行结束班次操作", centerRecordModel.getWorkCenterCode())
.build();
}
workCenterDb.setShiftCode(null);
workCenterDb.setWorkTime(null);
workCenterDb.setWorkerQty(null);
- ConvertBean.serviceModelUpdate(workCenterDb, workCenter.getModifyUser());
+ ConvertBean.serviceModelUpdate(workCenterDb, centerRecordModel.getModifyUser());
new ConvertBeanExt(workCenterDb).convertBean(workCenterDb);
workCenterExtRepository.save(workCenterDb);
+
+ MesShiftProdCenterRecord shiftProdCenterRecordDb = shiftProdCenterRecordRepository.getByProperty(
+ new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.IS_VALID,
+ MesPcnExtConstWords.WORK_CENTER_CODE, MesPcnExtConstWords.SHIFT_CODE, MesPcnExtConstWords.WORK_TIME, MesPcnExtConstWords.PROD_TYPE},
+ new Object[]{workCenterDb.getOrganizeCode(), CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), CommonEnumUtil.IS_VAILD.VAILD.getValue(),
+ workCenterDb.getWorkCenterCode(), workCenterDb.getShiftCode(), workCenterDb.getWorkTime(), MesPcnExtEnumUtil.SHIFT_PROD_TYPE.START_OR_END_SHIFT_TIME});
+
+ if (shiftProdCenterRecordDb == null) {
+ throw ImppExceptionBuilder.newInstance()
+ .setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode())
+ .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
+ .setErrorDetail("生产线[%s]不存在开始/结束班次时间类型停开机记录,不能执行结束班次操作", centerRecordModel.getWorkCenterCode())
+ .build();
+ }
+
+ shiftProdCenterRecordDb.setEndTime(centerRecordModel.getEndTime());
+ shiftProdCenterRecordDb.setPartCutCount(centerRecordModel.getPartCutCount());
+ shiftProdCenterRecordDb.setOvertimeNum(centerRecordModel.getOvertimeNum());
+ ConvertBean.serviceModelUpdate(shiftProdCenterRecordDb, centerRecordModel.getModifyUser());
+ shiftProdCenterRecordRepository.save(shiftProdCenterRecordDb);
}
@Override
- public void doShiftProdCenterStart(MesWorkCenterExt workCenter) {
- MesShift shiftDb = shiftExtService.getShiftByShiftCodeAndCenterCode(workCenter.getOrganizeCode(), workCenter.getWorkCenterCode(), workCenter.getShiftCode());
+ public void doShiftProdCenterStart(ShiftProdCenterRecordModel centerRecordModel) {
+ MesShift shiftDb = shiftExtService.getShiftByShiftCodeAndCenterCode(centerRecordModel.getOrganizeCode(), centerRecordModel.getWorkCenterCode(), centerRecordModel.getShiftCode());
if (null == shiftDb) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
- .setErrorDetail("生产线代码[%s]班次代码[%s]对应的信息不存在", workCenter.getWorkCenterCode(), workCenter.getShiftCode())
+ .setErrorDetail("生产线代码[%s]班次代码[%s]对应的信息不存在", centerRecordModel.getWorkCenterCode(), centerRecordModel.getShiftCode())
.build();
}
- MesWorkCenterExt workCenterDb = getWorkCenter(workCenter.getOrganizeCode(), workCenter.getAreaCode(), workCenter.getWorkCenterCode());
+ MesWorkCenterExt workCenterDb = getWorkCenter(centerRecordModel.getOrganizeCode(), centerRecordModel.getAreaCode(), centerRecordModel.getWorkCenterCode());
if (null == workCenterDb) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
- .setErrorDetail("区域代码[%s]生产线代码[%s]对应的信息不存在", workCenter.getAreaCode(), workCenter.getWorkCenterCode())
+ .setErrorDetail("区域代码[%s]生产线代码[%s]对应的信息不存在", centerRecordModel.getAreaCode(), centerRecordModel.getWorkCenterCode())
.build();
}
//计算作业时间(年月日)
String workTime = getWorkTime(shiftDb.getStartTime(), shiftDb.getEndTime());
workCenterDb.setShiftCode(shiftDb.getShiftCode());
- workCenterDb.setWorkerQty(workCenter.getWorkerQty());
+ workCenterDb.setWorkerQty(centerRecordModel.getWorkerQty());
workCenterDb.setWorkTime(workTime);
- ConvertBean.serviceModelUpdate(workCenterDb, workCenter.getModifyUser());
+ ConvertBean.serviceModelUpdate(workCenterDb, centerRecordModel.getModifyUser());
new ConvertBeanExt(workCenterDb).convertBean(workCenterDb);
workCenterExtRepository.save(workCenterDb);
//查询停开机记录表,不存在此维度[作业时间+生产线+班次]数据时,查询产线班次固定作业内容信息,存在则遍历插入停开机记录表,需要冗余班次作业项目信息中的字段
List shiftProdCenterRecordList = getShiftProdCenterRecordList(
- workCenter.getOrganizeCode(), workTime, workCenter.getWorkCenterCode(), shiftDb.getShiftCode());
+ centerRecordModel.getOrganizeCode(), workTime, centerRecordModel.getWorkCenterCode(), shiftDb.getShiftCode());
+
+ MesShiftProdCenterRecord startOrEndShiftRecord = new MesShiftProdCenterRecord();
+
if (CollectionUtils.isEmpty(shiftProdCenterRecordList)) {
- List shiftProdCenterList = getShiftProdCenterList(workCenter.getOrganizeCode(), workCenter.getWorkCenterCode(), shiftDb.getShiftCode());
+
+ ConvertBean.serviceModelInitialize(startOrEndShiftRecord, centerRecordModel.getModifyUser());
+
+ List shiftProdCenterList = getShiftProdCenterList(centerRecordModel.getOrganizeCode(), centerRecordModel.getWorkCenterCode(), shiftDb.getShiftCode());
if (!CollectionUtils.isEmpty(shiftProdCenterList)) {
//获取班次作业项目表根据作业内容代码分组的数据
- Map> prodCodeMap = getProdCodeMap(workCenter.getOrganizeCode(), shiftProdCenterList);
+ Map> prodCodeMap = getProdCodeMap(centerRecordModel.getOrganizeCode(), shiftProdCenterList);
for (MesShiftProdCenter shiftProdCenter : shiftProdCenterList) {
if (null == shiftProdCenter) {
continue;
}
MesShiftProdCenterRecord record = new MesShiftProdCenterRecord();
- record.setWorkCenterCode(workCenter.getWorkCenterCode());
+ record.setWorkCenterCode(centerRecordModel.getWorkCenterCode());
record.setShiftCode(shiftDb.getShiftCode());
record.setShiftName(shiftDb.getShiftName());
record.setProdCode(shiftProdCenter.getProdCode());
@@ -240,13 +266,36 @@ public class ShiftProdCenterRecordService implements IShiftProdCenterRecordServi
} else {
record.setEndTime(workTime + MesPcnExtConstWords.ONE_SPACE + shiftProdCenter.getEndTime());
}
- record.setWorkerQty(workCenter.getWorkerQty());
- record.setOrganizeCode(workCenter.getOrganizeCode());
- ConvertBean.serviceModelInitialize(record, workCenter.getModifyUser());
+ record.setWorkerQty(centerRecordModel.getWorkerQty());
+ record.setOrganizeCode(centerRecordModel.getOrganizeCode());
+ ConvertBean.serviceModelInitialize(record, centerRecordModel.getModifyUser());
shiftProdCenterRecordRepository.insert(record);
}
}
+ } else {
+ for (MesShiftProdCenterRecord shiftProdCenterRecord : shiftProdCenterRecordList) {
+ if (shiftProdCenterRecord.getProdType() == MesPcnExtEnumUtil.SHIFT_PROD_TYPE.START_OR_END_SHIFT_TIME.getValue()) {
+ startOrEndShiftRecord = shiftProdCenterRecord;
+ ConvertBean.serviceModelUpdate(startOrEndShiftRecord, centerRecordModel.getModifyUser());
+ }
+ }
}
+
+ startOrEndShiftRecord.setWorkCenterCode(centerRecordModel.getWorkCenterCode());
+ startOrEndShiftRecord.setStartTime(TimeTool.getNowTime(true));
+ startOrEndShiftRecord.setShiftCode(shiftDb.getShiftCode());
+ startOrEndShiftRecord.setShiftName(shiftDb.getShiftName());
+ startOrEndShiftRecord.setWorkTime(workTime);
+ startOrEndShiftRecord.setAtHomeNum(centerRecordModel.getAtHomeNum());
+ startOrEndShiftRecord.setAbsenteeismNum(centerRecordModel.getAbsenteeismNum());
+ startOrEndShiftRecord.setOvertimeNum(centerRecordModel.getOvertimeNum());
+ startOrEndShiftRecord.setNewWorkNum(centerRecordModel.getNewWorkNum());
+ startOrEndShiftRecord.setQuitWorkNum(centerRecordModel.getQuitWorkNum());
+ startOrEndShiftRecord.setWorkerQty(centerRecordModel.getWorkerQty());
+ startOrEndShiftRecord.setProdType(MesPcnExtEnumUtil.SHIFT_PROD_TYPE.START_OR_END_SHIFT_TIME.getValue());
+
+ shiftProdCenterRecordRepository.insert(startOrEndShiftRecord);
+
}
private List getShiftProdCenterList(String organizeCode, String workCenterCode, String shiftCode) {
@@ -546,8 +595,20 @@ public class ShiftProdCenterRecordService implements IShiftProdCenterRecordServi
@Override
public int deleteShiftProdCenterRecodeById(Long id, String modifyUser) {
- return shiftProdCenterRecordRepository.updateByProperties(new String[]{MesPcnExtConstWords.ID}, new Object[]{id},
- new String[]{MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.MODIFY_USER, MesPcnExtConstWords.MODIFY_DATE_TIME},
- new Object[]{CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue(), modifyUser, TimeTool.getNowTime(true)});
+
+ MesShiftProdCenterRecord shiftProdCenterRecordById = getShiftProdCenterRecordById(id);
+
+ if (shiftProdCenterRecordById.getProdType() == MesPcnExtEnumUtil.SHIFT_PROD_TYPE.START_OR_END_SHIFT_TIME.getValue()) {
+ throw ImppExceptionBuilder.newInstance()
+ .setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode())
+ .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode())
+ .setErrorDetail("[%s]类型停开机记录不能删除", MesPcnExtEnumUtil.SHIFT_PROD_TYPE.valueOfDescription(shiftProdCenterRecordById.getProdType()))
+ .build();
+ }
+
+ shiftProdCenterRecordById.setIsDeleted(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue());
+ ConvertBean.serviceModelUpdate(shiftProdCenterRecordById, modifyUser);
+ shiftProdCenterRecordRepository.save(shiftProdCenterRecordById);
+ return 1;
}
}
diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/base/SxWorkOrderExtService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/base/SxWorkOrderExtService.java
index 1bed0d7..a0b2ec3 100644
--- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/base/SxWorkOrderExtService.java
+++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/base/SxWorkOrderExtService.java
@@ -27,6 +27,7 @@ import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.common.PagerHelper;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.enumutil.MesEnumUtil;
+import cn.estsh.i3plus.pojo.base.enumutil.MesPcnEnumUtil;
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
import cn.estsh.i3plus.pojo.mes.bean.*;
import cn.estsh.i3plus.pojo.mes.model.GenSerialNoModel;
@@ -37,6 +38,7 @@ import cn.estsh.i3plus.pojo.mes.repository.MesWorkOrderRepository;
import cn.estsh.i3plus.pojo.platform.bean.SysRole;
import cn.estsh.impp.framework.boot.auth.AuthUtil;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
+import cn.estsh.impp.framework.boot.util.ImppRedis;
import cn.estsh.impp.framework.boot.util.SpringContextsUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
@@ -51,6 +53,7 @@ import org.springframework.util.CollectionUtils;
import org.springframework.util.ObjectUtils;
import org.springframework.util.StringUtils;
+import javax.annotation.Resource;
import java.math.BigDecimal;
import java.text.ParseException;
import java.text.SimpleDateFormat;
@@ -123,8 +126,8 @@ public class SxWorkOrderExtService implements ISxWorkOrderExtService {
@Autowired
private MesPackageDetailRepository packageDetailRepository;
- @Autowired
- private MesReworkOrderRepository reworkOrderRepository;
+ @Resource(name = MesPcnExtConstWords.REDIS_RES_PCN)
+ private ImppRedis redisMesPcn;
/**
* 生成生产工单
@@ -750,9 +753,6 @@ public class SxWorkOrderExtService implements ISxWorkOrderExtService {
}
}
- MesBusiConfig waterPurifierCode = busiConfigRepository.getByProperty(
- new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.IS_VALID, MesPcnExtConstWords.CFG_CODE},
- new Object[]{organizeCode, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue(), MesPcnExtConstWords.WATER_PURIFIER_CODE});
// 一个工单号下的多个工单
for (MesWorkOrderExt workOrderExt : workOrderExtList) {
Integer lastWorkOrderStatus = null;
@@ -857,6 +857,8 @@ public class SxWorkOrderExtService implements ISxWorkOrderExtService {
.setErrorDetail("工单[%s]的状态不是启动,下达,创建状态,不能暂停", workOrderExt.getOrderNo())
.build();
}
+ String key = new StringJoiner(MesPcnExtConstWords.COLON).add("MES-PAUSE-ORDER").add(workOrderExt.getOrderNo()).toString();
+ redisMesPcn.putObject(key, workOrderExt.getOrderNo(), MesPcnEnumUtil.EXPIRE_TIME.ONE_MIN.getValue());
} else if (MesPcnExtEnumUtil.WORK_ORDER_STATUS.CLOSE.getValue() == workOrderStatus) {
/*//关闭
//校验工单是否是暂停状态
diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/jx/TorqueManageCheckDetailService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/jx/TorqueManageCheckDetailService.java
new file mode 100644
index 0000000..bedf36c
--- /dev/null
+++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/jx/TorqueManageCheckDetailService.java
@@ -0,0 +1,185 @@
+package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.busi.jx;
+
+import cn.estsh.i3plus.ext.mes.pcn.api.busi.jx.ITorqueManageCheckService;
+import cn.estsh.i3plus.ext.mes.pcn.pojo.bean.MesOrderJob;
+import cn.estsh.i3plus.ext.mes.pcn.pojo.bean.MesProcessTorqueManageTaskDetail;
+import cn.estsh.i3plus.ext.mes.pcn.pojo.repository.MesOrderJobRepository;
+import cn.estsh.i3plus.ext.mes.pcn.pojo.repository.MesProcessTorqueManageTaskDetailRepository;
+import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords;
+import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtEnumUtil;
+import cn.estsh.i3plus.platform.common.convert.ConvertBean;
+import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum;
+import cn.estsh.i3plus.platform.common.tool.TimeTool;
+import cn.estsh.i3plus.platform.common.util.MesConstWords;
+import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
+import cn.estsh.i3plus.pojo.base.bean.ListPager;
+import cn.estsh.i3plus.pojo.base.common.Pager;
+import cn.estsh.i3plus.pojo.base.common.PagerHelper;
+import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
+import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
+import cn.estsh.i3plus.pojo.mes.bean.MesWorkCell;
+import cn.estsh.i3plus.pojo.mes.repository.MesWorkCellRepository;
+import cn.estsh.i3plus.pojo.mes.sqlpack.MesHqlPack;
+import cn.estsh.impp.framework.boot.auth.AuthUtil;
+import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.CollectionUtils;
+import org.springframework.util.StringUtils;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * @Author: xiangming.liao
+ * @CreateDate: 2021/02/05 13:52
+ * @Description:
+ **/
+@Service
+public class TorqueManageCheckDetailService implements ITorqueManageCheckService {
+ @Autowired
+ private MesProcessTorqueManageTaskDetailRepository torqueManageTaskDetailRepository;
+ @Autowired
+ private MesOrderJobRepository mesOrderJobRDao;
+ @Autowired
+ private MesWorkCellRepository mesWorkCellRDao;
+
+ @Override
+ public ListPager queryTorqueManageCheckDetail(MesProcessTorqueManageTaskDetail personCheckDetail, Pager pager) {
+ DdlPackBean packBean = DdlPackBean.getDdlPackBean(personCheckDetail.getOrganizeCode());
+ DdlPreparedPack.getStringEqualPack(personCheckDetail.getOrderJobNo(), MesPcnExtConstWords.ORDER_JOB_NO, packBean);
+ DdlPreparedPack.getNumEqualPack(personCheckDetail.getIsValid(), MesPcnExtConstWords.IS_VALID, packBean);
+ DdlPreparedPack.getStringEqualPack(personCheckDetail.getWorkCenterCode(), MesPcnExtConstWords.WORK_CENTER_CODE, packBean);
+ DdlPreparedPack.getStringEqualPack(personCheckDetail.getWorkCellCode(), MesPcnExtConstWords.WORK_CELL_CODE, packBean);
+ pager = PagerHelper.getPager(pager, torqueManageTaskDetailRepository.findByHqlWhereCount(packBean));
+ List torqueManageTaskDetailList = torqueManageTaskDetailRepository.findByHqlWherePage(packBean, pager);
+ for (MesProcessTorqueManageTaskDetail mesProcessTorqueManageTaskDetail : torqueManageTaskDetailList) {
+ if (!StringUtils.isEmpty(mesProcessTorqueManageTaskDetail.getTorqueSpecValue())) {
+ mesProcessTorqueManageTaskDetail.setTorqueSpecValueList(Arrays.stream(mesProcessTorqueManageTaskDetail.getTorqueSpecValue().split(MesPcnExtConstWords.COMMA)).collect(Collectors.toList()));
+ }
+ }
+ return new ListPager(torqueManageTaskDetailList, pager);
+ }
+
+ @Override
+ public void updateTorqueManageCheckDetail(MesProcessTorqueManageTaskDetail torqueManageTaskDetail) {
+ MesProcessTorqueManageTaskDetail detailById = torqueManageTaskDetailRepository.getById(torqueManageTaskDetail.getId());
+ if (null == detailById) {
+ throw ImppExceptionBuilder.newInstance()
+ .setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode())
+ .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode())
+ .setErrorDetail("该条数据不存在")
+ .build();
+ }
+
+ // 前端未判断点检结果则后端进行判断
+ if (torqueManageTaskDetail.getCheckResult() == null || torqueManageTaskDetail.getCheckResult() == 0) {
+ // 未维护上下限的情况
+ if (!StringUtils.isEmpty(torqueManageTaskDetail.getUpLimit()) && !StringUtils.isEmpty(torqueManageTaskDetail.getDownLimit())) {
+
+ if (StringUtils.isEmpty(torqueManageTaskDetail.getTorqueValue1()) ||
+ StringUtils.isEmpty(torqueManageTaskDetail.getTorqueValue2()) ||
+ StringUtils.isEmpty(torqueManageTaskDetail.getTorqueValue3()) ||
+ StringUtils.isEmpty(torqueManageTaskDetail.getTorqueValue4()) ||
+ StringUtils.isEmpty(torqueManageTaskDetail.getTorqueValue5()) ||
+ torqueManageTaskDetail.getRotationNoAbnormal() == null ||
+ torqueManageTaskDetail.getRotationNoAbnormal() == MesPcnExtEnumUtil.TORQUE_MANAGE_CHECK_RESULT.NG.getValue() ||
+ torqueManageTaskDetail.getFasteningNoAbnormal() == null ||
+ torqueManageTaskDetail.getFasteningNoAbnormal() == MesPcnExtEnumUtil.TORQUE_MANAGE_CHECK_RESULT.NG.getValue() ||
+ torqueManageTaskDetail.getFasteningIsStc() == null ||
+ torqueManageTaskDetail.getFasteningIsStc() == MesPcnExtEnumUtil.TORQUE_MANAGE_CHECK_RESULT.NG.getValue() ||
+ torqueManageTaskDetail.getToolHeadNoWear() == null ||
+ torqueManageTaskDetail.getToolHeadNoWear() == MesPcnExtEnumUtil.TORQUE_MANAGE_CHECK_RESULT.NG.getValue()
+ ) torqueManageTaskDetail.setCheckResult(MesPcnExtEnumUtil.TORQUE_MANAGE_CHECK_RESULT.NG.getValue());
+
+ else {
+
+ Double upLimitDouble = Double.parseDouble(torqueManageTaskDetail.getUpLimit());
+ Double downLimitDouble = Double.parseDouble(torqueManageTaskDetail.getDownLimit());
+
+ boolean isNG = false;
+ if (checkValue(torqueManageTaskDetail.getTorqueValue1(), upLimitDouble, downLimitDouble)) isNG = true;
+ else if (checkValue(torqueManageTaskDetail.getTorqueValue2(), upLimitDouble, downLimitDouble)) isNG = true;
+ else if (checkValue(torqueManageTaskDetail.getTorqueValue3(), upLimitDouble, downLimitDouble)) isNG = true;
+ else if (checkValue(torqueManageTaskDetail.getTorqueValue4(), upLimitDouble, downLimitDouble)) isNG = true;
+ else if (checkValue(torqueManageTaskDetail.getTorqueValue5(), upLimitDouble, downLimitDouble)) isNG = true;
+
+ if (isNG) torqueManageTaskDetail.setCheckResult(MesPcnExtEnumUtil.TORQUE_MANAGE_CHECK_RESULT.NG.getValue());
+ else torqueManageTaskDetail.setCheckResult(MesPcnExtEnumUtil.TORQUE_MANAGE_CHECK_RESULT.OK.getValue());
+
+ }
+
+ } else {
+ // 未维护上下限的情况 不判断扭矩值1-5
+ if (torqueManageTaskDetail.getRotationNoAbnormal() == null ||
+ torqueManageTaskDetail.getRotationNoAbnormal() == MesPcnExtEnumUtil.TORQUE_MANAGE_CHECK_RESULT.NG.getValue() ||
+ torqueManageTaskDetail.getFasteningNoAbnormal() == null ||
+ torqueManageTaskDetail.getFasteningNoAbnormal() == MesPcnExtEnumUtil.TORQUE_MANAGE_CHECK_RESULT.NG.getValue() ||
+ torqueManageTaskDetail.getFasteningIsStc() == null ||
+ torqueManageTaskDetail.getFasteningIsStc() == MesPcnExtEnumUtil.TORQUE_MANAGE_CHECK_RESULT.NG.getValue() ||
+ torqueManageTaskDetail.getToolHeadNoWear() == null ||
+ torqueManageTaskDetail.getToolHeadNoWear() == MesPcnExtEnumUtil.TORQUE_MANAGE_CHECK_RESULT.NG.getValue()
+ ) torqueManageTaskDetail.setCheckResult(MesPcnExtEnumUtil.TORQUE_MANAGE_CHECK_RESULT.NG.getValue());
+
+ else torqueManageTaskDetail.setCheckResult(MesPcnExtEnumUtil.TORQUE_MANAGE_CHECK_RESULT.OK.getValue());
+ }
+ }
+
+ torqueManageTaskDetail.setCheckTime(TimeTool.getNowTime(true));
+ torqueManageTaskDetail.setCheckUser(torqueManageTaskDetail.getModifyUser());
+ ConvertBean.serviceModelUpdate(torqueManageTaskDetail, torqueManageTaskDetail.getModifyUser());
+ torqueManageTaskDetailRepository.save(torqueManageTaskDetail);
+
+ //单据主表状态改为点检中
+ updateOrderJobStatus(torqueManageTaskDetail);
+ }
+
+ private boolean checkValue(String checkValue, Double upLimit, Double dowmLimit) {
+
+ Double torqueValueDouble = Double.parseDouble(checkValue);
+
+ if (torqueValueDouble > upLimit || torqueValueDouble < dowmLimit) {
+ return true;
+ }
+ return false;
+ }
+
+ @Override
+ public void updateTopTorqueManageCheckDetail(MesProcessTorqueManageTaskDetail torqueManageTaskDetail) {
+ torqueManageTaskDetailRepository.updateByProperties(new String[]{MesPcnExtConstWords.ORDER_JOB_NO}, new Object[]{torqueManageTaskDetail.getOrderJobNo()},
+ new String[]{MesPcnExtConstWords.MODIFY_USER, MesPcnExtConstWords.MODIFY_DATE_TIME, MesPcnExtConstWords.TORQUE_MANAGE_NO1, MesPcnExtConstWords.TORQUE_MANAGE_NO2, MesPcnExtConstWords.TORQUE_MANAGE_NO3, MesPcnExtConstWords.TORQUE_SPEC_VALUE},
+ new Object[]{AuthUtil.getSessionUser().getUserName(), TimeTool.getNowTime(true), torqueManageTaskDetail.getTorqueManageNo1(), torqueManageTaskDetail.getTorqueManageNo2(), torqueManageTaskDetail.getTorqueManageNo3(), torqueManageTaskDetail.getTorqueSpecValue()});
+ }
+
+ private void updateOrderJobStatus(MesProcessTorqueManageTaskDetail torqueManageTaskDetail) {
+ //单据主表状态改为点检中
+ MesOrderJob mesOrderJob = mesOrderJobRDao.getByProperty(
+ new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.IS_VALID, MesPcnExtConstWords.ORDER_NO},
+ new Object[]{torqueManageTaskDetail.getOrganizeCode(), CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(),
+ MesPcnExtEnumUtil.IS_VAILD.VAILD.getValue(), torqueManageTaskDetail.getOrderJobNo()});
+ if (mesOrderJob.getOrderStatus() == MesPcnExtEnumUtil.MES_ORJ_ORDER_STATUS.CREATE.getValue()) {
+ mesOrderJob.setOrderStatus(MesPcnExtEnumUtil.MES_ORJ_ORDER_STATUS.CHECKING.getValue());
+ mesOrderJob.setComplateTime(TimeTool.getNowTime(true));
+ ConvertBean.serviceModelUpdate(mesOrderJob, torqueManageTaskDetail.getModifyUser());
+ mesOrderJobRDao.save(mesOrderJob);
+ }
+ }
+
+ @Override
+ public List queryCellByOrderNo(String orderNo, String organizeCode) {
+ DdlPackBean packBean = MesHqlPack.getMesAllData(organizeCode);
+ DdlPreparedPack.getStringEqualPack(orderNo, MesPcnExtConstWords.ORDER_JOB_NO, packBean);
+ List checkDetailList = torqueManageTaskDetailRepository.findByHqlWhere(packBean);
+ List centerList = checkDetailList.stream().map(MesProcessTorqueManageTaskDetail::getWorkCenterCode).collect(Collectors.toList());
+ List cellList = checkDetailList.stream().map(MesProcessTorqueManageTaskDetail::getWorkCellCode).collect(Collectors.toList());
+ if (CollectionUtils.isEmpty(cellList)) {
+ return null;
+ }
+ DdlPackBean cellPackBean = MesHqlPack.getMesAllData(organizeCode);
+ DdlPreparedPack.getInPackList(cellList, MesPcnExtConstWords.WORK_CELL_CODE, cellPackBean);
+ DdlPreparedPack.getInPackList(centerList, MesPcnExtConstWords.WORK_CENTER_CODE, cellPackBean);
+ return mesWorkCellRDao.findByHqlWhere(cellPackBean);
+ }
+}
diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/jx/TorqueManageCheckService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/jx/TorqueManageCheckService.java
new file mode 100644
index 0000000..48c203b
--- /dev/null
+++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/jx/TorqueManageCheckService.java
@@ -0,0 +1,272 @@
+package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.busi.jx;
+
+import cn.estsh.i3plus.ext.mes.pcn.api.base.ICheckErrorLogService;
+import cn.estsh.i3plus.ext.mes.pcn.api.base.IWorkOrderStartService;
+import cn.estsh.i3plus.ext.mes.pcn.pojo.bean.*;
+import cn.estsh.i3plus.ext.mes.pcn.pojo.repository.*;
+import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords;
+import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtEnumUtil;
+import cn.estsh.i3plus.mes.pcn.api.iservice.busi.ISyncFuncService;
+import cn.estsh.i3plus.platform.common.convert.ConvertBean;
+import cn.estsh.i3plus.platform.common.tool.TimeTool;
+import cn.estsh.i3plus.pojo.base.bean.BaseResultBean;
+import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
+import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
+import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
+import cn.estsh.i3plus.pojo.mes.bean.MesWorkCell;
+import cn.estsh.i3plus.pojo.mes.model.GenSerialNoModel;
+import cn.estsh.i3plus.pojo.mes.repository.MesWorkCellRepository;
+import cn.estsh.i3plus.pojo.mes.sqlpack.MesHqlPack;
+import cn.estsh.impp.framework.boot.util.ImppRedis;
+import cn.estsh.impp.framework.boot.util.ResultBean;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+import org.springframework.util.StringUtils;
+
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.Optional;
+import java.util.StringJoiner;
+import java.util.stream.Collectors;
+
+/**
+ * @author yumingxing
+ * @version 1.0
+ * @date 2021/2/19 16:06
+ **/
+@Slf4j
+@Service
+public class TorqueManageCheckService implements IWorkOrderStartService {
+
+ @Autowired
+ private ICheckErrorLogService checkErrorLogService;
+
+ @Autowired
+ private MesProcessTorqueManageRepository torqueManageRepository;
+
+ @Autowired
+ private MesProcessTorqueManageTaskDetailRepository torqueManageTaskDetailRepository;
+
+ @Autowired
+ private MesWorkCenterExtRepository workCenterExtRepository;
+
+ @Autowired
+ private MesWorkCellRepository workCellRepository;
+
+ @Autowired
+ private MesProcessCellRepository processCellRepository;
+
+ @Autowired
+ private MesOrderJobRepository orderJobRepository;
+
+ @Autowired
+ private MesOrderRuleRepository orderRuleRepository;
+
+ @Autowired
+ private ISyncFuncService syncFuncService;
+
+ @Resource(name = MesPcnExtConstWords.REDIS_RES_PCN)
+ private ImppRedis redisMesPcn;
+
+ /**
+ * 工单启动后方法执行
+ *
+ * @param workOrderExt 工单
+ * @return {@link ResultBean}
+ */
+ @Override
+ public void doGenCheckOrder(MesWorkOrderExt workOrderExt, String userInfo) {
+ MesCheckErrorLog checkErrorLog = new MesCheckErrorLog();
+ checkErrorLog.setGenerationMethod(MesPcnExtEnumUtil.GENERATION_METHOD.FROM_WORK_ORDER_START.getValue());
+ checkErrorLog.setGeneratingModule(MesPcnExtEnumUtil.MES_OR_ORDER_TYPE.TORQUE_MANAGE.getDescription());
+
+ String msg;
+ try {
+
+ MesWorkCenterExt workCenterExt = workCenterExtRepository.getByProperty(
+ new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_VALID, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.WORK_CENTER_CODE},
+ new Object[]{workOrderExt.getOrganizeCode(), CommonEnumUtil.IS_VAILD.VAILD.getValue(), CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), workOrderExt.getWorkCenterCode()});
+
+ if (null == workCenterExt) {
+ msg = String.format("扭矩管理生成单据:工单[%s]生产线[%s]无效", workOrderExt.getOrderNo(), workOrderExt.getWorkCenterCode());
+ log.info(msg);
+ checkErrorLogService.insertCheckErrorLog(checkErrorLog, msg, userInfo);
+ return;
+ }
+ if (StringUtils.isEmpty(workCenterExt.getShiftCode()) || StringUtils.isEmpty(workCenterExt.getWorkTime())) {
+ msg = String.format("扭矩管理生成单据:工单[%s]生产线[%s]未启动班次", workOrderExt.getOrderNo(), workOrderExt.getWorkCenterCode());
+ log.info(msg);
+ checkErrorLogService.insertCheckErrorLog(checkErrorLog, msg, userInfo);
+ return;
+ }
+
+ if (checkGenedOrder(workOrderExt, userInfo, checkErrorLog, workCenterExt)) return;
+
+ //1、查找产线下所有的工位
+ List mesWorkCellList = workCellRepository.findByProperty(
+ new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.IS_VALID, MesPcnExtConstWords.WORK_CENTER_CODE},
+ new Object[]{workOrderExt.getOrganizeCode(), CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), MesPcnExtEnumUtil.IS_VAILD.VAILD.getValue(), workOrderExt.getWorkCenterCode()});
+
+ //2、通过产线和工位去工序工位关系表中查询所有的工序
+ List workCells = mesWorkCellList.stream().map(MesWorkCell::getWorkCellCode).collect(Collectors.toList());
+ if (CollectionUtils.isEmpty(workCells)) {
+ msg = String.format("扭矩管理生成单据:工单[%s]生产线[%s]未关联工位", workOrderExt.getOrderNo(), workOrderExt.getWorkCenterCode());
+ log.info(msg);
+ checkErrorLogService.insertCheckErrorLog(checkErrorLog, msg, userInfo);
+ return;
+ }
+
+ DdlPackBean pcPackBean = MesHqlPack.getMesAllData(workOrderExt.getOrganizeCode());
+ DdlPreparedPack.getStringEqualPack(workOrderExt.getWorkCenterCode(), MesPcnExtConstWords.WORK_CENTER_CODE, pcPackBean);
+ DdlPreparedPack.getInPackList(workCells, MesPcnExtConstWords.WORK_CELL_CODE, pcPackBean);
+ List processCellList = processCellRepository.findByHqlWhere(pcPackBean);
+ if (CollectionUtils.isEmpty(processCellList)) {
+ msg = String.format("扭矩管理生成单据:工单[%s]请先维护工序工位关系", workOrderExt.getOrderNo());
+ log.info(msg);
+ checkErrorLogService.insertCheckErrorLog(checkErrorLog, msg, userInfo);
+ return;
+ }
+
+ //DdlPackBean torqueManageTaskDetailPackBean = DdlPackBean.getDdlPackBean(organizeCode);
+ //DdlPreparedPack.getStringEqualPack(orderNo, MesPcnExtConstWords.ORDER_NO, torqueManageTaskDetailPackBean);
+ //List torqueManageTaskDetailList = torqueManageTaskDetailRepository.findByHqlWhere(torqueManageTaskDetailPackBean);
+ //if (!CollectionUtils.isEmpty(torqueManageTaskDetailList)) {
+ // msg = String.format("扭矩管理点检生成单据:工单[%s]已经生成过扭矩管理点检单", workOrderExt.getOrderNo());
+ // log.info(msg);
+ // checkErrorLogService.insertCheckErrorLog(checkErrorLog, msg, userInfo);
+ // return;
+ //}
+
+ //DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(workOrderExt.getOrganizeCode());
+ //DdlPreparedPack.getNumEqualPack(MesPcnExtEnumUtil.MES_OR_ORDER_TYPE.TORQUE_MANAGE.getValue(), MesPcnExtConstWords.ORDER_TYPE, ddlPackBean);
+ //DdlPreparedPack.getStringEqualPack(workOrderExt.getWorkCenterCode(), MesPcnExtConstWords.WORK_CENTER_CODE, ddlPackBean);
+ //DdlPreparedPack.getNumEqualPack(MesPcnExtEnumUtil.MES_OR_CREATE_RULE.WORK_ORDER_CREATE.getValue(), MesPcnExtConstWords.CREATE_RULE, ddlPackBean);
+ DdlPackBean caseCondition = DdlPackBean.getDdlPackBean(workOrderExt.getOrganizeCode());
+ DdlPreparedPack.getStringEqualPack(workOrderExt.getPartNo(), MesPcnExtConstWords.PART_NO, caseCondition);
+ List torqueManageList = torqueManageRepository.findByHqlWhere(caseCondition);
+ if (CollectionUtils.isEmpty(torqueManageList)) {
+ msg = String.format("扭矩管理点检生成单据:工单[%s]物料编码[%s]未维护扭矩管理点检基础数据", workOrderExt.getOrderNo(), workOrderExt.getPartNo());
+ log.info(msg);
+ checkErrorLogService.insertCheckErrorLog(checkErrorLog, msg, userInfo);
+ return;
+ }
+
+ List orderRuleList = orderRuleRepository.findByProperty(
+ new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_VALID, MesPcnExtConstWords.IS_DELETED,
+ MesPcnExtConstWords.ORDER_TYPE, MesPcnExtConstWords.CREATE_RULE, MesPcnExtConstWords.WORK_CENTER_CODE},
+ new Object[]{workOrderExt.getOrganizeCode(), CommonEnumUtil.IS_VAILD.VAILD.getValue(), CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(),
+ MesPcnExtEnumUtil.MES_OR_ORDER_TYPE.FAILURE_CASE_CHECK.getValue(), MesPcnExtEnumUtil.MES_OR_CREATE_RULE.WORK_ORDER_CREATE.getValue(), workOrderExt.getWorkCenterCode()});
+ Optional orderRuleOp = CollectionUtils.isEmpty(orderRuleList) ? null :
+ orderRuleList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getShiftCode()) && o.getShiftCode().equals(workCenterExt.getShiftCode()))).findFirst();
+ if (null == orderRuleOp || !orderRuleOp.isPresent()) {
+ orderRuleOp = CollectionUtils.isEmpty(orderRuleList) ? null : orderRuleList.stream().filter(o -> (null != o && StringUtils.isEmpty(o.getShiftCode()))).findFirst();
+ }
+ if (null == orderRuleOp || !orderRuleOp.isPresent()) {
+ msg = String.format("扭矩管理点检生成单据:工单[%s]未配置生产线代码[%s][工单创建][扭矩管理点检]班次为[%s]或班次为空的单据规则信息,请检查", workOrderExt.getOrderNo(), workOrderExt.getWorkCenterCode(), workCenterExt.getShiftCode());
+ log.info(msg);
+ checkErrorLogService.insertCheckErrorLog(checkErrorLog, msg, userInfo);
+ return;
+ }
+
+ MesOrderJob mesOrderJob = new MesOrderJob();
+ mesOrderJob.setTaskType(orderRuleOp.get().getTaskType());
+ mesOrderJob.setOrderType(MesPcnExtEnumUtil.MES_OR_ORDER_TYPE.TORQUE_MANAGE.getValue());
+ List orderNoList = getOrderNoByRuleCode(1, MesPcnExtConstWords.ORDER_NO_RULE, new GenSerialNoModel(), userInfo, workOrderExt.getOrganizeCode());
+ if (CollectionUtils.isEmpty(orderNoList)) {
+ msg = String.format("扭矩管理点检生成单据:工单[%s]单据编号未生成成功", workOrderExt.getOrderNo());
+ log.info(msg);
+ checkErrorLogService.insertCheckErrorLog(checkErrorLog, msg, userInfo);
+ return;
+ }
+ mesOrderJob.setOrderNo(orderNoList.get(0));
+ mesOrderJob.setWorkCenterCode(workOrderExt.getWorkCenterCode());
+ mesOrderJob.setShiftCode(workCenterExt.getShiftCode());
+ mesOrderJob.setWorkOrderNo(workOrderExt.getOrderNo());
+ mesOrderJob.setOrderStatus(MesPcnExtEnumUtil.MES_ORJ_ORDER_STATUS.CREATE.getValue());
+ mesOrderJob.setOrderDate(TimeTool.getToday());
+ mesOrderJob.setWorkTime(workCenterExt.getWorkTime());
+ mesOrderJob.setOrganizeCode(workOrderExt.getOrganizeCode());
+ ConvertBean.serviceModelInitialize(mesOrderJob, userInfo);
+ mesOrderJob.setGenerateTime(mesOrderJob.getModifyDatetime());
+ orderJobRepository.insert(mesOrderJob);
+
+ for (MesProcessTorqueManage torqueManage : torqueManageList) {
+ //通过工序和产线查询工序工位信息
+ DdlPackBean pcPackBeanByPrcs = MesHqlPack.getMesAllData(workOrderExt.getOrganizeCode());
+ DdlPreparedPack.getStringEqualPack(torqueManage.getProcessCode(), MesPcnExtConstWords.PROCESS_CODE, pcPackBeanByPrcs);
+ DdlPreparedPack.getStringEqualPack(mesOrderJob.getWorkCenterCode(), MesPcnExtConstWords.WORK_CENTER_CODE, pcPackBeanByPrcs);
+ MesProcessCell processCell = processCellRepository.getByProperty(pcPackBeanByPrcs);
+ if(null != processCell){
+ MesProcessTorqueManageTaskDetail detail = new MesProcessTorqueManageTaskDetail();
+ BeanUtils.copyProperties(torqueManage, detail, MesPcnExtConstWords.ID);
+ detail.setOrderJobNo(mesOrderJob.getOrderNo());
+ detail.setWorkCenterCode(mesOrderJob.getWorkCenterCode());
+ detail.setWorkOrderNo(mesOrderJob.getWorkOrderNo());
+ detail.setShiftCode(workCenterExt.getShiftCode());
+ detail.setWorkCellCode(processCell.getWorkCellCode());
+ detail.setWorkCellName(processCell.getWorkCellName());
+ detail.setProcessCode(processCell.getProcessCode());
+ detail.setProcessName(processCell.getProcessName());
+ detail.setPartNo(workOrderExt.getPartNo());
+ detail.setOrganizeCode(workOrderExt.getOrganizeCode());
+
+ ConvertBean.serviceModelInitialize(detail, userInfo);
+ torqueManageTaskDetailRepository.insert(detail);
+ }
+ }
+ } catch (Exception e) {
+ checkErrorLogService.insertCheckErrorLog(checkErrorLog, e.getMessage(), userInfo);
+ log.info(e.getMessage());
+ }
+ }
+
+ private boolean checkGenedOrder(MesWorkOrderExt workOrderExt, String userInfo, MesCheckErrorLog checkErrorLog, MesWorkCenterExt workCenterExt) {
+
+ String msg;
+
+ StringJoiner key = new StringJoiner(MesPcnExtConstWords.COLON).add("MES-PAUSE-ORDER").add(workOrderExt.getOrderNo());
+
+ String pauseOrderKey = (String) redisMesPcn.getObject(key);
+
+ if (StringUtils.isEmpty(pauseOrderKey)) {
+ msg = String.format("扭矩管理点检生成单据:工单[%s]在一分钟内有过暂停操作,操作频繁,等待一分钟后可再生成扭矩管理点检单", workOrderExt.getOrderNo());
+ log.info(msg);
+ checkErrorLogService.insertCheckErrorLog(checkErrorLog, msg, userInfo);
+ return true;
+ }
+
+ DdlPackBean packBean = DdlPackBean.getDdlPackBean(workOrderExt.getOrganizeCode());
+ DdlPreparedPack.getNumEqualPack(MesPcnExtEnumUtil.MES_OR_ORDER_TYPE.PART_CHECK.getValue(), MesPcnExtConstWords.ORDER_TYPE, packBean);
+ DdlPreparedPack.getStringEqualPack(workOrderExt.getWorkCenterCode(), MesPcnExtConstWords.WORK_CENTER_CODE, packBean);
+ DdlPreparedPack.getStringEqualPack(workCenterExt.getShiftCode(), MesPcnExtConstWords.SHIFT_CODE, packBean);
+ DdlPreparedPack.getStringEqualPack(workCenterExt.getWorkTime(), MesPcnExtConstWords.WORK_TIME, packBean);
+ DdlPreparedPack.getStringEqualPack(workOrderExt.getOrderNo(), MesPcnExtConstWords.WORK_ORDER_NO, packBean);
+ List orderJobList = orderJobRepository.findByHqlWhere(packBean);
+
+ if (!CollectionUtils.isEmpty(orderJobList)) {
+ msg = String.format("扭矩管理点检生成单据:工单[%s]已经生成过扭矩管理点检单", workOrderExt.getOrderNo());
+ log.info(msg);
+ checkErrorLogService.insertCheckErrorLog(checkErrorLog, msg, userInfo);
+ return true;
+ }
+ return false;
+ }
+
+ private List getOrderNoByRuleCode(int number, String ruleCode, GenSerialNoModel genSerialNoModel, String userName, String org) {
+ genSerialNoModel.setRuleCode(ruleCode);
+ BaseResultBean serialNumberBean;
+ try {
+ serialNumberBean = syncFuncService.syncSerialNo(genSerialNoModel, userName, org, Integer.valueOf(number));
+ } catch (Exception e) {
+ return null;
+ }
+ if (serialNumberBean != null && serialNumberBean.isSuccess()) {
+ return serialNumberBean.getResultList();
+ } else {
+ return null;
+ }
+ }
+}
diff --git a/modules/i3plus-ext-mes-pcn-icloud/i3plus-ext-mes-pcn-icloud.iml b/modules/i3plus-ext-mes-pcn-icloud/i3plus-ext-mes-pcn-icloud.iml
deleted file mode 100644
index 2f784db..0000000
--- a/modules/i3plus-ext-mes-pcn-icloud/i3plus-ext-mes-pcn-icloud.iml
+++ /dev/null
@@ -1,325 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/modules/i3plus-ext-mes-pcn-pojo/i3plus-ext-mes-pcn-pojo.iml b/modules/i3plus-ext-mes-pcn-pojo/i3plus-ext-mes-pcn-pojo.iml
deleted file mode 100644
index eec1465..0000000
--- a/modules/i3plus-ext-mes-pcn-pojo/i3plus-ext-mes-pcn-pojo.iml
+++ /dev/null
@@ -1,88 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/bean/MesProcessTorqueManage.java b/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/bean/MesProcessTorqueManage.java
new file mode 100644
index 0000000..8921f89
--- /dev/null
+++ b/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/bean/MesProcessTorqueManage.java
@@ -0,0 +1,61 @@
+package cn.estsh.i3plus.ext.mes.pcn.pojo.bean;
+
+import cn.estsh.i3plus.pojo.base.bean.BaseBean;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiParam;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.hibernate.annotations.DynamicInsert;
+import org.hibernate.annotations.DynamicUpdate;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Table;
+import java.io.Serializable;
+
+/**
+ * @Description:
+ * @Author: xiangming.liao
+ * @Date: 2021/01/18 15:44
+ * @Modify:
+ */
+@Data
+@Entity
+@DynamicInsert
+@DynamicUpdate
+@EqualsAndHashCode(callSuper = true)
+@Table(name = "MES_PROCESS_TORQUE_MANAGE")
+@Api("MES_工序扭矩管理")
+public class MesProcessTorqueManage extends BaseBean implements Serializable {
+
+ private static final long serialVersionUID = -5545553227344055268L;
+
+ @Column(name="PART_NO")
+ @ApiParam("零件编号")
+ private String partNo;
+
+ @Column(name = "PROCESS_CODE")
+ @ApiParam(value = "工序编号")
+ public String processCode;
+
+ @Column(name="PROCESS_NAME")
+ @ApiParam(value ="工序名称")
+ private String processName;
+
+ @Column(name = "FASTENING_POSITION")
+ @ApiParam("紧固部位")
+ private String fasteningPosition;
+
+ @Column(name = "SPECIFICATION")
+ @ApiParam("规格")
+ private String specification;
+
+ @Column(name = "UP_LIMIT")
+ @ApiParam("上限值")
+ private String upLimit;
+
+ @Column(name = "DOWN_LIMIT")
+ @ApiParam("下限值")
+ private String downLimit;
+
+}
diff --git a/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/bean/MesProcessTorqueManageTaskDetail.java b/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/bean/MesProcessTorqueManageTaskDetail.java
new file mode 100644
index 0000000..9010ea9
--- /dev/null
+++ b/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/bean/MesProcessTorqueManageTaskDetail.java
@@ -0,0 +1,204 @@
+package cn.estsh.i3plus.ext.mes.pcn.pojo.bean;
+
+import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtEnumUtil;
+import cn.estsh.i3plus.pojo.base.annotation.AnnoOutputColumn;
+import cn.estsh.i3plus.pojo.base.bean.BaseBean;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiParam;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.hibernate.annotations.DynamicInsert;
+import org.hibernate.annotations.DynamicUpdate;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Table;
+import javax.persistence.Transient;
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @Description:
+ * @Author: xiangming.liao
+ * @Date: 2021/01/18 15:44
+ * @Modify:
+ */
+@Data
+@Entity
+@DynamicInsert
+@DynamicUpdate
+@EqualsAndHashCode(callSuper = true)
+@Table(name = "MES_PROCESS_TORQUE_MANAGE_TASK_DETAIL")
+@Api("MES_工序扭矩管理任务明细")
+public class MesProcessTorqueManageTaskDetail extends BaseBean implements Serializable {
+
+ private static final long serialVersionUID = -5545553227344055268L;
+
+ @Column(name="ORDER_JOB_NO")
+ @ApiParam("作业单据号")
+ private String orderJobNo;
+
+ //@Column(name="ORDER_STATUS")
+ //@ApiParam(value ="单据状态")
+ //private Integer orderStatus;
+
+ @Column(name="WORK_ORDER_NO")
+ @ApiParam("工单号")
+ private String workOrderNo;
+
+ @Column(name="WORK_CENTER_CODE")
+ @ApiParam("产线代码")
+ private String workCenterCode;
+
+ @Column(name="WORK_CELL_CODE")
+ @ApiParam("工位代码")
+ private String workCellCode;
+
+ @Column(name="WORK_CELL_NAME")
+ @ApiParam("工位名称")
+ private String workCellName;
+
+ @Column(name="SHIFT_CODE")
+ @ApiParam("班次代码")
+ private String shiftCode;
+
+ @Column(name="SHIFT_NAME")
+ @ApiParam("班次名称")
+ private String shiftName;
+
+ @Column(name="PART_NO")
+ @ApiParam("零件编号")
+ private String partNo;
+
+ @Column(name = "PROCESS_CODE")
+ @ApiParam(value = "工序编号")
+ public String processCode;
+
+ @Column(name="PROCESS_NAME")
+ @ApiParam(value ="工序名称")
+ private String processName;
+
+ @Column(name = "FASTENING_POSITION")
+ @ApiParam("紧固部位")
+ private String fasteningPosition;
+
+ @Column(name = "SPECIFICATION")
+ @ApiParam("规格")
+ private String specification;
+
+ @Column(name = "UP_LIMIT")
+ @ApiParam("上限值")
+ private String upLimit;
+
+ @Column(name = "DOWN_LIMIT")
+ @ApiParam("下限值")
+ private String downLimit;
+
+ @Column(name = "SCREWDRIVER_NO")
+ @ApiParam("螺丝刀NO")
+ private String screwdriverNo;
+
+ @Column(name = "TORQUE_VALUE1")
+ @ApiParam("扭矩值1")
+ private String torqueValue1;
+
+ @Column(name = "TORQUE_VALUE2")
+ @ApiParam("扭矩值2")
+ private String torqueValue2;
+
+ @Column(name = "TORQUE_VALUE3")
+ @ApiParam("扭矩值3")
+ private String torqueValue3;
+
+ @Column(name = "TORQUE_VALUE4")
+ @ApiParam("扭矩值4")
+ private String torqueValue4;
+
+ @Column(name = "TORQUE_VALUE5")
+ @ApiParam("扭矩值5")
+ private String torqueValue5;
+
+ @Column(name = "ROTATION_NO_ABNORMAL")
+ @ApiParam("回转时是否有异常声、振动和发热")
+ @AnnoOutputColumn(refClass = MesPcnExtEnumUtil.CHECK_RESULT.class, refForeignKey = "value", value = "description")
+ private Integer rotationNoAbnormal;
+
+ @Column(name = "FASTENING_NO_ABNORMAL")
+ @ApiParam("紧固后状态确认:浮起、歪斜等")
+ @AnnoOutputColumn(refClass = MesPcnExtEnumUtil.CHECK_RESULT.class, refForeignKey = "value", value = "description")
+ private Integer fasteningNoAbnormal;
+
+ @Column(name = "FASTENING_IS_STC")
+ @ApiParam("紧固后是否有圆滑感")
+ @AnnoOutputColumn(refClass = MesPcnExtEnumUtil.CHECK_RESULT.class, refForeignKey = "value", value = "description")
+ private Integer fasteningIsStc;
+
+ @Column(name = "TOOL_HEAD_NO_WEAR")
+ @ApiParam("刀头是否无磨损")
+ @AnnoOutputColumn(refClass = MesPcnExtEnumUtil.CHECK_RESULT.class, refForeignKey = "value", value = "description")
+ private Integer toolHeadNoWear;
+
+ @Column(name = "CHECK_RESULT")
+ @ApiParam("点检结果")
+ @AnnoOutputColumn(refClass = MesPcnExtEnumUtil.CHECK_RESULT.class, refForeignKey = "value", value = "description")
+ private Integer checkResult;
+
+ @Column(name = "CHECK_USER")
+ @ApiParam("点检人员")
+ private String checkUser;
+
+ @Column(name = "CHECK_TIME")
+ @ApiParam("点检时间")
+ private String checkTime;
+
+ @Column(name = "IS_TEAM_CONFIRM")
+ @ApiParam("是否班组确认")
+ @AnnoOutputColumn(refClass = MesPcnExtEnumUtil.CONFIRM_TYPE.class, refForeignKey = "value", value = "description")
+ private Integer isTeamConfirm = 20;
+
+ @Column(name = "TEAM_CONFIRM_USER")
+ @ApiParam("班组确认人")
+ private String teamConfirmUser;
+
+ @Column(name = "TEAM_CONFIRM_TIME")
+ @ApiParam("班组确认时间")
+ private String teamConfirmTime;
+
+ @Column(name = "TORQUE_SPEC_VALUE")
+ @ApiParam("扭矩规格值")
+ private String torqueSpecValue;
+
+ @Transient
+ @ApiParam("扭矩规格值")
+ private String torqueSpecValueDesc;
+
+ @Transient
+ @ApiParam("扭矩规格值")
+ private List torqueSpecValueList = new ArrayList<>();
+
+ @Column(name = "TORQUE_MANAGE_NO1")
+ @ApiParam("扭矩螺丝刀-扭矩管理NO1")
+ private String torqueManageNo1;
+
+ @Transient
+ @ApiParam("扭矩螺丝刀-扭矩管理NO1")
+ private String torqueManageNo1Full;
+
+ @Column(name = "TORQUE_MANAGE_NO2")
+ @ApiParam("扭矩螺丝刀-扭矩管理NO2")
+ private String torqueManageNo2;
+
+ @Transient
+ @ApiParam("全称扭矩螺丝刀-扭矩管理NO2")
+ private String torqueManageNo2Full;
+
+ @Column(name = "TORQUE_MANAGE_NO3")
+ @ApiParam("扭矩螺丝刀-扭矩管理NO3")
+ private String torqueManageNo3;
+
+ @Transient
+ @ApiParam("全称扭矩螺丝刀-扭矩管理NO3")
+ private String torqueManageNo3Full;
+
+}
diff --git a/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/bean/MesShiftProdCenterRecord.java b/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/bean/MesShiftProdCenterRecord.java
index f58ae7f..0b4dcd6 100644
--- a/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/bean/MesShiftProdCenterRecord.java
+++ b/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/bean/MesShiftProdCenterRecord.java
@@ -116,4 +116,54 @@ public class MesShiftProdCenterRecord extends BaseBean implements Serializable {
@Column(name = "ORDER_NO")
@ApiParam("单号")
private String orderNo;
+
+ @Column(name = "PART_CUT_COUNT")
+ @ApiParam("机种切换次数")
+ private Integer partCutCount;
+
+ @Column(name="AT_HOME_NUM")
+ @ApiParam(value = "在籍人数")
+ @ColumnDefault("0")
+ public Integer atHomeNum;
+
+ @Column(name="ABSENTEEISM_NUM")
+ @ApiParam(value = "缺勤人数")
+ @ColumnDefault("0")
+ public Integer absenteeismNum;
+
+ @Column(name="OVERTIME_NUM")
+ @ApiParam(value = "加班人数")
+ @ColumnDefault("0")
+ public Integer overtimeNum;
+
+ @Column(name="NEW_WORK_NUM")
+ @ApiParam(value = "新上班人数")
+ @ColumnDefault("0")
+ public Integer newWorkNum;
+
+ @Column(name="QUIT_WORK_NUM")
+ @ApiParam(value = "退职人数")
+ @ColumnDefault("0")
+ public Integer quitWorkNum;
+
+ @Column(name = "MAIN_REASON")
+ @ApiParam("主要原因")
+ private String mainReason;
+
+ @Column(name = "OWNER_DEPARTMENT")
+ @ApiParam(value = "责任部门")
+ private String ownerDepartment;
+
+ @Column(name = "COUNTERMEASURE")
+ @ApiParam("对策")
+ private String countermeasure;
+
+ @Column(name = "IMPL_DATE")
+ @ApiParam("实施日")
+ private String implDate;
+
+ @Column(name = "DECISION_MAKER")
+ @ApiParam("决策者")
+ private String decisionMaker;
+
}
diff --git a/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/model/MesOrderJobModel.java b/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/model/MesOrderJobModel.java
index cba230b..f5e993e 100644
--- a/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/model/MesOrderJobModel.java
+++ b/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/model/MesOrderJobModel.java
@@ -31,6 +31,7 @@ public class MesOrderJobModel implements Serializable {
* 10=物料点检,20=人员点检,30=Q管理,40=设备点检、50=防静电点检、
* 60=工单首检、70=4M变更、80=失败事例点检、90=特殊过程工艺参数、
* 100=铭牌保证书一致性、110=外观防划伤点检、120=工程巡回确认、130=称重管理表
+ * 140=扭矩管理
*/
@ApiParam(value = "单据类型", example = "10")
public Integer orderType;
diff --git a/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/model/ShiftProdCenterRecordModel.java b/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/model/ShiftProdCenterRecordModel.java
index f9fc44a..ae8a0f6 100644
--- a/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/model/ShiftProdCenterRecordModel.java
+++ b/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/model/ShiftProdCenterRecordModel.java
@@ -3,6 +3,7 @@ package cn.estsh.i3plus.ext.mes.pcn.pojo.model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiParam;
import lombok.Data;
+import org.hibernate.annotations.ColumnDefault;
import java.io.Serializable;
@@ -113,4 +114,45 @@ public class ShiftProdCenterRecordModel implements Serializable {
@ApiParam("事业别")
private String careerName;
+ @ApiParam("机种切换次数")
+ private Integer partCutCount;
+
+ @ApiParam(value = "在籍人数")
+ @ColumnDefault("0")
+ public Integer atHomeNum;
+
+ @ApiParam(value = "缺勤人数")
+ @ColumnDefault("0")
+ public Integer absenteeismNum;
+
+ @ApiParam(value = "加班人数")
+ @ColumnDefault("0")
+ public Integer overtimeNum;
+
+ @ApiParam(value = "新上班人数")
+ @ColumnDefault("0")
+ public Integer newWorkNum;
+
+ @ApiParam(value = "退职人数")
+ @ColumnDefault("0")
+ public Integer quitWorkNum;
+
+ @ApiParam("主要原因")
+ private String mainReason;
+
+ @ApiParam(value = "责任部门")
+ private String ownerDepartment;
+
+ @ApiParam("对策")
+ private String countermeasure;
+
+ @ApiParam("实施日")
+ private String implDate;
+
+ @ApiParam("决策者")
+ private String decisionMaker;
+
+ @ApiParam("生产区域代码")
+ private String areaCode;
+
}
diff --git a/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/repository/MesProcessTorqueManageRepository.java b/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/repository/MesProcessTorqueManageRepository.java
new file mode 100644
index 0000000..98e7fd6
--- /dev/null
+++ b/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/repository/MesProcessTorqueManageRepository.java
@@ -0,0 +1,16 @@
+package cn.estsh.i3plus.ext.mes.pcn.pojo.repository;
+
+import cn.estsh.i3plus.ext.mes.pcn.pojo.bean.MesProcessTorqueManage;
+import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository;
+import org.springframework.stereotype.Repository;
+
+/**
+ * @author yxw
+ * @desc 扭矩管理
+ * @version 1.0
+ * @date 2023/10/09 9:17
+ **/
+@Repository
+public interface MesProcessTorqueManageRepository extends BaseRepository {
+
+}
diff --git a/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/repository/MesProcessTorqueManageTaskDetailRepository.java b/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/repository/MesProcessTorqueManageTaskDetailRepository.java
new file mode 100644
index 0000000..4ee6e67
--- /dev/null
+++ b/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/repository/MesProcessTorqueManageTaskDetailRepository.java
@@ -0,0 +1,16 @@
+package cn.estsh.i3plus.ext.mes.pcn.pojo.repository;
+
+import cn.estsh.i3plus.ext.mes.pcn.pojo.bean.MesProcessTorqueManageTaskDetail;
+import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository;
+import org.springframework.stereotype.Repository;
+
+/**
+ * @author yxw
+ * @desc 扭矩管理
+ * @version 1.0
+ * @date 2023/10/09 9:17
+ **/
+@Repository
+public interface MesProcessTorqueManageTaskDetailRepository extends BaseRepository {
+
+}
diff --git a/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/util/MesPcnExtConstWords.java b/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/util/MesPcnExtConstWords.java
index 8b7ac45..77e2387 100644
--- a/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/util/MesPcnExtConstWords.java
+++ b/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/util/MesPcnExtConstWords.java
@@ -825,4 +825,30 @@ public class MesPcnExtConstWords {
//获取工单下条码数量
public static final String GET_PRODUCE_SN_NUM = "GET_PRODUCE_SN_NUM";
+
+ //在籍人数
+ public static final String AT_HOME_NUM = "atHomeNum";
+
+ //缺勤人数
+ public static final String ABSENTEEISM_NUM = "absenteeismNum";
+
+ //加班人数
+ public static final String OVERTIME_NUM = "overtimeNum";
+
+ //新上班人数
+ public static final String NEW_WORK_NUM = "newWorkNum";
+
+ //退职人数
+ public static final String QUIT_WORK_NUM = "quitWorkNum";
+
+ //机种切换次数
+ public static final String PART_CUT_COUNT = "partCutCount";
+
+ //扭矩管理NO
+ public static final String TORQUE_MANAGE_NO1 = "torqueManageNo1";
+ public static final String TORQUE_MANAGE_NO2 = "torqueManageNo2";
+ public static final String TORQUE_MANAGE_NO3 = "torqueManageNo3";
+
+ //扭矩规格值
+ public static final String TORQUE_SPEC_VALUE = "torqueSpecValue";
}
diff --git a/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/util/MesPcnExtEnumUtil.java b/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/util/MesPcnExtEnumUtil.java
index f37073f..20d7bb2 100644
--- a/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/util/MesPcnExtEnumUtil.java
+++ b/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/util/MesPcnExtEnumUtil.java
@@ -1,6 +1,7 @@
package cn.estsh.i3plus.ext.mes.pcn.pojo.util;
import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.val;
import org.springframework.util.StringUtils;
public class MesPcnExtEnumUtil {
@@ -409,7 +410,8 @@ public class MesPcnExtEnumUtil {
NAMEPLATE_GUARANTEE_CONSISTENCY(100, "铭牌保证书一致性"),
EXTERIOR_SCRATCH_PROOF_CHECK(110, "外观防划伤点检"),
PROJECT_TOUR_CONTRIM(120, "工程巡回确认"),
- WEIGHING_MANAGEMENT_TABLE(130, "称重管理表");
+ WEIGHING_MANAGEMENT_TABLE(130, "称重管理表"),
+ TORQUE_MANAGE(140, "扭矩管理");
private int value;
private String description;
@@ -997,7 +999,8 @@ public class MesPcnExtEnumUtil {
NORMAL_STOP_CENTER(10, "常规停机"),
UNNORMAL_STOP_CENTER(20, "非常规停机"),
NORMAL_PROD(30, "常规生产"),
- UNNORMAL_PROD(40, "非常规生产");
+ UNNORMAL_PROD(40, "非常规生产"),
+ START_OR_END_SHIFT_TIME(50, "开始/结束班次时间");
private int value;
private String description;
@@ -3251,4 +3254,87 @@ public class MesPcnExtEnumUtil {
return tmp;
}
}
+
+
+ /**
+ * 扭矩规格值
+ */
+ public static enum TORQUE_SPEC_VALUE {
+ ZERO_TO_TWENTY("10", "0~20 kgf cm"),
+ TWENTY_TO_FORTY("20", "20~40 kgf cm"),
+ FORTY_TO_SIXTY_NINE("30", "40~69 kgf cm")
+ ;
+
+ private String value;
+ private String description;
+
+ TORQUE_SPEC_VALUE(String value, String description) {
+ this.value = value;
+ this.description = description;
+ }
+
+ public String getValue() {
+ return value;
+ }
+
+ public String getDescription() {
+ return description;
+ }
+
+ public static String valueOfDescription(String val) {
+ String tmp = null;
+ for (int i = 0; i < values().length; i++) {
+ if (values()[i].value.equals(val)) {
+ tmp = values()[i].description;
+ }
+ }
+ return tmp;
+ }
+
+ public static String descriptionOfValue(String description) {
+ String tmp = null;
+ for (int i = 0; i < values().length; i++) {
+ if (values()[i].description.equals(description)) {
+ tmp = values()[i].value;
+ }
+ }
+ return tmp;
+ }
+ }
+
+ /**
+ * 扭矩管理检测结果
+ */
+ @JsonFormat(shape = JsonFormat.Shape.OBJECT)
+ public enum TORQUE_MANAGE_CHECK_RESULT {
+
+ OK(10, "OK"),
+ NG(20, "NG");
+
+ private int value;
+ private String description;
+
+ TORQUE_MANAGE_CHECK_RESULT(int value, String description) {
+ this.value = value;
+ this.description = description;
+ }
+
+ public int getValue() {
+ return value;
+ }
+
+ public String getDescription() {
+ return description;
+ }
+
+ public static String valueOfDescription(int val) {
+ String tmp = null;
+ for (int i = 0; i < values().length; i++) {
+ if (values()[i].value == val) {
+ tmp = values()[i].description;
+ }
+ }
+ return tmp;
+ }
+ }
}