diff --git a/bonus-common/bonus-common-core/src/main/java/com/bonus/common/core/constant/Constants.java b/bonus-common/bonus-common-core/src/main/java/com/bonus/common/core/constant/Constants.java index bf89665..87c669a 100644 --- a/bonus-common/bonus-common-core/src/main/java/com/bonus/common/core/constant/Constants.java +++ b/bonus-common/bonus-common-core/src/main/java/com/bonus/common/core/constant/Constants.java @@ -201,6 +201,11 @@ public class Constants */ public static final String TB_PRO_MONTH_TABLE = "tb_pro_month_table"; + /** + * 分包商信息表 + */ + public static final String QUESTION_RECORD = "question_record"; + } diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/BmAppVersionController.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/BmAppVersionController.java new file mode 100644 index 0000000..11d1078 --- /dev/null +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/BmAppVersionController.java @@ -0,0 +1,91 @@ +package com.bonus.bmw.controller; + +import com.bonus.bmw.domain.vo.BmAppVersion; +import com.bonus.bmw.service.BmAppVersionService; +import com.bonus.common.core.web.controller.BaseController; +import com.bonus.common.core.web.domain.AjaxResult; +import com.bonus.common.core.web.page.TableDataInfo; +import com.bonus.common.log.annotation.SysLog; +import com.bonus.common.log.enums.OperaType; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.ArrayList; +import java.util.List; + +/** +* APP版本表(bm_app_version)表控制层 +* +* @author xxxxx +*/ +@RestController +@RequestMapping("/appVersion") +public class BmAppVersionController extends BaseController { +/** +* 服务对象 +*/ + @Autowired + private BmAppVersionService service; + + /** + * 查询列表 + * @param o + * @return + * + */ +// @RequiresPermissionsOrInnerAuth(innerAuth = @InnerAuth(isUser = false), requiresPermissions = @RequiresPermissions("worker:question:list")) + @GetMapping("/list") + @SysLog(title = "APP版本更新记录", businessType = OperaType.QUERY, logType = 0, module = "APP版本更新记录", details = "APP版本更新记录") + public TableDataInfo list(BmAppVersion o) { + try { + startPage(); + List list = service.selectAppVersionList(o); + return getDataTable(list); + } catch (Exception e) { + logger.error(e.toString(), e); + } + return getDataTableError(new ArrayList<>()); + } + + @PostMapping("/insert") + @SysLog(title = "新增版本更新记录", businessType = OperaType.UPDATE, logType = 0, module = "新增版本更新记录", details = "新增版本更新记录") + public AjaxResult exit(@RequestBody BmAppVersion o) { + try { + return service.insert(o); + } catch (Exception e) { + logger.error(e.toString(), e); + } + return error("系统异常,请联系管理员"); + } + + @PostMapping("/del") + @SysLog(title = "删除版本更新记录", businessType = OperaType.UPDATE, logType = 0, module = "删除版本更新记录") + public AjaxResult del(@Validated @RequestBody BmAppVersion o) { + try { + int res = service.delete(o.getId()); + if (res>0){ + return toAjax(res); + }else { + return error("删除失败"); + } + + } catch (Exception e) { + logger.error(e.toString(), e); + } + return error("系统异常,请联系管理员"); + } + + @PostMapping("/selectLatestVersion") + @SysLog(title = "删除版本更新记录", businessType = OperaType.UPDATE, logType = 0, module = "删除版本更新记录") + public AjaxResult selectLatestVersion() { + try { + return service.selectLatestVersion(); + + } catch (Exception e) { + logger.error(e.toString(), e); + } + return error("系统异常,请联系管理员"); + } + +} 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 new file mode 100644 index 0000000..63d8296 --- /dev/null +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/KqCmdController.java @@ -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("系统异常,请联系管理员"); + } + + + + +} diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/QuestionRecordController.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/QuestionRecordController.java new file mode 100644 index 0000000..f237362 --- /dev/null +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/QuestionRecordController.java @@ -0,0 +1,107 @@ +package com.bonus.bmw.controller; + +import com.bonus.bmw.domain.dto.QuestionRecordDto; +import com.bonus.bmw.service.QuestionRecordService; +import com.bonus.common.core.utils.encryption.Sm4Utils; +import com.bonus.common.core.utils.json.FastJsonHelper; +import com.bonus.common.core.web.controller.BaseController; +import com.bonus.common.core.web.domain.AjaxResult; +import com.bonus.common.core.web.page.TableDataInfo; +import com.bonus.common.log.annotation.SysLog; +import com.bonus.common.log.enums.OperaType; +import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; + +/** + * app部分接口 + * @author fly + * @date 2025/8/23 + */ +@Slf4j +@RestController +@RequestMapping("/question") +public class QuestionRecordController extends BaseController { + + @Resource + private QuestionRecordService service; + + /** + * 查询列表 + * @param o + * @return + * + */ +// @RequiresPermissionsOrInnerAuth(innerAuth = @InnerAuth(isUser = false), requiresPermissions = @RequiresPermissions("worker:question:list")) + @GetMapping("/list") + @SysLog(title = "问题记录列表", businessType = OperaType.QUERY, logType = 0, module = "问题记录列表", details = "问题记录列表") + public TableDataInfo list(QuestionRecordDto o) { + try { + startPage(); + List list = service.selectQuestionRecordList(o); + return getDataTable(list); + } catch (Exception e) { + logger.error(e.toString(), e); + } + return getDataTableError(new ArrayList<>()); + } + +// @RequiresPermissionsOrInnerAuth(innerAuth = @InnerAuth, requiresPermissions = @RequiresPermissions("worker:question:insert")) + @PostMapping("/insert") + @SysLog(title = "新增问题记录", businessType = OperaType.UPDATE, logType = 0, module = "新增问题记录", details = "新增问题记录") + public AjaxResult exit(@RequestParam(value = "files",required = false) MultipartFile[] files, @RequestParam(value = "params")String params) { + try { + params= Sm4Utils.decrypt(params); + QuestionRecordDto o = FastJsonHelper.jsonStrToBean(params, QuestionRecordDto.class); + //先将数据对应关系处理还 + return service.insert(o,files); + } catch (Exception e) { + logger.error(e.toString(), e); + } + return error("系统异常,请联系管理员"); + } + + + /** + * 删除分包商 + */ +// @RequiresPermissionsOrInnerAuth(innerAuth = @InnerAuth, requiresPermissions = @RequiresPermissions("worker:question:del")) + @PostMapping("/del") + @SysLog(title = "删除问题记录", businessType = OperaType.UPDATE, logType = 0, module = "删除问题记录") + public AjaxResult del(@Validated @RequestBody QuestionRecordDto o) { + try { + int res = service.del(o); + if (res>0){ + return toAjax(res); + }else { + return error("删除失败"); + } + + } catch (Exception e) { + logger.error(e.toString(), e); + } + return error("系统异常,请联系管理员"); + } + + /** + * 删除分包商 + */ +// @RequiresPermissionsOrInnerAuth(innerAuth = @InnerAuth, requiresPermissions = @RequiresPermissions("worker:question:deal")) + @PostMapping("/deal") + @SysLog(title = "处理问题", businessType = OperaType.UPDATE, logType = 0, module = "处理问题") + public AjaxResult deal(@Validated @RequestBody QuestionRecordDto o) { + try { + return service.deal(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/QuestionRecordDto.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/dto/QuestionRecordDto.java new file mode 100644 index 0000000..2b822bb --- /dev/null +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/dto/QuestionRecordDto.java @@ -0,0 +1,77 @@ +package com.bonus.bmw.domain.dto; + +import com.bonus.system.api.model.UploadFileVo; +import lombok.Data; + +import java.util.List; + +/** + * 人员基础信息表 + */ +@Data +public class QuestionRecordDto { + /** + * 编号 + */ + private Integer id; + + /** + * 模块 + */ + private String module; + + /** + * 详情 + */ + private String content; + + + /** + * 状态 + */ + private String status; + + + /** + * 提出人 + */ + private String submitter; + /** + * 处理人 + */ + private String handler; + + /** + * 解决回复 + */ + private String remark; + /** + * 处理时间 + */ + private String updateTime; + /** + * 修改人id + */ + private Integer updateId; + + /** + * 创建时间 + */ + private String createTime; + /** + * 创建人id + */ + private Integer createId; + + /** + * 文件列表 + */ + List file; + + /** + * 删除文件id集合 + */ + List fileIdList; + + +} diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/vo/BmAppVersion.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/vo/BmAppVersion.java new file mode 100644 index 0000000..7c06948 --- /dev/null +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/vo/BmAppVersion.java @@ -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; +} \ No newline at end of file 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 new file mode 100644 index 0000000..a6c2eca --- /dev/null +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/vo/KqCmdBean.java @@ -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; +} diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/vo/TreeNode.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/vo/TreeNode.java new file mode 100644 index 0000000..2d303db --- /dev/null +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/vo/TreeNode.java @@ -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 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); } +} diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/BmAppVersionMapper.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/BmAppVersionMapper.java new file mode 100644 index 0000000..da0d2d6 --- /dev/null +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/BmAppVersionMapper.java @@ -0,0 +1,55 @@ +package com.bonus.bmw.mapper; + +import com.bonus.bmw.domain.vo.BmAppVersion; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +@Mapper +public interface BmAppVersionMapper { + /** + * delete by primary key + * @param id primaryKey + * @return deleteCount + */ + int delete(Integer id); + + /** + * insert record to table + * @param record the record + * @return insert count + */ + int insert(BmAppVersion record); + + /** + * insert record to table selective + * @param record the record + * @return insert count + */ + int insertSelective(BmAppVersion record); + + /** + * select by primary key + * @param id primary key + * @return object by primary key + */ + BmAppVersion selectByPrimaryKey(Integer id); + + /** + * update record selective + * @param record the updated record + * @return update count + */ + int updateByPrimaryKeySelective(BmAppVersion record); + + /** + * update record + * @param record the updated record + * @return update count + */ + int updateByPrimaryKey(BmAppVersion record); + + List selectAppVersionList(BmAppVersion o); + + BmAppVersion selectLatestVersion(); +} 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 new file mode 100644 index 0000000..a0b2be0 --- /dev/null +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/KqCmdMapper.java @@ -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 getProKqjTree(KqCmdBean o); +} diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/QuestionRecordMapper.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/QuestionRecordMapper.java new file mode 100644 index 0000000..297a1d2 --- /dev/null +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/QuestionRecordMapper.java @@ -0,0 +1,17 @@ +package com.bonus.bmw.mapper; + +import com.bonus.bmw.domain.dto.QuestionRecordDto; + +import java.util.List; + +public interface QuestionRecordMapper { + + + List selectQuestionRecordList(QuestionRecordDto o); + + int insert(QuestionRecordDto o); + + int del(QuestionRecordDto o); + + int deal(QuestionRecordDto o); +} diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/BmAppVersionService.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/BmAppVersionService.java new file mode 100644 index 0000000..0661438 --- /dev/null +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/BmAppVersionService.java @@ -0,0 +1,17 @@ +package com.bonus.bmw.service; + +import com.bonus.bmw.domain.vo.BmAppVersion; +import com.bonus.common.core.web.domain.AjaxResult; + +import java.util.List; + +public interface BmAppVersionService{ + + int delete(Integer id); + + AjaxResult insert(BmAppVersion record); + + List selectAppVersionList(BmAppVersion o); + + AjaxResult selectLatestVersion(); +} 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 new file mode 100644 index 0000000..5bf0b79 --- /dev/null +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/KqCmdService.java @@ -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); +} diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/QuestionRecordService.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/QuestionRecordService.java new file mode 100644 index 0000000..0382d59 --- /dev/null +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/QuestionRecordService.java @@ -0,0 +1,18 @@ +package com.bonus.bmw.service; + +import com.bonus.bmw.domain.dto.QuestionRecordDto; +import com.bonus.common.core.web.domain.AjaxResult; +import org.springframework.web.multipart.MultipartFile; + +import java.util.List; + +public interface QuestionRecordService { + + List selectQuestionRecordList(QuestionRecordDto o); + + AjaxResult insert(QuestionRecordDto o, MultipartFile[] files); + + int del(QuestionRecordDto o); + + AjaxResult deal(QuestionRecordDto o); +} diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/BmAppVersionServiceImpl.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/BmAppVersionServiceImpl.java new file mode 100644 index 0000000..07984db --- /dev/null +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/BmAppVersionServiceImpl.java @@ -0,0 +1,40 @@ +package com.bonus.bmw.service.impl; + +import com.bonus.bmw.domain.vo.BmAppVersion; +import com.bonus.bmw.mapper.BmAppVersionMapper; +import com.bonus.bmw.service.BmAppVersionService; +import com.bonus.common.core.web.domain.AjaxResult; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; + +@Service +public class BmAppVersionServiceImpl implements BmAppVersionService{ + + @Resource + private BmAppVersionMapper mapper; + + @Override + public int delete(Integer id) { + return mapper.delete(id); + } + + @Override + public AjaxResult insert(BmAppVersion record) { + int insert = mapper.insert(record); + return insert > 0 ? AjaxResult.success() : AjaxResult.error(); + } + + @Override + public List selectAppVersionList(BmAppVersion o) { + return mapper.selectAppVersionList(o); + } + + @Override + public AjaxResult selectLatestVersion() { + BmAppVersion o = mapper.selectLatestVersion(); + return AjaxResult.success(o); + } + +} diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/CertificateStatisticsServiceImpl.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/CertificateStatisticsServiceImpl.java similarity index 98% rename from bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/CertificateStatisticsServiceImpl.java rename to bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/CertificateStatisticsServiceImpl.java index 3084a61..e1770ac 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/CertificateStatisticsServiceImpl.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/CertificateStatisticsServiceImpl.java @@ -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.domain.vo.CertificateStatisticsBean; +import com.bonus.bmw.service.CertificateStatisticsService; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; -import java.util.Map; /** * packageName com.bonus.gzrn.rnbmw.certificate.service 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 new file mode 100644 index 0000000..11b8a1a --- /dev/null +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/KqCmdServiceImpl.java @@ -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 list = mapper.getProKqjTree(o); + // 构建设备树 + List deviceTree = buildDeviceTree(list); + return AjaxResult.success(deviceTree); + } + + /** + * 构建设备树 + * @param data 包含pro_id和device_code的数据列表 + * @return 树形结构的根节点列表 + */ + public static List buildDeviceTree(List data) { + // 使用Map来存储pro_id到设备列表的映射 + Map> proToDeviceMap = new HashMap<>(); + // 遍历数据,建立映射关系 + for (KqCmdBean item : data) { + String proName = item.getProName(); + String deviceCode = item.getDeviceCode(); + proToDeviceMap.computeIfAbsent(proName, k -> new ArrayList<>()).add(deviceCode); + } + // 构建树形结构 + List result = new ArrayList<>(); + for (Map.Entry> entry : proToDeviceMap.entrySet()) { + String proName = entry.getKey(); + List 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; + } + +} 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 eb98adf..db1974e 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 @@ -341,11 +341,11 @@ public class PmWorkerServiceImpl implements PmWorkerService{ } //合同 BmWorkerWageCard bmWorkerWageCard = new BmWorkerWageCard(); - bmWorkerWageCard.setWorkerId(worker.getId()); - bmWorkerWageCard.setBankCardCode(worker.getBankCardCode()); - bmWorkerWageCard.setBankName(worker.getBankName()); - bmWorkerWageCard.setBankBranchName(worker.getBankBranchName()); - bmWorkerWageCard.setBankIdentifierCode(worker.getBankIdentifierCode()); + bmWorkerWageCard.setWorkerId(export.getId()); + bmWorkerWageCard.setBankCardCode(export.getBankCardCode()); + bmWorkerWageCard.setBankName(export.getBankName()); + bmWorkerWageCard.setBankBranchName(export.getBankBranchName()); + bmWorkerWageCard.setBankIdentifierCode(export.getBankIdentifierCode()); insertWorkerWageCard(bmWorkerWageCard); //入场 importEinData(export); diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/QuestionRecordServiceImpl.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/QuestionRecordServiceImpl.java new file mode 100644 index 0000000..1503bb5 --- /dev/null +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/QuestionRecordServiceImpl.java @@ -0,0 +1,75 @@ +package com.bonus.bmw.service.impl; + +import cn.hutool.core.date.DateUtil; +import com.bonus.bmw.domain.dto.QuestionRecordDto; +import com.bonus.bmw.mapper.QuestionRecordMapper; +import com.bonus.bmw.service.QuestionRecordService; +import com.bonus.common.core.constant.Constants; +import com.bonus.common.core.web.domain.AjaxResult; +import com.bonus.common.security.utils.SecurityUtils; +import com.bonus.system.api.model.UploadFileVo; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.util.Arrays; +import java.util.List; + +/** + * @author 马三炮 + * @date 2025/8/14 + */ +@Service +@Slf4j +public class QuestionRecordServiceImpl implements QuestionRecordService { + + @Resource + private QuestionRecordMapper mapper; + + @Autowired + private FileUploadUtils fileUploadUtils; + + + @Override + public List selectQuestionRecordList(QuestionRecordDto o) { + List list = mapper.selectQuestionRecordList(o); + if (!list.isEmpty()){ + for (QuestionRecordDto bean:list) { + List contractFile = fileUploadUtils.getFileList("", bean.getId().toString(), Constants.QUESTION_RECORD, ""); + bean.setFile(contractFile); + } + } + return list; + } + + @Override + public AjaxResult insert(QuestionRecordDto o, MultipartFile[] files) { + o.setCreateId(Math.toIntExact(SecurityUtils.getLoginUser().getUserid())); + int insert = mapper.insert(o); + if (insert > 0) { + String[] sourceType = new String[files.length]; + Arrays.fill(sourceType, "1"); + fileUploadUtils.uploadFile(files, Constants.QUESTION_RECORD, o.getId().toString(), sourceType, "", ""); + } + + return insert > 0 ? AjaxResult.success() : AjaxResult.error(); + } + + @Override + public int del(QuestionRecordDto o) { + int res = mapper.del(o); + //删除合同图片 删除minio文件 + fileUploadUtils.delFileListById("", o.getId().toString(), Constants.QUESTION_RECORD,""); + return res; + } + + @Override + public AjaxResult deal(QuestionRecordDto o) { + o.setUpdateTime(DateUtil.now()); + o.setUpdateId(Math.toIntExact(SecurityUtils.getLoginUser().getUserid())); + int res = mapper.deal(o); + return res > 0 ? AjaxResult.success() : AjaxResult.error(); + } +} diff --git a/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/BmAppVersionMapper.xml b/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/BmAppVersionMapper.xml new file mode 100644 index 0000000..7725b5b --- /dev/null +++ b/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/BmAppVersionMapper.xml @@ -0,0 +1,142 @@ + + + + + + + + + + + + + + + + + + id, version, apk_name, apk_path, update_content, deploy_time, deploy_user, remark + + + + + delete from bm_app_version + where id = #{id} + + + + insert into bm_app_version (version, apk_name, apk_path, update_content, remark) + values (#{version}, #{apkName}, #{apkPath}, #{updateContent}, #{remark}) + + + + insert into bm_app_version + + + version, + + + apk_name, + + + apk_path, + + + update_content, + + + deploy_time, + + + deploy_user, + + + remark, + + + + + #{version}, + + + #{apkName}, + + + #{apkPath}, + + + #{updateContent}, + + + #{deployTime}, + + + #{deployUser}, + + + #{remark}, + + + + + + update bm_app_version + + + version = #{version}, + + + apk_name = #{apkName}, + + + apk_path = #{apkPath}, + + + update_content = #{updateContent}, + + + deploy_time = #{deployTime}, + + + deploy_user = #{deployUser}, + + + remark = #{remark}, + + + where id = #{id} + + + + update bm_app_version + set version = #{version}, + apk_name = #{apkName}, + apk_path = #{apkPath}, + update_content = #{updateContent}, + deploy_time = #{deployTime}, + deploy_user = #{deployUser}, + remark = #{remark} + where id = #{id} + + + + + + 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 new file mode 100644 index 0000000..d437bed --- /dev/null +++ b/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/KqCmdTaskMapper.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + diff --git a/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/PmSubMapper.xml b/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/PmSubMapper.xml index d879b1f..aeaa654 100644 --- a/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/PmSubMapper.xml +++ b/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/PmSubMapper.xml @@ -73,7 +73,7 @@ psc.sub_company_name as subComName from pm_sub ps left join pm_sub_company psc on ps.sub_com_id = psc.id - where is_active='1' + where ps.is_active='1' and ps.sub_com_id=#{subComId} diff --git a/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/QuestionRecordMapper.xml b/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/QuestionRecordMapper.xml new file mode 100644 index 0000000..de4da58 --- /dev/null +++ b/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/QuestionRecordMapper.xml @@ -0,0 +1,51 @@ + + + + + + + + insert into question_record( module, content, submitter,create_id) + values( #{module}, #{content}, #{submitter}, #{createId}) + + + + update question_record set is_active = 0 where id = #{id} + + + + update question_record set handler = #{handler},update_time = #{updateTime},status = #{status},reamrk = #{remark},update_id = #{updateId} where id = #{id} + +