ProductGh.java 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. package com.jeesite.modules.scheduling;
  2. import cn.hutool.core.collection.ListUtil;
  3. import com.jeesite.common.collect.ListUtils;
  4. import com.jeesite.common.config.Global;
  5. import com.jeesite.common.lang.ObjectUtils;
  6. import com.jeesite.common.mybatis.mapper.query.QueryType;
  7. import com.jeesite.modules.mes.entity.MesDeviceTime;
  8. import com.jeesite.modules.mes.entity.MesLineProcess;
  9. import com.jeesite.modules.mes.entity.MesProductModifyRecord;
  10. import com.jeesite.modules.mes.entity.MesProductRecord;
  11. import com.jeesite.modules.mes.service.MesDeviceTimeService;
  12. import com.jeesite.modules.mes.service.MesLineProcessService;
  13. import com.jeesite.modules.mes.service.MesProductModifyRecordService;
  14. import com.jeesite.modules.mes.service.MesProductRecordService;
  15. import com.jeesite.modules.mes.util.CommonUitl;
  16. import org.slf4j.Logger;
  17. import org.slf4j.LoggerFactory;
  18. import org.springframework.beans.factory.annotation.Autowired;
  19. import org.springframework.context.annotation.Configuration;
  20. import org.springframework.scheduling.annotation.EnableScheduling;
  21. import org.springframework.scheduling.annotation.Scheduled;
  22. import java.util.Date;
  23. import java.util.List;
  24. @Configuration
  25. @EnableScheduling
  26. public class ProductGh {
  27. Logger logger = LoggerFactory.getLogger(this.getClass());
  28. @Autowired
  29. private MesDeviceTimeService mesDeviceTimeService;
  30. @Autowired
  31. private MesProductRecordService mesProductRecordService;
  32. @Autowired
  33. private MesLineProcessService mesLineProcessService;
  34. @Autowired
  35. private MesProductModifyRecordService mesProductModifyRecordService;
  36. // @Scheduled(fixedRate=30000)
  37. private void configureTasks() { //OP310
  38. try{
  39. MesLineProcess mesLineProcess = new MesLineProcess();
  40. mesLineProcess.setStatus("0");
  41. mesLineProcess.setType("2"); // 固化工位
  42. mesLineProcess.getSqlMap().getWhere().and("pid",QueryType.IS_NULL,"");
  43. List<MesLineProcess> mesLineProcesses = mesLineProcessService.findList(mesLineProcess);
  44. if(!ListUtils.isEmpty(mesLineProcesses)){
  45. for(MesLineProcess mesLineProcess1 : mesLineProcesses){
  46. MesDeviceTime mesDeviceTime = new MesDeviceTime();
  47. mesDeviceTime.setProductCate(mesLineProcess1.getLineSn());
  48. mesDeviceTime.setOprno(mesLineProcess1.getOprno());
  49. mesDeviceTime.setInterval(0);
  50. //查询到结束时间为null
  51. List<MesDeviceTime> list = mesDeviceTimeService.findList(mesDeviceTime);
  52. MesProductRecord mesProductRecord;
  53. for (MesDeviceTime deviceTime : list) {
  54. Date startDate = deviceTime.getStartDate();
  55. Date now = new Date();
  56. long differenceInMillis = now.getTime() - startDate.getTime();
  57. String guHuatTime = String.valueOf(mesLineProcess1.getDuration());//默认设置为150分钟
  58. //现在时间大于开始时间两小时
  59. long twoHoursInMillis = Integer.parseInt(guHuatTime) * 60 * 1000;
  60. if (differenceInMillis >= twoHoursInMillis) {
  61. //修改结束时间
  62. deviceTime.setEndDate(now);
  63. long time = differenceInMillis / 1000;
  64. deviceTime.setInterval(Integer.parseInt(String.valueOf(time)));
  65. mesDeviceTimeService.update(deviceTime);
  66. //差别时间转化为秒
  67. mesProductRecord = new MesProductRecord();
  68. mesProductRecord.setSn(deviceTime.getSn());
  69. mesProductRecord.setOprno(CommonUitl.formatOprno(deviceTime.getOprno()));
  70. mesProductRecord.setLineSn(deviceTime.getProductCate());
  71. mesProductRecord.setCraft("100000");
  72. MesProductRecord mesProductRecord1 = mesProductRecordService.findInfo(mesProductRecord);
  73. if(!ObjectUtils.isEmpty(mesProductRecord1)){
  74. String oldcontent = mesProductRecord1.getContent();
  75. //修改生产记录固化时间
  76. mesProductRecord1.setContent("OK");
  77. mesProductRecord1.setMaterielSn(String.valueOf(time));
  78. mesProductRecord1.setOprno(deviceTime.getOprno());
  79. mesProductRecordService.update(mesProductRecord1);
  80. // 修改记录
  81. MesProductModifyRecord mesProductModifyRecord1 = new MesProductModifyRecord();
  82. mesProductModifyRecord1.setOprno(deviceTime.getOprno());
  83. mesProductModifyRecord1.setSn(mesProductRecord.getSn());
  84. mesProductModifyRecord1.setCraft(mesProductRecord.getCraft());
  85. mesProductModifyRecord1.setLineSn(mesProductRecord.getLineSn());
  86. mesProductModifyRecord1.setContent("OK");
  87. mesProductModifyRecord1.setContentOld(oldcontent);
  88. mesProductModifyRecord1.setSource("0");
  89. mesProductModifyRecord1.setMaterielSn(mesProductRecord.getMaterielSn());
  90. mesProductModifyRecord1.setCreateBy(deviceTime.getCreateBy());
  91. mesProductModifyRecord1.setUpdateBy(deviceTime.getUpdateBy());
  92. mesProductModifyRecordService.save(mesProductModifyRecord1);
  93. }
  94. }
  95. }
  96. }
  97. }
  98. }catch (Exception e){ }
  99. }
  100. }