考勤机管理
This commit is contained in:
parent
5790b234ef
commit
4399fdce55
|
|
@ -20,7 +20,7 @@ import java.util.List;
|
||||||
* @author xxxxx
|
* @author xxxxx
|
||||||
*/
|
*/
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/bm_app_version")
|
@RequestMapping("/appVersion")
|
||||||
public class BmAppVersionController extends BaseController {
|
public class BmAppVersionController extends BaseController {
|
||||||
/**
|
/**
|
||||||
* 服务对象
|
* 服务对象
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,51 @@
|
||||||
|
package com.bonus.bmw.controller;
|
||||||
|
|
||||||
|
import com.bonus.bmw.domain.vo.KqCmdBean;
|
||||||
|
import com.bonus.bmw.service.KqCmdService;
|
||||||
|
import com.bonus.common.core.web.controller.BaseController;
|
||||||
|
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 javax.annotation.Resource;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 考勤机操作控制层
|
||||||
|
*
|
||||||
|
* @author fly
|
||||||
|
*/
|
||||||
|
@Slf4j
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/kqManager")
|
||||||
|
public class KqCmdController extends BaseController {
|
||||||
|
/**
|
||||||
|
* 服务对象
|
||||||
|
*/
|
||||||
|
@Resource
|
||||||
|
private KqCmdService service;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 工程-考勤机树
|
||||||
|
*
|
||||||
|
* @param o 主键
|
||||||
|
* @return 单条数据
|
||||||
|
*/
|
||||||
|
@GetMapping("getProKqjTree")
|
||||||
|
@SysLog(title = "工程考勤机树", businessType = OperaType.QUERY, logType = 0, module = "工程考勤机树", details = "工程考勤机树")
|
||||||
|
public AjaxResult getProKqjTree(KqCmdBean o) {
|
||||||
|
try {
|
||||||
|
return service.getProKqjTree(o);
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.error(e.toString(), e);
|
||||||
|
}
|
||||||
|
return error("系统异常,请联系管理员");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,50 @@
|
||||||
|
package com.bonus.bmw.domain.vo;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* APP版本表
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class BmAppVersion {
|
||||||
|
/**
|
||||||
|
* 自增主键
|
||||||
|
*/
|
||||||
|
private Integer id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 版本号
|
||||||
|
*/
|
||||||
|
private String version;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* apk名称
|
||||||
|
*/
|
||||||
|
private String apkName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* apk路径
|
||||||
|
*/
|
||||||
|
private String apkPath;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新内容
|
||||||
|
*/
|
||||||
|
private String updateContent;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 部署时间
|
||||||
|
*/
|
||||||
|
private Date deployTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 部署人员
|
||||||
|
*/
|
||||||
|
private String deployUser;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 备注
|
||||||
|
*/
|
||||||
|
private String remark;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,58 @@
|
||||||
|
package com.bonus.bmw.domain.vo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 考勤任务信息表
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class KqCmdBean {
|
||||||
|
/**
|
||||||
|
* 主键
|
||||||
|
*/
|
||||||
|
private Integer id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 指令编码
|
||||||
|
*/
|
||||||
|
private String cmdCode;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 指令参数
|
||||||
|
*/
|
||||||
|
private String cmdParam;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设备编码
|
||||||
|
*/
|
||||||
|
private String deviceCode;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 任务状态 0 待执行 1已执行 2 完成 3执行失败 4 取消
|
||||||
|
*/
|
||||||
|
private String transStatus;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 任务执行更新时间
|
||||||
|
*/
|
||||||
|
private Date transStatusUpdateTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新状态 默认 0 1 则是更新数据
|
||||||
|
*/
|
||||||
|
private Integer updateState;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 消息内容
|
||||||
|
*/
|
||||||
|
private String msg;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 工程id
|
||||||
|
*/
|
||||||
|
private Integer proId;
|
||||||
|
|
||||||
|
private String proName;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,25 @@
|
||||||
|
package com.bonus.bmw.domain.vo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class TreeNode {
|
||||||
|
|
||||||
|
private String id;
|
||||||
|
private String name;
|
||||||
|
private String type;
|
||||||
|
private List<TreeNode> children;
|
||||||
|
|
||||||
|
public TreeNode(String id, String name, String type) {
|
||||||
|
this.id = id;
|
||||||
|
this.name = name;
|
||||||
|
this.type = type;
|
||||||
|
this.children = new ArrayList<>();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void addChild(TreeNode child) { this.children.add(child); }
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,12 @@
|
||||||
|
package com.bonus.bmw.mapper;
|
||||||
|
|
||||||
|
import com.bonus.bmw.domain.vo.KqCmdBean;
|
||||||
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Mapper
|
||||||
|
public interface KqCmdMapper {
|
||||||
|
|
||||||
|
List<KqCmdBean> getProKqjTree(KqCmdBean o);
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
package com.bonus.bmw.service;
|
||||||
|
|
||||||
|
import com.bonus.bmw.domain.vo.KqCmdBean;
|
||||||
|
import com.bonus.common.core.web.domain.AjaxResult;
|
||||||
|
|
||||||
|
public interface KqCmdService{
|
||||||
|
|
||||||
|
AjaxResult getProKqjTree(KqCmdBean o);
|
||||||
|
}
|
||||||
|
|
@ -1,13 +1,13 @@
|
||||||
package com.bonus.bmw.service;
|
package com.bonus.bmw.service.impl;
|
||||||
|
|
||||||
import com.bonus.bmw.mapper.CertificateStatisticsMapper;
|
import com.bonus.bmw.mapper.CertificateStatisticsMapper;
|
||||||
import com.bonus.bmw.domain.vo.CertificateStatisticsBean;
|
import com.bonus.bmw.domain.vo.CertificateStatisticsBean;
|
||||||
|
import com.bonus.bmw.service.CertificateStatisticsService;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* packageName com.bonus.gzrn.rnbmw.certificate.service
|
* packageName com.bonus.gzrn.rnbmw.certificate.service
|
||||||
|
|
@ -0,0 +1,63 @@
|
||||||
|
package com.bonus.bmw.service.impl;
|
||||||
|
|
||||||
|
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.web.domain.AjaxResult;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
public class KqCmdServiceImpl implements KqCmdService {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private KqCmdMapper mapper;
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public AjaxResult getProKqjTree(KqCmdBean o) {
|
||||||
|
List<KqCmdBean> list = mapper.getProKqjTree(o);
|
||||||
|
// 构建设备树
|
||||||
|
List<TreeNode> deviceTree = buildDeviceTree(list);
|
||||||
|
return AjaxResult.success(deviceTree);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 构建设备树
|
||||||
|
* @param data 包含pro_id和device_code的数据列表
|
||||||
|
* @return 树形结构的根节点列表
|
||||||
|
*/
|
||||||
|
public static List<TreeNode> buildDeviceTree(List<KqCmdBean> data) {
|
||||||
|
// 使用Map来存储pro_id到设备列表的映射
|
||||||
|
Map<String, List<String>> proToDeviceMap = new HashMap<>();
|
||||||
|
// 遍历数据,建立映射关系
|
||||||
|
for (KqCmdBean item : data) {
|
||||||
|
String proName = item.getProName();
|
||||||
|
String deviceCode = item.getDeviceCode();
|
||||||
|
proToDeviceMap.computeIfAbsent(proName, k -> new ArrayList<>()).add(deviceCode);
|
||||||
|
}
|
||||||
|
// 构建树形结构
|
||||||
|
List<TreeNode> result = new ArrayList<>();
|
||||||
|
for (Map.Entry<String, List<String>> entry : proToDeviceMap.entrySet()) {
|
||||||
|
String proName = entry.getKey();
|
||||||
|
List<String> deviceCodes = entry.getValue();
|
||||||
|
// 创建项目节点
|
||||||
|
TreeNode projectNode = new TreeNode(proName, "项目" + proName, "project");
|
||||||
|
// 为每个设备码创建子节点
|
||||||
|
for (String deviceCode : deviceCodes) {
|
||||||
|
TreeNode deviceNode = new TreeNode(deviceCode, "设备" + deviceCode, "device");
|
||||||
|
projectNode.addChild(deviceNode);
|
||||||
|
}
|
||||||
|
result.add(projectNode);
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -341,11 +341,11 @@ public class PmWorkerServiceImpl implements PmWorkerService{
|
||||||
}
|
}
|
||||||
//合同
|
//合同
|
||||||
BmWorkerWageCard bmWorkerWageCard = new BmWorkerWageCard();
|
BmWorkerWageCard bmWorkerWageCard = new BmWorkerWageCard();
|
||||||
bmWorkerWageCard.setWorkerId(worker.getId());
|
bmWorkerWageCard.setWorkerId(export.getId());
|
||||||
bmWorkerWageCard.setBankCardCode(worker.getBankCardCode());
|
bmWorkerWageCard.setBankCardCode(export.getBankCardCode());
|
||||||
bmWorkerWageCard.setBankName(worker.getBankName());
|
bmWorkerWageCard.setBankName(export.getBankName());
|
||||||
bmWorkerWageCard.setBankBranchName(worker.getBankBranchName());
|
bmWorkerWageCard.setBankBranchName(export.getBankBranchName());
|
||||||
bmWorkerWageCard.setBankIdentifierCode(worker.getBankIdentifierCode());
|
bmWorkerWageCard.setBankIdentifierCode(export.getBankIdentifierCode());
|
||||||
insertWorkerWageCard(bmWorkerWageCard);
|
insertWorkerWageCard(bmWorkerWageCard);
|
||||||
//入场
|
//入场
|
||||||
importEinData(export);
|
importEinData(export);
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,22 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="com.bonus.bmw.mapper.KqCmdMapper">
|
||||||
|
<resultMap id="BaseResultMap" type="com.bonus.bmw.domain.vo.KqCmdBean">
|
||||||
|
<id column="id" property="id" />
|
||||||
|
<result column="cmd_code" property="cmdCode" />
|
||||||
|
<result column="cmd_param" property="cmdParam" />
|
||||||
|
<result column="device_code" property="deviceCode" />
|
||||||
|
<result column="trans_status" property="transStatus" />
|
||||||
|
<result column="trans_status_update_time" property="transStatusUpdateTime" />
|
||||||
|
<result column="update_state" property="updateState" />
|
||||||
|
<result column="msg" property="msg" />
|
||||||
|
<result column="pro_id" property="proId" />
|
||||||
|
</resultMap>
|
||||||
|
|
||||||
|
<select id="getProKqjTree" resultType="com.bonus.bmw.domain.vo.KqCmdBean">
|
||||||
|
select
|
||||||
|
pp.pro_name,device_code
|
||||||
|
from pm_att_device pad
|
||||||
|
inner join pm_project pp on pad.pro_id = pp.id
|
||||||
|
</select>
|
||||||
|
</mapper>
|
||||||
Loading…
Reference in New Issue