From 672f4132ca491b8ef652dbde0de29f825020ab32 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=96=B9=E4=BA=AE?= Date: Wed, 26 Nov 2025 15:08:45 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=B8=80=E4=B8=AA?= =?UTF-8?q?=E9=97=AE=E9=A2=98=E5=8F=8D=E9=A6=88=E5=8A=9F=E8=83=BD=20?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=B8=80=E4=B8=AAbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bonus/common/core/constant/Constants.java | 5 + .../controller/QuestionRecordController.java | 110 ++++++++++++++++++ .../bmw/domain/dto/QuestionRecordDto.java | 77 ++++++++++++ .../bmw/mapper/QuestionRecordMapper.java | 17 +++ .../bmw/service/QuestionRecordService.java | 18 +++ .../impl/QuestionRecordServiceImpl.java | 75 ++++++++++++ .../main/resources/mapper/bmw/PmSubMapper.xml | 2 +- 7 files changed, 303 insertions(+), 1 deletion(-) create mode 100644 bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/QuestionRecordController.java create mode 100644 bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/dto/QuestionRecordDto.java create mode 100644 bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/QuestionRecordMapper.java create mode 100644 bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/QuestionRecordService.java create mode 100644 bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/QuestionRecordServiceImpl.java 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/QuestionRecordController.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/QuestionRecordController.java new file mode 100644 index 0000000..7a34057 --- /dev/null +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/QuestionRecordController.java @@ -0,0 +1,110 @@ +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 com.bonus.common.security.annotation.InnerAuth; +import com.bonus.common.security.annotation.RequiresPermissions; +import com.bonus.common.security.annotation.RequiresPermissionsOrInnerAuth; +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..f953647 --- /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/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/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/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/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} From 37534223c250aac148f0e5a91289ed20e0d838a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=96=B9=E4=BA=AE?= Date: Wed, 26 Nov 2025 15:08:55 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=B8=80=E4=B8=AA?= =?UTF-8?q?=E9=97=AE=E9=A2=98=E5=8F=8D=E9=A6=88=E5=8A=9F=E8=83=BD=20?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=B8=80=E4=B8=AAbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/bmw/QuestionRecordMapper.xml | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/QuestionRecordMapper.xml 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..bf083b1 --- /dev/null +++ b/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/QuestionRecordMapper.xml @@ -0,0 +1,48 @@ + + + + + + + + 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} + + From 79412c21de9b4562267699631e8d6546b64b0689 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=96=B9=E4=BA=AE?= Date: Wed, 26 Nov 2025 17:19:02 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=B8=80=E4=B8=AA?= =?UTF-8?q?=E9=97=AE=E9=A2=98=E5=8F=8D=E9=A6=88=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bmw/controller/QuestionRecordController.java | 11 ++++------- .../com/bonus/bmw/domain/dto/QuestionRecordDto.java | 2 +- .../resources/mapper/bmw/QuestionRecordMapper.xml | 4 +++- 3 files changed, 8 insertions(+), 9 deletions(-) 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 index 7a34057..f237362 100644 --- 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 @@ -9,9 +9,6 @@ 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 com.bonus.common.security.annotation.InnerAuth; -import com.bonus.common.security.annotation.RequiresPermissions; -import com.bonus.common.security.annotation.RequiresPermissionsOrInnerAuth; import lombok.extern.slf4j.Slf4j; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -40,7 +37,7 @@ public class QuestionRecordController extends BaseController { * @return * */ - @RequiresPermissionsOrInnerAuth(innerAuth = @InnerAuth(isUser = false), requiresPermissions = @RequiresPermissions("worker:question:list")) +// @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) { @@ -54,7 +51,7 @@ public class QuestionRecordController extends BaseController { return getDataTableError(new ArrayList<>()); } - @RequiresPermissionsOrInnerAuth(innerAuth = @InnerAuth, requiresPermissions = @RequiresPermissions("worker:question:insert")) +// @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) { @@ -73,7 +70,7 @@ public class QuestionRecordController extends BaseController { /** * 删除分包商 */ - @RequiresPermissionsOrInnerAuth(innerAuth = @InnerAuth, requiresPermissions = @RequiresPermissions("worker:question:del")) +// @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) { @@ -94,7 +91,7 @@ public class QuestionRecordController extends BaseController { /** * 删除分包商 */ - @RequiresPermissionsOrInnerAuth(innerAuth = @InnerAuth, requiresPermissions = @RequiresPermissions("worker:question:deal")) +// @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) { 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 index f953647..2b822bb 100644 --- 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 @@ -42,7 +42,7 @@ public class QuestionRecordDto { private String handler; /** - * 详情 + * 解决回复 */ private String remark; /** 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 index bf083b1..f93e3d7 100644 --- a/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/QuestionRecordMapper.xml +++ b/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/QuestionRecordMapper.xml @@ -7,12 +7,14 @@ qr.id, qr.module, qr.content, + qr.status, qr.submitter, qr.handler, qr.create_time, qr.update_time from question_record qr + qr.is_active = 1 and qr.module = #{module} @@ -33,7 +35,7 @@ - + insert into question_record( module, content, submitter,create_id) values( #{module}, #{content}, #{submitter}, #{createId}) From 5790b234ef187062c281388aa445452ecdfd020c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=96=B9=E4=BA=AE?= Date: Thu, 27 Nov 2025 14:30:46 +0800 Subject: [PATCH 4/5] =?UTF-8?q?app=E7=89=88=E6=9C=AC=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/BmAppVersionController.java | 91 +++++++++++ .../bonus/bmw/mapper/BmAppVersionMapper.java | 55 +++++++ .../bmw/service/BmAppVersionService.java | 17 +++ .../service/impl/BmAppVersionServiceImpl.java | 40 +++++ .../mapper/bmw/BmAppVersionMapper.xml | 142 ++++++++++++++++++ .../mapper/bmw/QuestionRecordMapper.xml | 1 + 6 files changed, 346 insertions(+) create mode 100644 bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/BmAppVersionController.java create mode 100644 bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/BmAppVersionMapper.java create mode 100644 bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/BmAppVersionService.java create mode 100644 bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/BmAppVersionServiceImpl.java create mode 100644 bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/BmAppVersionMapper.xml 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..d74b93d --- /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("/bm_app_version") +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/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/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/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/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/QuestionRecordMapper.xml b/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/QuestionRecordMapper.xml index f93e3d7..de4da58 100644 --- a/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/QuestionRecordMapper.xml +++ b/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/QuestionRecordMapper.xml @@ -30,6 +30,7 @@ and locate( #{createTime},qr.create_time) + order by create_time desc From 4399fdce559eaa56b1bc51ed737932e54fd1d31a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=96=B9=E4=BA=AE?= Date: Thu, 27 Nov 2025 17:56:21 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E8=80=83=E5=8B=A4=E6=9C=BA=E7=AE=A1?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/BmAppVersionController.java | 2 +- .../bonus/bmw/controller/KqCmdController.java | 51 +++++++++++++++ .../com/bonus/bmw/domain/vo/BmAppVersion.java | 50 +++++++++++++++ .../com/bonus/bmw/domain/vo/KqCmdBean.java | 58 +++++++++++++++++ .../com/bonus/bmw/domain/vo/TreeNode.java | 25 ++++++++ .../com/bonus/bmw/mapper/KqCmdMapper.java | 12 ++++ .../com/bonus/bmw/service/KqCmdService.java | 9 +++ .../CertificateStatisticsServiceImpl.java | 4 +- .../bmw/service/impl/KqCmdServiceImpl.java | 63 +++++++++++++++++++ .../bmw/service/impl/PmWorkerServiceImpl.java | 10 +-- .../resources/mapper/bmw/KqCmdTaskMapper.xml | 22 +++++++ 11 files changed, 298 insertions(+), 8 deletions(-) create mode 100644 bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/KqCmdController.java create mode 100644 bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/vo/BmAppVersion.java create mode 100644 bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/vo/KqCmdBean.java create mode 100644 bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/vo/TreeNode.java create mode 100644 bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/KqCmdMapper.java create mode 100644 bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/KqCmdService.java rename bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/{ => impl}/CertificateStatisticsServiceImpl.java (98%) create mode 100644 bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/KqCmdServiceImpl.java create mode 100644 bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/KqCmdTaskMapper.xml 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 index d74b93d..11d1078 100644 --- 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 @@ -20,7 +20,7 @@ import java.util.List; * @author xxxxx */ @RestController -@RequestMapping("/bm_app_version") +@RequestMapping("/appVersion") public class BmAppVersionController extends BaseController { /** * 服务对象 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/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/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/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/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/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 @@ + + + + + + + + + + + + + + + + +