From b2b954ed4615ddfc60038b4673358d4b135b76cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=96=B9=E4=BA=AE?= Date: Mon, 1 Dec 2025 15:28:06 +0800 Subject: [PATCH] =?UTF-8?q?=E8=80=83=E5=8B=A4=E6=9C=BA=E4=B8=8B=E5=8F=91?= =?UTF-8?q?=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bonus/bmw/controller/KqCmdController.java | 126 +++++++++++++++++- .../com/bonus/bmw/domain/dto/PmWorkerDto.java | 4 +- .../java/com/bonus/bmw/domain/dto/ProDto.java | 2 +- .../bonus/bmw/domain/po/BmSubContract.java | 2 +- .../bmw/domain/po/PmSubTeamContract.java | 2 +- .../com/bonus/bmw/domain/vo/BmWorkerAtt.java | 4 +- .../bonus/bmw/domain/vo/BmWorkerContract.java | 2 +- .../com/bonus/bmw/domain/vo/KqCmdBean.java | 16 +++ .../com/bonus/bmw/mapper/KqCmdMapper.java | 6 + .../com/bonus/bmw/mapper/PmWorkerMapper.java | 2 +- .../com/bonus/bmw/service/KqCmdService.java | 14 ++ .../bmw/service/impl/KqCmdServiceImpl.java | 75 +++++++++-- .../bmw/service/impl/PmWorkerServiceImpl.java | 3 +- .../resources/mapper/bmw/KqCmdTaskMapper.xml | 61 +++++++-- .../resources/mapper/bmw/PmWorkerMapper.xml | 2 +- 15 files changed, 288 insertions(+), 33 deletions(-) diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/KqCmdController.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/KqCmdController.java index 63d8296..aba0080 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/KqCmdController.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/KqCmdController.java @@ -7,9 +7,7 @@ import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.common.log.annotation.SysLog; import com.bonus.common.log.enums.OperaType; import lombok.extern.slf4j.Slf4j; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -32,7 +30,7 @@ public class KqCmdController extends BaseController { * 工程-考勤机树 * * @param o 主键 - * @return 单条数据 + * @return 返回树 */ @GetMapping("getProKqjTree") @SysLog(title = "工程考勤机树", businessType = OperaType.QUERY, logType = 0, module = "工程考勤机树", details = "工程考勤机树") @@ -45,6 +43,126 @@ public class KqCmdController extends BaseController { return error("系统异常,请联系管理员"); } + /** + * 考刷新考勤机 + * + * @param o 主键 + * @return 返回考勤机人员存入数据库-延时 + */ + @PostMapping("refreshDevice") + @SysLog(title = "刷新考勤机", businessType = OperaType.FLASH, logType = 0, module = "刷新考勤机", details = "刷新考勤机") + public AjaxResult refreshDevice(@RequestBody KqCmdBean o) { + try { + return service.refreshDevice(o); + } catch (Exception e) { + logger.error(e.toString(), e); + } + return error("系统异常,请联系管理员"); + } + + /** + * 获取考勤机人员 + * + * @param o 主键 + * @return 人员 + */ + @GetMapping("getWorkerByDeviceId") + @SysLog(title = "获取考勤机人员", businessType = OperaType.QUERY, logType = 0, module = "获取考勤机人员", details = "获取考勤机人员") + public AjaxResult getWorkerByDeviceId(KqCmdBean o) { + try { + return service.getUserByDeviceId(o); + } catch (Exception e) { + logger.error(e.toString(), e); + } + return error("系统异常,请联系管理员"); + } + + /** + * 获取工程考勤机人员列表 + * + * @param o 考勤机编号 + * @return 人员列表 + */ + @GetMapping("getProDeviceWorker") + @SysLog(title = "获取工程考勤机人员列表", businessType = OperaType.QUERY, logType = 0, module = "获取工程考勤机人员列表", details = "获取工程考勤机人员列表") + public AjaxResult getProDeviceWorker(KqCmdBean o) { + try { + return service.getProDeviceWorker(o); + } catch (Exception e) { + logger.error(e.toString(), e); + } + return error("系统异常,请联系管理员"); + } + + /** + * 下发人员 + * + * @param o 人员,考勤机编号 + * @return 成功or失败 + */ + @PostMapping("pushWorkerByDevice") + @SysLog(title = "下发指定人员", businessType = OperaType.UPDATE, logType = 0, module = "下发人员", details = "下发指定人员") + public AjaxResult pushWorkerByDevice(@RequestBody KqCmdBean o) { + try { + return service.pushWorkerByDevice(o); + } catch (Exception e) { + logger.error(e.toString(), e); + } + return error("系统异常,请联系管理员"); + } + + /** + * 重启考勤机 + * + * @param o 考勤机编号 + * @return 成功or失败 + */ + @PostMapping("restartDevice") + @SysLog(title = "重启考勤机", businessType = OperaType.FLASH, logType = 0, module = "重启考勤机", details = "重启考勤机") + public AjaxResult restartDevice(@RequestBody KqCmdBean o) { + try { + return service.restartDevice(o); + } catch (Exception e) { + logger.error(e.toString(), e); + } + return error("系统异常,请联系管理员"); + } + + /** + * 删除人员 + * + * @param o 人员,考勤机编号 + * @return 成功or失败 + */ + @PostMapping("delWorkerByDevice") + @SysLog(title = "删除考勤机人员", businessType = OperaType.DELETE, logType = 0, module = "删除考勤机人员", details = "删除考勤机人员") + public AjaxResult delWorkerByDevice(@RequestBody KqCmdBean o) { + try { + return service.delWorkerByDevice(o); + } catch (Exception e) { + logger.error(e.toString(), e); + } + return error("系统异常,请联系管理员"); + } + + /** + * 查询正在执行的任务 + * + * @param o 考勤机编号 + * @return 人员 + */ + @GetMapping("getDeviceTask") + @SysLog(title = "查询正在执行的任务", businessType = OperaType.QUERY, logType = 0, module = "查询正在执行的任务", details = "查询正在执行的任务") + public AjaxResult getDeviceTask(KqCmdBean o) { + try { + return service.getDeviceTask(o); + } catch (Exception e) { + logger.error(e.toString(), e); + } + return error("系统异常,请联系管理员"); + } + + diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/dto/PmWorkerDto.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/dto/PmWorkerDto.java index 5786677..f4aeca7 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/dto/PmWorkerDto.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/dto/PmWorkerDto.java @@ -88,11 +88,11 @@ public class PmWorkerDto { * 权限相关 * 组织编号 */ - private Integer orgId; + private String orgId; /** * id */ private String photoIds; -} \ No newline at end of file +} diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/dto/ProDto.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/dto/ProDto.java index 13ba420..4820c4f 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/dto/ProDto.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/dto/ProDto.java @@ -38,7 +38,7 @@ public class ProDto { /** * 项目部id */ - private Integer orgId; + private String orgId; /** * 工程简称 diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/po/BmSubContract.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/po/BmSubContract.java index edfaddc..425de26 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/po/BmSubContract.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/po/BmSubContract.java @@ -31,7 +31,7 @@ public class BmSubContract { /** * 项目部id */ - private Integer orgId; + private String orgId; /** * 分包合同编码 diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/po/PmSubTeamContract.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/po/PmSubTeamContract.java index 2db8d4a..725e45b 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/po/PmSubTeamContract.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/po/PmSubTeamContract.java @@ -116,7 +116,7 @@ public class PmSubTeamContract { /** * 项目部id */ - private Integer orgId; + private String orgId; /** * 是否上海项目 1 是 0 不是 diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/vo/BmWorkerAtt.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/vo/BmWorkerAtt.java index fd3df64..735cfb4 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/vo/BmWorkerAtt.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/vo/BmWorkerAtt.java @@ -169,6 +169,6 @@ public class BmWorkerAtt { */ private Integer teamEinStatus; - private Integer orgId; + private String orgId; -} \ No newline at end of file +} diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/vo/BmWorkerContract.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/vo/BmWorkerContract.java index 27ed87e..d6ae466 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/vo/BmWorkerContract.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/vo/BmWorkerContract.java @@ -147,7 +147,7 @@ public class BmWorkerContract { private Integer teamId; private Integer subId; private Integer subComId; - private Integer orgId; + private String orgId; private String photoIds; diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/vo/KqCmdBean.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/vo/KqCmdBean.java index a6c2eca..9c84b6b 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/vo/KqCmdBean.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/vo/KqCmdBean.java @@ -53,6 +53,22 @@ public class KqCmdBean { * 工程id */ private Integer proId; + private Integer subId; + private Integer teamId; private String proName; + private String subName; + private String teamName; + + private String workerId; + private String workerName; + private String phone; + + private String createTime; + + public KqCmdBean(String deviceCode, String subName, String teamName) { + this.deviceCode = deviceCode; + this.subName = subName; + this.teamName = teamName; + } } diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/KqCmdMapper.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/KqCmdMapper.java index a0b2be0..f172ef6 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/KqCmdMapper.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/KqCmdMapper.java @@ -9,4 +9,10 @@ import java.util.List; public interface KqCmdMapper { List getProKqjTree(KqCmdBean o); + + List getUserByDeviceId(KqCmdBean o); + + List getProDeviceWorker(KqCmdBean o); + + List getDeviceTask(KqCmdBean o); } diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/PmWorkerMapper.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/PmWorkerMapper.java index 0025f38..17f80ea 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/PmWorkerMapper.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/PmWorkerMapper.java @@ -161,7 +161,7 @@ public interface PmWorkerMapper { Integer getSubIdBySubName(String subName); - Integer getTeamIdByTeamName(String teamName); + Integer getTeamIdByTeamName(@Param("teamName") String teamName, @Param("subId") Integer subId); Integer getPostIdByPostName(String postName); } diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/KqCmdService.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/KqCmdService.java index 5bf0b79..d814725 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/KqCmdService.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/KqCmdService.java @@ -6,4 +6,18 @@ import com.bonus.common.core.web.domain.AjaxResult; public interface KqCmdService{ AjaxResult getProKqjTree(KqCmdBean o); + + AjaxResult refreshDevice(KqCmdBean o); + + AjaxResult getUserByDeviceId(KqCmdBean o); + + AjaxResult restartDevice(KqCmdBean o); + + AjaxResult getProDeviceWorker(KqCmdBean o); + + AjaxResult pushWorkerByDevice(KqCmdBean o); + + AjaxResult delWorkerByDevice(KqCmdBean o); + + AjaxResult getDeviceTask(KqCmdBean o); } diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/KqCmdServiceImpl.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/KqCmdServiceImpl.java index 11b8a1a..d90b1e0 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/KqCmdServiceImpl.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/KqCmdServiceImpl.java @@ -4,6 +4,7 @@ import com.bonus.bmw.domain.vo.KqCmdBean; import com.bonus.bmw.domain.vo.TreeNode; import com.bonus.bmw.mapper.KqCmdMapper; import com.bonus.bmw.service.KqCmdService; +import com.bonus.common.core.utils.StringUtils; import com.bonus.common.core.web.domain.AjaxResult; import org.springframework.stereotype.Service; @@ -19,6 +20,9 @@ public class KqCmdServiceImpl implements KqCmdService { @Resource private KqCmdMapper mapper; + @Resource + private UrkSendServiceImpl urkSendServiceImpl; + @Override public AjaxResult getProKqjTree(KqCmdBean o) { @@ -28,6 +32,52 @@ public class KqCmdServiceImpl implements KqCmdService { return AjaxResult.success(deviceTree); } + @Override + public AjaxResult refreshDevice(KqCmdBean o) { +// urkSendServiceImpl.refreshDevice(o.getDeviceCode(),o.getProId(),o.getSupId(),o.getTeamId()); + return null; + } + + @Override + public AjaxResult getUserByDeviceId(KqCmdBean o) { + List list = mapper.getUserByDeviceId(o); + return AjaxResult.success(list); + } + + + @Override + public AjaxResult restartDevice(KqCmdBean o) { + // urkSendServiceImpl.refreshDevice(o.getDeviceCode(),o.getProId(),o.getSupId(),o.getTeamId()); + return null; + } + + @Override + public AjaxResult getProDeviceWorker(KqCmdBean o) { + List list = mapper.getProDeviceWorker(o); + return AjaxResult.success(list); + } + + @Override + public AjaxResult pushWorkerByDevice(KqCmdBean o) { + //先删除在下发 + //deviceCode,workerId(可以多个),pro_id + // urkSendServiceImpl.refreshDevice(o.getDeviceCode(),o.getProId(),o.getSupId(),o.getTeamId()); + return null; + } + + @Override + public AjaxResult delWorkerByDevice(KqCmdBean o) { + //deviceCode,workerId(可以多个),pro_id + // urkSendServiceImpl.refreshDevice(o.getDeviceCode(),o.getProId(),o.getSupId(),o.getTeamId()); + return null; + } + + @Override + public AjaxResult getDeviceTask(KqCmdBean o) { + List list = mapper.getDeviceTask(o); + return AjaxResult.success(list); + } + /** * 构建设备树 * @param data 包含pro_id和device_code的数据列表 @@ -35,28 +85,37 @@ public class KqCmdServiceImpl implements KqCmdService { */ public static List buildDeviceTree(List data) { // 使用Map来存储pro_id到设备列表的映射 - Map> proToDeviceMap = new HashMap<>(); + Map> proToDeviceMap = new HashMap<>(); // 遍历数据,建立映射关系 for (KqCmdBean item : data) { String proName = item.getProName(); String deviceCode = item.getDeviceCode(); - proToDeviceMap.computeIfAbsent(proName, k -> new ArrayList<>()).add(deviceCode); + String subName = item.getSubName(); + String teamName = item.getTeamName(); + proToDeviceMap.computeIfAbsent(proName, k -> new ArrayList<>()).add(new KqCmdBean(deviceCode, subName, teamName)); } // 构建树形结构 List result = new ArrayList<>(); - for (Map.Entry> entry : proToDeviceMap.entrySet()) { + for (Map.Entry> entry : proToDeviceMap.entrySet()) { String proName = entry.getKey(); - List deviceCodes = entry.getValue(); + List deviceCodes = entry.getValue(); // 创建项目节点 - TreeNode projectNode = new TreeNode(proName, "项目" + proName, "project"); + TreeNode projectNode = new TreeNode(proName, "工程-" + proName, "project"); // 为每个设备码创建子节点 - for (String deviceCode : deviceCodes) { - TreeNode deviceNode = new TreeNode(deviceCode, "设备" + deviceCode, "device"); + for (KqCmdBean bean : deviceCodes) { + String deviceCode = bean.getDeviceCode(); + String deviceName = "设备-" + deviceCode; + if(StringUtils.isNotEmpty(bean.getSubName())){ + deviceName += "|分包-" + bean.getSubName(); + if(StringUtils.isNotEmpty(bean.getTeamName())){ + deviceName += "|班组-" + bean.getTeamName(); + } + } + TreeNode deviceNode = new TreeNode(deviceCode, deviceName, "device"); projectNode.addChild(deviceNode); } result.add(projectNode); } - return result; } diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/PmWorkerServiceImpl.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/PmWorkerServiceImpl.java index db1974e..04ba052 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/PmWorkerServiceImpl.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/PmWorkerServiceImpl.java @@ -367,7 +367,7 @@ public class PmWorkerServiceImpl implements PmWorkerService{ private void importEinData(PmWorker worker) { Integer a = mapper.getProIdByProName(worker.getProName()); Integer b = mapper.getSubIdBySubName(worker.getSubName()); - Integer c = mapper.getTeamIdByTeamName(worker.getTeamName()); + Integer c = mapper.getTeamIdByTeamName(worker.getTeamName(),b); Integer d = mapper.getPostIdByPostName(worker.getPostName()); if(a !=null && a > 0 && b !=null && b > 0 && c !=null && c > 0 && d !=null && d > 0){ //入场关联数据新增 @@ -521,6 +521,7 @@ public class PmWorkerServiceImpl implements PmWorkerService{ // 添加员工时,判断员工编号是否已存在 if(StringUtils.isEmpty(worker.getIdNumber())){ failureMsg.insert(0, "导入失败!第 " + (workerList.indexOf(worker) + 1) + " 行数据缺少关键信息!"); + failureNum++; continue; } PmWorker w = mapper.getWorkerByNumber(worker.getIdNumber(),1); diff --git a/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/KqCmdTaskMapper.xml b/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/KqCmdTaskMapper.xml index d437bed..6115bba 100644 --- a/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/KqCmdTaskMapper.xml +++ b/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/KqCmdTaskMapper.xml @@ -2,21 +2,62 @@ - - - - - - - - - + + + + + + + + + + + + + + + + + diff --git a/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/PmWorkerMapper.xml b/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/PmWorkerMapper.xml index 0ece0f6..690ebad 100644 --- a/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/PmWorkerMapper.xml +++ b/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/PmWorkerMapper.xml @@ -378,7 +378,7 @@