|
@@ -236,6 +236,110 @@ public class BilletHotsendChangeShiftServiceImpl extends ServiceImpl<BilletHotse
|
|
|
log.info("6号机C端自动化交班结果:{}{}", jsonObject, DateUtils.date2Str(new Date(), DateUtils.datetimeFormat.get()));
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public void autoChangeShiftBak(JSONObject jsonObj, String ccmNo) {
|
|
|
+
|
|
|
+ String keyShiftGroupsix = String.format("class:shift:group:%s", ccmNo);
|
|
|
+ String keyShiftsix = String.format("class:shift:%s", ccmNo);
|
|
|
+
|
|
|
+ String sixShiftGroup = oConvertUtils.getString(redisTemplate.opsForValue().get(keyShiftGroupsix));
|
|
|
+ String sixShift = oConvertUtils.getString(redisTemplate.opsForValue().get(keyShiftsix));
|
|
|
+
|
|
|
+ String currentShiftGroupName = ShiftGroupEnum.fromCode(sixShiftGroup).name();
|
|
|
+ String currentShiftName = ShiftEnum.fromCode(sixShift).name().replace("班", "");
|
|
|
+
|
|
|
+ String nextshiftIdKey = String.format("class:nextshift:Id:%s", ccmNo);
|
|
|
+ String currentCacheId = oConvertUtils.getString(redisTemplate.opsForValue().get(nextshiftIdKey));
|
|
|
+
|
|
|
+ log.info(DateUtils.date2Str(new Date(), DateUtils.datetimeFormat.get()) + "&&" + ccmNo + "号机C端自动化当前班次信息值:" + sixShift+ ","+ sixShiftGroup);
|
|
|
+ log.info(DateUtils.date2Str(new Date(), DateUtils.datetimeFormat.get()) + "&&" + ccmNo + "号机C端自动化当前班次信息名:" + currentCacheId + "," + currentShiftName+ ","+ currentShiftGroupName);
|
|
|
+
|
|
|
+ String[] data = {
|
|
|
+ "1 丙", "2 甲", "3 乙", "4 丙", "5 甲", "6 乙", "7 丙", "8 甲", "9 乙", "10 丙",
|
|
|
+ "11 甲", "12 乙", "13 丁", "14 丙", "15 甲", "16 丁", "17 丙", "18 甲", "19 丁", "20 丙",
|
|
|
+ "21 甲", "22 丁", "23 丙", "24 甲", "25 乙", "26 丁", "27 丙", "28 乙", "29 丁", "30 丙",
|
|
|
+ "31 乙", "32 丁", "33 丙", "34 乙", "35 丁", "36 丙", "37 甲", "38 乙", "39 丁", "40 甲",
|
|
|
+ "41 乙", "42 丁", "43 甲", "44 乙", "45 丁", "46 甲", "47 乙", "48 丁"
|
|
|
+ };
|
|
|
+
|
|
|
+ ShiftInfo nextShiftGroupInfo = ScheduleUtils.findNextShift(data, Integer.valueOf(currentCacheId), currentShiftGroupName);
|
|
|
+ if (nextShiftGroupInfo == null){
|
|
|
+ log.info("{}{}", ccmNo + "号机获取到下个班组信息为空!", DateUtils.date2Str(new Date(), DateUtils.datetimeFormat.get()) + "C端自动化交班失败!");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ // 班别名(白中夜)
|
|
|
+ String nextShiftName = "";
|
|
|
+ // 验证23:00 到01:00 之间
|
|
|
+ if (ScheduleUtils.isBetweenTime(new Date(), "07:40", "08:30")) {
|
|
|
+ nextShiftName = "白";
|
|
|
+ } else if (ScheduleUtils.isBetweenTime(new Date(), "15:40", "16:30")) {
|
|
|
+ nextShiftName = "中";
|
|
|
+ } else if (ScheduleUtils.isBetweenTime(new Date(), "23:40", "00:30")) {
|
|
|
+ nextShiftName = "夜";
|
|
|
+ }else {
|
|
|
+ log.info("{}{}", "未在交班范围内,", DateUtils.date2Str(new Date(), DateUtils.datetimeFormat.get()) + "^^" + ccmNo + "号机C端自动化交班失败!");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ // 班组名(甲乙丙丁)
|
|
|
+ String nextShiftGroupName = nextShiftGroupInfo.getShift();
|
|
|
+ // 班组值
|
|
|
+ String finalNextShiftGroupVal = ShiftGroupEnum.getCodeByName(nextShiftGroupName);
|
|
|
+ // 班别值
|
|
|
+ String finalNextShiftVal = ShiftEnum.getCodeByName(nextShiftName + "班");
|
|
|
+
|
|
|
+ log.info(DateUtils.date2Str(new Date(), DateUtils.datetimeFormat.get()) + "^^" + ccmNo + "号机C端自动化下一个班次信息值:" + finalNextShiftVal + ","+ finalNextShiftGroupVal);
|
|
|
+
|
|
|
+ // 获取当前班组班别
|
|
|
+ BilletHotsendChangeShift billetHotsendChangeShift = baseMapper.selectOne(new LambdaQueryWrapper<BilletHotsendChangeShift>()
|
|
|
+ .eq(BilletHotsendChangeShift::getCcmNo, ccmNo)
|
|
|
+ .orderByDesc(BilletHotsendChangeShift::getCreateTime)
|
|
|
+ .last("limit 1"));
|
|
|
+ if (oConvertUtils.isEmpty(billetHotsendChangeShift)) {
|
|
|
+ log.info("{}", DateUtils.date2Str(new Date(), DateUtils.datetimeFormat.get()) + "^^" + ccmNo + "号机C端自动化交班失败!");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ // 更新当前班次的交班时间,相当于上一个班交班的结束时间
|
|
|
+ if (oConvertUtils.isNotEmpty(jsonObj.getString("changeShiftTime"))){
|
|
|
+ billetHotsendChangeShift.setChangeShiftTime(DateUtils.str2Date(jsonObj.getString("changeShiftTime"), DateUtils.datetimeFormat.get()));
|
|
|
+ }else {
|
|
|
+ billetHotsendChangeShift.setChangeShiftTime(new Date());
|
|
|
+ }
|
|
|
+ baseMapper.updateById(billetHotsendChangeShift);
|
|
|
+
|
|
|
+ // 生成新的交班记录 初始化并保存入库
|
|
|
+ BilletHotsendChangeShift billetHotsendChangeShift1 = new BilletHotsendChangeShift();
|
|
|
+ billetHotsendChangeShift1.setId(String.valueOf(IdWorker.getId()));
|
|
|
+ billetHotsendChangeShift1.setCcmNo(ccmNo);
|
|
|
+ billetHotsendChangeShift1.setShift(finalNextShiftVal);
|
|
|
+ billetHotsendChangeShift1.setShiftGroup(finalNextShiftGroupVal);
|
|
|
+ billetHotsendChangeShift1.setHotfeignAmount(0); // 当前热装支数
|
|
|
+ billetHotsendChangeShift1.setProductAmount(0); // 当前生产支数
|
|
|
+ billetHotsendChangeShift1.setHotsendAmount(0); // 当前热送支数
|
|
|
+ billetHotsendChangeShift1.setStackAmount(0); // 当前起垛支数
|
|
|
+ billetHotsendChangeShift1.setOutCarNum(0); // 车次
|
|
|
+ billetHotsendChangeShift1.setShiftSum(0); // 当班总数
|
|
|
+ billetHotsendChangeShift1.setShiftProduct(0d); // 当班总重
|
|
|
+ billetHotsendChangeShift1.setWasteAmount(0); // 当前废品支数
|
|
|
+ billetHotsendChangeShift1.setWasteBlankOutput(0d);// 当前废品总重量
|
|
|
+ billetHotsendChangeShift1.setCreateTime(new Date());
|
|
|
+ // 3.19 新增班次实绩
|
|
|
+ billetHotsendChangeShift1.setShiftHotsendAmount(0);
|
|
|
+ billetHotsendChangeShift1.setShiftHotsendWeight(0d);
|
|
|
+
|
|
|
+ billetHotsendChangeShift1.setShiftHotfeignAmount(0);
|
|
|
+ billetHotsendChangeShift1.setShiftHotfeignWeight(0d);
|
|
|
+
|
|
|
+ billetHotsendChangeShift1.setShiftStackAmount(0);
|
|
|
+ billetHotsendChangeShift1.setShiftStackWeight(0d);
|
|
|
+
|
|
|
+ billetHotsendChangeShift1.setAllCarNum(0);
|
|
|
+ billetHotsendChangeShift1.setCounts(0);
|
|
|
+ billetHotsendChangeShift1.setBlankOutputs(0d);
|
|
|
+ baseMapper.insert(billetHotsendChangeShift1);
|
|
|
+
|
|
|
+ log.info("{}{}", ccmNo + "号机C端自动化交班成功:", DateUtils.date2Str(new Date(), DateUtils.datetimeFormat.get()));
|
|
|
+ }
|
|
|
+
|
|
|
private JSONObject autoSixChangeShiftHandle(BilletHotsendChangeShift billetHotsendChangeShiftVo, String currentShiftGroup, String currentShift) {
|
|
|
JSONObject result = new JSONObject();
|
|
|
// 缓存交班索引ID
|