Kaynağa Gözat

MES报工功能处理

oyq28 1 ay önce
ebeveyn
işleme
142be09ef1

+ 25 - 0
imcs-admin-boot/imcs-business-biz/src/main/java/com/github/zuihou/business/externalApi/service/impl/MesNoticeServiceImpl.java

@@ -5,8 +5,12 @@ import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.github.zuihou.authority.entity.auth.User;
+import com.github.zuihou.authority.service.auth.UserService;
 import com.github.zuihou.base.R;
 import com.github.zuihou.base.service.SuperServiceImpl;
+import com.github.zuihou.business.classSchedule.entity.ScheduleUserDate;
+import com.github.zuihou.business.classSchedule.service.ScheduleUserDateService;
 import com.github.zuihou.business.externalApi.dao.MesNoticeLogMapper;
 import com.github.zuihou.business.externalApi.dao.MesNoticeMapper;
 import com.github.zuihou.business.externalApi.dto.MesNoticeUpdateDTO;
@@ -15,6 +19,7 @@ import com.github.zuihou.business.externalApi.entity.MesNoticeLog;
 import com.github.zuihou.business.productionReadyCenter.service.MesNoticeLogService;
 import com.github.zuihou.business.productionReadyCenter.service.MesNoticeService;
 import com.github.zuihou.business.util.MsgUtil;
+import com.github.zuihou.common.util.DateUtil;
 import com.github.zuihou.context.BaseContextHandler;
 import com.github.zuihou.database.mybatis.conditions.Wraps;
 import com.github.zuihou.database.mybatis.conditions.query.LbqWrapper;
@@ -26,6 +31,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
+import java.util.Date;
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -42,6 +48,12 @@ public class MesNoticeServiceImpl extends SuperServiceImpl<MesNoticeMapper, MesN
     @Autowired
     private MesNoticeLogService mesNoticeLogService;
 
+    @Autowired
+    private UserService userService;
+
+    @Autowired
+    private ScheduleUserDateService scheduleUserDateService;
+
     @Override
     public MesNotice updateStatus(MesNoticeUpdateDTO model) {
         if (model.getId() == null || model.getOrderNo() == null) return null;
@@ -126,6 +138,10 @@ public class MesNoticeServiceImpl extends SuperServiceImpl<MesNoticeMapper, MesN
         BeanUtils.copyProperties(model, mesNoticeLog);
         mesNoticeLog.setNoticeId(model.getId());
         mesNoticeLog.setId(null);
+        if(model.getApiType().equals("MESPROCESSREPORT")) {
+            Long parentId = this.getCurrentScheduleId(model.getUserCode());
+            mesNoticeLog.setParentId(parentId);
+        }
         mesNoticeLogMapper.insert(mesNoticeLog);
         return true;
     }
@@ -180,4 +196,13 @@ public class MesNoticeServiceImpl extends SuperServiceImpl<MesNoticeMapper, MesN
 
         return R.success();
     }
+
+    @Override
+    public Long getCurrentScheduleId(String userCode){
+        User user  = userService.getOne(new LbqWrapper<User>().eq(User::getWorkDescribe, userCode).last("limit 1"));
+        String date = DateUtil.dateToString0(new Date(), "yyyy-MM-dd");
+        List<ScheduleUserDate> scheduleUserDateList = scheduleUserDateService.getPageList(new LbqWrapper<ScheduleUserDate>().eq(ScheduleUserDate::getUserId, user.getId()).eq(ScheduleUserDate::getDate, date).orderByDesc(ScheduleUserDate::getCreateTime).last("limit 1"));
+        ScheduleUserDate scheduleUserDate = scheduleUserDateList.size()==1? scheduleUserDateList.get(0) : null;
+        return scheduleUserDate != null ? scheduleUserDate.getId() : null;
+    }
 }

+ 1 - 0
imcs-admin-boot/imcs-business-biz/src/main/java/com/github/zuihou/business/productionReadyCenter/service/MesNoticeService.java

@@ -37,6 +37,7 @@ public interface MesNoticeService extends SuperService<MesNotice> {
 
    boolean modify(MesNotice model);
 
+   Long getCurrentScheduleId(String userCode);
 
    R QualityResultReport(MesNotice mesNotice);
 }

+ 1 - 0
imcs-admin-boot/imcs-business-biz/src/main/resources/mapper_business/base/operationManagementCenter/TTaskMapper.xml

@@ -330,6 +330,7 @@
           ibbp.tray_conf AS trayConf,
           itt.task_no AS no,
           ibb.name,
+          ibb.syn_flag AS synFlag,
           (SELECT itt1.no FROM  imcs_t_tray itt1, imcs_b_bom_procedure_tray ibbpt1 WHERE ibbpt1.biz_type = 1 AND itt1.id = ibbpt1.tray_id AND ibbpt1.procedure_id = ibbp.id) AS trayNo,
           (SELECT itt1.id FROM  imcs_t_tray itt1, imcs_b_bom_procedure_tray ibbpt1 WHERE ibbpt1.biz_type = 1 AND itt1.id = ibbpt1.tray_id AND ibbpt1.procedure_id = ibbp.id) AS trayId,
           imfc.id  AS clampId,

+ 18 - 2
imcs-admin-boot/imcs-business-controller/src/main/java/com/github/zuihou/business/controller/classSchedule/ScheduleUserDateController.java

@@ -1,5 +1,6 @@
 package com.github.zuihou.business.controller.classSchedule;
 
+import cn.hutool.core.bean.BeanUtil;
 import com.github.zuihou.business.classSchedule.entity.ScheduleUserDate;
 import com.github.zuihou.business.classSchedule.dto.ScheduleUserDateSaveDTO;
 import com.github.zuihou.business.classSchedule.dto.ScheduleUserDateUpdateDTO;
@@ -92,17 +93,32 @@ public class ScheduleUserDateController extends SuperController<ScheduleUserDate
     @ApiOperation(value = "获取班次", notes = "获取班次")
     @PostMapping("/getCurrentSchedule")
     public R<ScheduleUserDate> getCurrentSchedule(@RequestBody ScheduleUserDatePageDTO scheduleUserDatePageDTO) {
-        ScheduleUserDate scheduleUserDate = baseService.getOne(new LbqWrapper<ScheduleUserDate>().eq(ScheduleUserDate::getUserId, scheduleUserDatePageDTO.getUserId()).eq(ScheduleUserDate::getDate, scheduleUserDatePageDTO.getDate()).last("limit 1"));
+        List<ScheduleUserDate> scheduleUserDateList = baseService.getPageList(new LbqWrapper<ScheduleUserDate>().eq(ScheduleUserDate::getUserId, scheduleUserDatePageDTO.getUserId()).eq(ScheduleUserDate::getDate, scheduleUserDatePageDTO.getDate()).orderByDesc(ScheduleUserDate::getCreateTime).last("limit 1"));
+        ScheduleUserDate scheduleUserDate = scheduleUserDateList.size()==1? scheduleUserDateList.get(0) : null;
         return scheduleUserDate!=null ? success(scheduleUserDate) : fail("数据不存在");
     }
 
     @ApiOperation(value = "排班--分页列表", notes = "排班--分页列表")
     @PostMapping("/getPageList")
     public R<Map<String,Object>> getPageList(@RequestBody Map<String,String> map) {
-        List<ScheduleUserDate> dataList = baseService.getPageList(new LbqWrapper<ScheduleUserDate>().eq(ScheduleUserDate::getUserId, map.get("userId")).lt(ScheduleUserDate::getCreateTime, new Date()).orderByDesc(ScheduleUserDate::getCreateTime).last("limit 50"));
+        List<ScheduleUserDate> dataList = baseService.getPageList(new LbqWrapper<ScheduleUserDate>().eq(ScheduleUserDate::getUserId, map.get("userId")).lt(ScheduleUserDate::getStartTime, new Date()).orderByDesc(ScheduleUserDate::getCreateTime).last("limit 50"));
         Map returnMap = Maps.newHashMap();
         returnMap.put("data", dataList);
         returnMap.put("count", dataList.size());
         return success(returnMap);
     }
+
+    @ApiOperation(value = "打卡操作", notes = "打卡操作")
+    @PostMapping("/updateSchedule")
+    public R<Boolean> updateSchedule(@RequestBody ScheduleUserDateUpdateDTO scheduleUserDateUpdateDTO) {
+        if(scheduleUserDateUpdateDTO.getId() == null) return  fail("传参错误");
+        ScheduleUserDate scheduleUserDate = baseService.getById(scheduleUserDateUpdateDTO.getId());
+        if(scheduleUserDateUpdateDTO.isOnWork()){
+            scheduleUserDate.setStartTime(new Date());
+        }else{
+            scheduleUserDate.setEndTime(new Date());
+        }
+        boolean bool = baseService.updateAllById(scheduleUserDate);
+        return success(bool);
+    }
 }

+ 1 - 1
imcs-admin-boot/imcs-business-controller/src/main/java/com/github/zuihou/business/controller/externalApi/MesController.java

@@ -339,7 +339,7 @@ public class MesController extends SuperController<MesNoticeService, Long, MesNo
         boolean status = params.getString("status").equals("JS")? true: false;
         if(status){
             //默认处理
-            mesProcessReportDto.setGutmenge(1.0).setAusschuss(0).setAussfinish(0);
+            mesProcessReportDto.setGutmenge(0.5).setAusschuss(0).setAussfinish(0);
         }
         JSONObject jsonParam = (JSONObject)JSONObject.toJSON(mesProcessReportDto);
         String data = jsonParam.toJSONString();

+ 1 - 3
imcs-admin-boot/imcs-business-entity/src/main/java/com/github/zuihou/business/classSchedule/dto/ScheduleUserDateUpdateDTO.java

@@ -65,7 +65,5 @@ public class ScheduleUserDateUpdateDTO implements Serializable {
     @Length(max = 10, message = "日期(yyyy-mm-dd格式)长度不能超过10")
     private String date;
 
-    private Date startTime;
-
-    private Date endTime;
+    private boolean onWork;
 }

+ 3 - 0
imcs-admin-boot/imcs-business-entity/src/main/java/com/github/zuihou/business/classSchedule/entity/ScheduleUserDate.java

@@ -107,6 +107,9 @@ public class ScheduleUserDate extends Entity<Long> {
     @TableField(exist = false)
     private String planEndTime;
 
+    @TableField(exist = false)
+    private boolean onWork;
+
 
     @Builder
     public ScheduleUserDate(Long id, LocalDateTime createTime, Long createUser, LocalDateTime updateTime, Long updateUser, 

+ 5 - 0
imcs-admin-boot/imcs-business-entity/src/main/java/com/github/zuihou/business/externalApi/entity/MesNoticeLog.java

@@ -138,4 +138,9 @@ public class MesNoticeLog extends Entity<Long> {
     @Excel(name = "接受任务数据")
     private String acceptPar;
 
+    @ApiModelProperty(value = "报工班表ID")
+    @TableField(value = "parent_id", condition = LIKE)
+    @Excel(name = "报工班表ID")
+    private Long parentId;
+
 }