From d42442d6ab074d9cfa4e0f0fc63e4bd85f10c5af Mon Sep 17 00:00:00 2001 From: k94314517 <8417338+k94314517@user.noreply.gitee.com> Date: 星期一, 28 四月 2025 16:22:38 +0800 Subject: [PATCH] 代码初始化 --- server/db/business.inout_record.permissions.sql | 6 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/InoutRecordServiceImpl.java | 175 +++++++++++++++++ server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/InoutRecordController.java | 90 +++++++++ server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/InoutRecord.java | 114 +++++++++++ server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java | 37 +++ server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/HiddenDangerDataVO.java | 19 + server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/InoutRecordMapper.java | 12 + server/visits/dmvisit_service/src/main/java/com/doumee/service/business/InoutRecordService.java | 98 +++++++++ 8 files changed, 550 insertions(+), 1 deletions(-) diff --git a/server/db/business.inout_record.permissions.sql b/server/db/business.inout_record.permissions.sql new file mode 100644 index 0000000..77e9add --- /dev/null +++ b/server/db/business.inout_record.permissions.sql @@ -0,0 +1,6 @@ +INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`) VALUES ('business:inoutrecord:create', '鏂板缓鍑哄叆鍦轰汉娆¤溅娆℃瘡鏃ョ粺璁¤〃', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0); +INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`) VALUES ('business:inoutrecord:delete', '鍒犻櫎鍑哄叆鍦轰汉娆¤溅娆℃瘡鏃ョ粺璁¤〃', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0); +INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`) VALUES ('business:inoutrecord:update', '淇敼鍑哄叆鍦轰汉娆¤溅娆℃瘡鏃ョ粺璁¤〃', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0); +INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`) VALUES ('business:inoutrecord:query', '鏌ヨ鍑哄叆鍦轰汉娆¤溅娆℃瘡鏃ョ粺璁¤〃', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0); +INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`) VALUES ('business:inoutrecord:exportExcel', '瀵煎嚭鍑哄叆鍦轰汉娆¤溅娆℃瘡鏃ョ粺璁¤〃(Excel)', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0); + diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/InoutRecordController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/InoutRecordController.java new file mode 100644 index 0000000..9198226 --- /dev/null +++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/InoutRecordController.java @@ -0,0 +1,90 @@ +package com.doumee.api.business; + +import com.doumee.api.BaseController; +import com.doumee.core.annotation.excel.ExcelExporter; +import com.doumee.core.annotation.pr.PreventRepeat; +import com.doumee.dao.business.model.InoutRecord; +import com.doumee.service.business.InoutRecordService; +import com.doumee.service.business.third.model.ApiResponse; +import com.doumee.service.business.third.model.PageData; +import com.doumee.service.business.third.model.PageWrap; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletResponse; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author 姹熻箘韫� + * @date 2025/04/28 16:19 + */ +@Api(tags = "鍑哄叆鍦轰汉娆¤溅娆℃瘡鏃ョ粺璁¤〃") +@RestController +@RequestMapping("/business/inoutRecord") +public class InoutRecordController extends BaseController { + + @Autowired + private InoutRecordService inoutRecordService; + + @PreventRepeat + @ApiOperation("鏂板缓") + @PostMapping("/create") + @RequiresPermissions("business:inoutrecord:create") + public ApiResponse create(@RequestBody InoutRecord inoutRecord) { + return ApiResponse.success(inoutRecordService.create(inoutRecord)); + } + + @ApiOperation("鏍规嵁ID鍒犻櫎") + @GetMapping("/delete/{id}") + @RequiresPermissions("business:inoutrecord:delete") + public ApiResponse deleteById(@PathVariable Integer id) { + inoutRecordService.deleteById(id); + return ApiResponse.success(null); + } + + @ApiOperation("鎵归噺鍒犻櫎") + @GetMapping("/delete/batch") + @RequiresPermissions("business:inoutrecord:delete") + public ApiResponse deleteByIdInBatch(@RequestParam String ids) { + String [] idArray = ids.split(","); + List<Integer> idList = new ArrayList<>(); + for (String id : idArray) { + idList.add(Integer.valueOf(id)); + } + inoutRecordService.deleteByIdInBatch(idList); + return ApiResponse.success(null); + } + + @ApiOperation("鏍规嵁ID淇敼") + @PostMapping("/updateById") + @RequiresPermissions("business:inoutrecord:update") + public ApiResponse updateById(@RequestBody InoutRecord inoutRecord) { + inoutRecordService.updateById(inoutRecord); + return ApiResponse.success(null); + } + + @ApiOperation("鍒嗛〉鏌ヨ") + @PostMapping("/page") + @RequiresPermissions("business:inoutrecord:query") + public ApiResponse<PageData<InoutRecord>> findPage (@RequestBody PageWrap<InoutRecord> pageWrap) { + return ApiResponse.success(inoutRecordService.findPage(pageWrap)); + } + + @ApiOperation("瀵煎嚭Excel") + @PostMapping("/exportExcel") + @RequiresPermissions("business:inoutrecord:exportExcel") + public void exportExcel (@RequestBody PageWrap<InoutRecord> pageWrap, HttpServletResponse response) { + ExcelExporter.build(InoutRecord.class).export(inoutRecordService.findPage(pageWrap).getRecords(), "鍑哄叆鍦轰汉娆¤溅娆℃瘡鏃ョ粺璁¤〃", response); + } + + @ApiOperation("鏍规嵁ID鏌ヨ") + @GetMapping("/{id}") + @RequiresPermissions("business:inoutrecord:query") + public ApiResponse findById(@PathVariable Integer id) { + return ApiResponse.success(inoutRecordService.findById(id)); + } +} diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/InoutRecordMapper.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/InoutRecordMapper.java new file mode 100644 index 0000000..cf59378 --- /dev/null +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/InoutRecordMapper.java @@ -0,0 +1,12 @@ +package com.doumee.dao.business; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.doumee.dao.business.model.InoutRecord; + +/** + * @author 姹熻箘韫� + * @date 2025/04/28 16:19 + */ +public interface InoutRecordMapper extends BaseMapper<InoutRecord> { + +} diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/InoutRecord.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/InoutRecord.java new file mode 100644 index 0000000..2cd16fa --- /dev/null +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/InoutRecord.java @@ -0,0 +1,114 @@ +package com.doumee.dao.business.model; + +import com.doumee.core.annotation.excel.ExcelColumn; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import com.fasterxml.jackson.annotation.JsonFormat; +import java.util.Date; + +/** + * 鍑哄叆鍦轰汉娆¤溅娆℃瘡鏃ョ粺璁¤〃 + * @author 姹熻箘韫� + * @date 2025/04/28 16:19 + */ +@Data +@ApiModel("鍑哄叆鍦轰汉娆¤溅娆℃瘡鏃ョ粺璁¤〃") +@TableName("`inout_record`") +public class InoutRecord { + + @TableId(type = IdType.AUTO) + @ApiModelProperty(value = "涓婚敭", example = "1") + @ExcelColumn(name="涓婚敭") + private Integer id; + + @ApiModelProperty(value = "鍒涘缓浜虹紪鐮�", example = "1") + @ExcelColumn(name="鍒涘缓浜虹紪鐮�") + private Integer creator; + + @ApiModelProperty(value = "鍒涘缓鏃堕棿") + @ExcelColumn(name="鍒涘缓鏃堕棿") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date createDate; + + @ApiModelProperty(value = "鏇存柊浜虹紪鐮�", example = "1") + @ExcelColumn(name="鏇存柊浜虹紪鐮�") + private Integer editor; + + @ApiModelProperty(value = "鏇存柊鏃堕棿") + @ExcelColumn(name="鏇存柊鏃堕棿") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date editDate; + + @ApiModelProperty(value = "鏄惁鍒犻櫎0鍚� 1鏄�", example = "1") + @ExcelColumn(name="鏄惁鍒犻櫎0鍚� 1鏄�") + private Integer isdeleted; + + @ApiModelProperty(value = "澶囨敞") + @ExcelColumn(name="澶囨敞") + private String remark; + + @ApiModelProperty(value = "瀵硅薄绫诲瀷 0杞﹁締 1浜哄憳", example = "1") + @ExcelColumn(name="瀵硅薄绫诲瀷 0杞﹁締 1浜哄憳") + private Integer type; + + @ApiModelProperty(value = "娴峰悍浜嬩欢缂栫爜") + @ExcelColumn(name="娴峰悍浜嬩欢缂栫爜") + private String hkEventId; + + @ApiModelProperty(value = "娴峰悍浜嬩欢瀵硅薄缂栫爜") + @ExcelColumn(name="娴峰悍浜嬩欢瀵硅薄缂栫爜") + private String hkId; + + @ApiModelProperty(value = "鍏宠仈浜哄憳缂栫爜锛堝叧鑱攎ember)", example = "1") + @ExcelColumn(name="鍏宠仈浜哄憳缂栫爜锛堝叧鑱攎ember)") + private Integer memberId; + + @ApiModelProperty(value = "鍏宠仈浜哄憳缂栫爜锛堝叧鑱攃ars)", example = "1") + @ExcelColumn(name="鍏宠仈浜哄憳缂栫爜锛堝叧鑱攃ars)") + private Integer carId; + + @ApiModelProperty(value = "鍏宠仈鍒嗙被缂栫爜锛堝叧鑱攃ategory)", example = "1") + @ExcelColumn(name="鍏宠仈鍒嗙被缂栫爜锛堝叧鑱攃ategory)") + private Integer categoryId; + + @ApiModelProperty(value = "鍏宠仈鍒嗙被鍚嶇О") + @ExcelColumn(name="鍏宠仈鍒嗙被鍚嶇О") + private String categoryName; + + @ApiModelProperty(value = "", example = "1") + @ExcelColumn(name="") + private Integer carBizType; + + @ApiModelProperty(value = "鐢ㄦ埛绫诲瀷 0璁垮 1鍐呴儴浜哄憳 2鐩稿叧鏂逛汉鍛� 3璐ц繍鍙告満", example = "1") + @ExcelColumn(name="鐢ㄦ埛绫诲瀷 0璁垮 1鍐呴儴浜哄憳 2鐩稿叧鏂逛汉鍛� 3璐ц繍鍙告満") + private Integer memberType; + + @ApiModelProperty(value = "浜哄憳鍚嶇О") + @ExcelColumn(name="浜哄憳鍚嶇О") + private String memberName; + + @ApiModelProperty(value = "杞︾墝鍙�") + @ExcelColumn(name="杞︾墝鍙�") + private String carCode; + + @ApiModelProperty(value = "鍏宠仈瀵硅薄绫诲瀷 0杞﹁締 1浜哄憳 2璁垮鐢宠璁板綍 3璁垮鎶ュ鐢宠璁板綍 4鏈堝彴浣滀笟璁板綍", example = "1") + @ExcelColumn(name="鍏宠仈瀵硅薄绫诲瀷 0杞﹁締 1浜哄憳 2璁垮鐢宠璁板綍 3璁垮鎶ュ鐢宠璁板綍 4鏈堝彴浣滀笟璁板綍") + private Integer objType; + + @ApiModelProperty(value = "鍏宠仈瀵硅薄缂栫爜", example = "1") + @ExcelColumn(name="鍏宠仈瀵硅薄缂栫爜") + private Integer objId; + + @ApiModelProperty(value = "杩涘嚭绫诲瀷 0杩� 1鍑�", example = "1") + @ExcelColumn(name="杩涘嚭绫诲瀷 0杩� 1鍑�") + private Integer inOrOut; + + @ApiModelProperty(value = "杩涘嚭璁惧鍚嶇О") + @ExcelColumn(name="杩涘嚭璁惧鍚嶇О") + private String deviceName; + +} diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/HiddenDangerDataVO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/HiddenDangerDataVO.java index dd29a21..045c888 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/HiddenDangerDataVO.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/HiddenDangerDataVO.java @@ -12,9 +12,28 @@ @ApiModelProperty(value = "鎬绘暟") private Integer total; + @ApiModelProperty(value = "寰呭鐞�") + private Integer waitDeal; + + @ApiModelProperty(value = "宸叉暣鏀�") + private Integer dealFinish; + + @ApiModelProperty(value = "宸查��鍥�") + private Integer back; + + @ApiModelProperty(value = "浠婃棩鏂板") + private Integer todayNew; + + @ApiModelProperty(value = "骞村害缁熻 - 12鏉¤褰�") + private List<GeneralDataVO> yearList; + @ApiModelProperty(value = "闅愭偅绫诲瀷缁熻") private List<GeneralDataVO> cateList ; @ApiModelProperty(value = "闅愭偅閮ㄩ棬缁熻") private List<GeneralDataVO> departmentList ; + + @ApiModelProperty(value = "闅愭偅閮ㄩ棬缁熻 - 鎺掑簭") + private List<GeneralDataVO> departmentSortList ; + } diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/InoutRecordService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/InoutRecordService.java new file mode 100644 index 0000000..bd6301b --- /dev/null +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/InoutRecordService.java @@ -0,0 +1,98 @@ +package com.doumee.service.business; + +import com.doumee.dao.business.model.InoutRecord; +import com.doumee.service.business.third.model.PageData; +import com.doumee.service.business.third.model.PageWrap; + +import java.util.List; + +/** + * 鍑哄叆鍦轰汉娆¤溅娆℃瘡鏃ョ粺璁¤〃Service瀹氫箟 + * @author 姹熻箘韫� + * @date 2025/04/28 16:19 + */ +public interface InoutRecordService { + + /** + * 鍒涘缓 + * + * @param inoutRecord 瀹炰綋瀵硅薄 + * @return Integer + */ + Integer create(InoutRecord inoutRecord); + + /** + * 涓婚敭鍒犻櫎 + * + * @param id 涓婚敭 + */ + void deleteById(Integer id); + + /** + * 鍒犻櫎 + * + * @param inoutRecord 瀹炰綋瀵硅薄 + */ + void delete(InoutRecord inoutRecord); + + /** + * 鎵归噺涓婚敭鍒犻櫎 + * + * @param ids 涓婚敭闆� + */ + void deleteByIdInBatch(List<Integer> ids); + + /** + * 涓婚敭鏇存柊 + * + * @param inoutRecord 瀹炰綋瀵硅薄 + */ + void updateById(InoutRecord inoutRecord); + + /** + * 鎵归噺涓婚敭鏇存柊 + * + * @param inoutRecords 瀹炰綋闆� + */ + void updateByIdInBatch(List<InoutRecord> inoutRecords); + + /** + * 涓婚敭鏌ヨ + * + * @param id 涓婚敭 + * @return InoutRecord + */ + InoutRecord findById(Integer id); + + /** + * 鏉′欢鏌ヨ鍗曟潯璁板綍 + * + * @param inoutRecord 瀹炰綋瀵硅薄 + * @return InoutRecord + */ + InoutRecord findOne(InoutRecord inoutRecord); + + /** + * 鏉′欢鏌ヨ + * + * @param inoutRecord 瀹炰綋瀵硅薄 + * @return List<InoutRecord> + */ + List<InoutRecord> findList(InoutRecord inoutRecord); + + /** + * 鍒嗛〉鏌ヨ + * + * @param pageWrap 鍒嗛〉瀵硅薄 + * @return PageData<InoutRecord> + */ + PageData<InoutRecord> findPage(PageWrap<InoutRecord> pageWrap); + + /** + * 鏉′欢缁熻 + * + * @param inoutRecord 瀹炰綋瀵硅薄 + * @return long + */ + long count(InoutRecord inoutRecord); +} diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java index 2b312cf..903d114 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java @@ -793,17 +793,41 @@ @Override public HiddenDangerDataVO hiddenDangerData(HiddenDanger hiddenDanger){ HiddenDangerDataVO hiddenDangerDataVO = new HiddenDangerDataVO(); - List<HiddenDanger> hiddenDangerAllList = hiddenDangerMapper.selectJoinList(HiddenDanger.class, + List<HiddenDanger> hiddenDangerYearList = hiddenDangerMapper.selectJoinList(HiddenDanger.class, new MPJLambdaWrapper<HiddenDanger>() .selectAll(HiddenDanger.class) .selectAs(HiddenDangerParam::getCompanyId, HiddenDanger::getAreaCompanyId) .leftJoin(HiddenDangerParam.class,HiddenDangerParam::getId,HiddenDanger::getAreaId) //闅愭偅鍖哄煙 .eq(HiddenDanger::getIsdeleted,Constants.ZERO) .eq(Objects.nonNull(hiddenDanger.getStatus()),HiddenDanger::getStatus,hiddenDanger.getStatus()) + .apply(" ( DATE_FORMAT(CREATE_DATE, '%Y') = DATE_FORMAT(now(), '%Y') ) ") .ge(Objects.nonNull(hiddenDanger.getQueryStartTime()), HiddenDanger::getCreateDate,hiddenDanger.getQueryStartTime()) .le(Objects.nonNull(hiddenDanger.getQueryEndTime()),HiddenDanger::getCreateDate,hiddenDanger.getQueryEndTime()) ); + List<GeneralDataVO> yearDataList = new ArrayList<>(); + if(CollectionUtils.isEmpty(hiddenDangerYearList)){ + return hiddenDangerDataVO; + } + for (int i = 1; i <=12 ; i++) { + GeneralDataVO generalDataVO = new GeneralDataVO(); + generalDataVO.setName(Integer.toString(i)); + generalDataVO.setTotal(hiddenDangerYearList.stream().filter(j->Constants.equalsInteger(Integer.valueOf(generalDataVO.getName()),Integer.valueOf(DateUtil.formatDate(j.getCreateDate(),"MM")))).collect(Collectors.toList()).size()); + yearDataList.add(generalDataVO); + } + hiddenDangerDataVO.setYearList(yearDataList); + + List<HiddenDanger> hiddenDangerAllList = hiddenDangerYearList.stream().filter(i->DateUtil.formatDate(i.getCreateDate(),"yyyy-MM-dd").equals(DateUtil.formatDate(new Date(),"yyyy-MM-dd"))).collect(Collectors.toList()); + if(CollectionUtils.isEmpty(hiddenDangerAllList)){ + return hiddenDangerDataVO; + } + + hiddenDangerDataVO.setTotal(hiddenDangerAllList.size()); + hiddenDangerDataVO.setWaitDeal(hiddenDangerAllList.stream().filter(i->Constants.equalsInteger(i.getStatus(),Constants.ZERO)).collect(Collectors.toList()).size()); + hiddenDangerDataVO.setBack(hiddenDangerAllList.stream().filter(i->Constants.equalsInteger(i.getStatus(),Constants.TWO)).collect(Collectors.toList()).size()); + hiddenDangerDataVO.setDealFinish(hiddenDangerAllList.stream().filter(i->Constants.equalsInteger(i.getStatus(),Constants.ONE)).collect(Collectors.toList()).size()); + hiddenDangerDataVO.setTodayNew(hiddenDangerAllList.stream().filter(i->DateUtil.formatDate(i.getCreateDate(),"yyyy-MM-dd").equals(DateUtil.formatDate(new Date(),"yyyy-MM-dd"))).collect(Collectors.toList()).size()); + if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(hiddenDangerAllList)){ List<Integer> cateList = hiddenDangerAllList.stream().map(i->i.getCateId()).collect(Collectors.toList()); //鍏ㄩ儴闅愭偅鍒嗙被鏁版嵁 @@ -856,6 +880,17 @@ } hiddenDangerDataVO.setDepartmentList(companyGeneralDataList); } + if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(hiddenDangerDataVO.getDepartmentList())){ + List<GeneralDataVO> topList = hiddenDangerDataVO.getDepartmentList(); + Collections.sort(topList, new Comparator<GeneralDataVO>() { + @Override + public int compare(GeneralDataVO o1, GeneralDataVO o2) { + // 杩斿洖鍊间负int绫诲瀷锛屽ぇ浜�0琛ㄧず姝e簭锛屽皬浜�0琛ㄧず閫嗗簭 + return o2.getTotal() - o1.getTotal(); + } + }); + hiddenDangerDataVO.setDepartmentSortList(topList); + } } return hiddenDangerDataVO; diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/InoutRecordServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/InoutRecordServiceImpl.java new file mode 100644 index 0000000..6179758 --- /dev/null +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/InoutRecordServiceImpl.java @@ -0,0 +1,175 @@ +package com.doumee.service.business.impl; + +import com.doumee.core.utils.Utils; +import com.doumee.dao.business.InoutRecordMapper; +import com.doumee.dao.business.model.InoutRecord; +import com.doumee.service.business.InoutRecordService; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.doumee.service.business.third.model.PageData; +import com.doumee.service.business.third.model.PageWrap; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; + +import java.util.List; + +/** + * 鍑哄叆鍦轰汉娆¤溅娆℃瘡鏃ョ粺璁¤〃Service瀹炵幇 + * @author 姹熻箘韫� + * @date 2025/04/28 16:19 + */ +@Service +public class InoutRecordServiceImpl implements InoutRecordService { + + @Autowired + private InoutRecordMapper inoutRecordMapper; + + @Override + public Integer create(InoutRecord inoutRecord) { + inoutRecordMapper.insert(inoutRecord); + return inoutRecord.getId(); + } + + @Override + public void deleteById(Integer id) { + inoutRecordMapper.deleteById(id); + } + + @Override + public void delete(InoutRecord inoutRecord) { + UpdateWrapper<InoutRecord> deleteWrapper = new UpdateWrapper<>(inoutRecord); + inoutRecordMapper.delete(deleteWrapper); + } + + @Override + public void deleteByIdInBatch(List<Integer> ids) { + if (CollectionUtils.isEmpty(ids)) { + return; + } + inoutRecordMapper.deleteBatchIds(ids); + } + + @Override + public void updateById(InoutRecord inoutRecord) { + inoutRecordMapper.updateById(inoutRecord); + } + + @Override + public void updateByIdInBatch(List<InoutRecord> inoutRecords) { + if (CollectionUtils.isEmpty(inoutRecords)) { + return; + } + for (InoutRecord inoutRecord: inoutRecords) { + this.updateById(inoutRecord); + } + } + + @Override + public InoutRecord findById(Integer id) { + return inoutRecordMapper.selectById(id); + } + + @Override + public InoutRecord findOne(InoutRecord inoutRecord) { + QueryWrapper<InoutRecord> wrapper = new QueryWrapper<>(inoutRecord); + return inoutRecordMapper.selectOne(wrapper); + } + + @Override + public List<InoutRecord> findList(InoutRecord inoutRecord) { + QueryWrapper<InoutRecord> wrapper = new QueryWrapper<>(inoutRecord); + return inoutRecordMapper.selectList(wrapper); + } + + @Override + public PageData<InoutRecord> findPage(PageWrap<InoutRecord> pageWrap) { + IPage<InoutRecord> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); + QueryWrapper<InoutRecord> queryWrapper = new QueryWrapper<>(); + Utils.MP.blankToNull(pageWrap.getModel()); + if (pageWrap.getModel().getId() != null) { + queryWrapper.lambda().eq(InoutRecord::getId, pageWrap.getModel().getId()); + } + if (pageWrap.getModel().getCreator() != null) { + queryWrapper.lambda().eq(InoutRecord::getCreator, pageWrap.getModel().getCreator()); + } + if (pageWrap.getModel().getCreateDate() != null) { + queryWrapper.lambda().ge(InoutRecord::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate())); + queryWrapper.lambda().le(InoutRecord::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate())); + } + if (pageWrap.getModel().getEditor() != null) { + queryWrapper.lambda().eq(InoutRecord::getEditor, pageWrap.getModel().getEditor()); + } + if (pageWrap.getModel().getEditDate() != null) { + queryWrapper.lambda().ge(InoutRecord::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate())); + queryWrapper.lambda().le(InoutRecord::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate())); + } + if (pageWrap.getModel().getIsdeleted() != null) { + queryWrapper.lambda().eq(InoutRecord::getIsdeleted, pageWrap.getModel().getIsdeleted()); + } + if (pageWrap.getModel().getRemark() != null) { + queryWrapper.lambda().eq(InoutRecord::getRemark, pageWrap.getModel().getRemark()); + } + if (pageWrap.getModel().getType() != null) { + queryWrapper.lambda().eq(InoutRecord::getType, pageWrap.getModel().getType()); + } + if (pageWrap.getModel().getHkEventId() != null) { + queryWrapper.lambda().eq(InoutRecord::getHkEventId, pageWrap.getModel().getHkEventId()); + } + if (pageWrap.getModel().getHkId() != null) { + queryWrapper.lambda().eq(InoutRecord::getHkId, pageWrap.getModel().getHkId()); + } + if (pageWrap.getModel().getMemberId() != null) { + queryWrapper.lambda().eq(InoutRecord::getMemberId, pageWrap.getModel().getMemberId()); + } + if (pageWrap.getModel().getCarId() != null) { + queryWrapper.lambda().eq(InoutRecord::getCarId, pageWrap.getModel().getCarId()); + } + if (pageWrap.getModel().getCategoryId() != null) { + queryWrapper.lambda().eq(InoutRecord::getCategoryId, pageWrap.getModel().getCategoryId()); + } + if (pageWrap.getModel().getCategoryName() != null) { + queryWrapper.lambda().eq(InoutRecord::getCategoryName, pageWrap.getModel().getCategoryName()); + } + if (pageWrap.getModel().getCarBizType() != null) { + queryWrapper.lambda().eq(InoutRecord::getCarBizType, pageWrap.getModel().getCarBizType()); + } + if (pageWrap.getModel().getMemberType() != null) { + queryWrapper.lambda().eq(InoutRecord::getMemberType, pageWrap.getModel().getMemberType()); + } + if (pageWrap.getModel().getMemberName() != null) { + queryWrapper.lambda().eq(InoutRecord::getMemberName, pageWrap.getModel().getMemberName()); + } + if (pageWrap.getModel().getCarCode() != null) { + queryWrapper.lambda().eq(InoutRecord::getCarCode, pageWrap.getModel().getCarCode()); + } + if (pageWrap.getModel().getObjType() != null) { + queryWrapper.lambda().eq(InoutRecord::getObjType, pageWrap.getModel().getObjType()); + } + if (pageWrap.getModel().getObjId() != null) { + queryWrapper.lambda().eq(InoutRecord::getObjId, pageWrap.getModel().getObjId()); + } + if (pageWrap.getModel().getInOrOut() != null) { + queryWrapper.lambda().eq(InoutRecord::getInOrOut, pageWrap.getModel().getInOrOut()); + } + if (pageWrap.getModel().getDeviceName() != null) { + queryWrapper.lambda().eq(InoutRecord::getDeviceName, pageWrap.getModel().getDeviceName()); + } + for(PageWrap.SortData sortData: pageWrap.getSorts()) { + if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { + queryWrapper.orderByDesc(sortData.getProperty()); + } else { + queryWrapper.orderByAsc(sortData.getProperty()); + } + } + return PageData.from(inoutRecordMapper.selectPage(page, queryWrapper)); + } + + @Override + public long count(InoutRecord inoutRecord) { + QueryWrapper<InoutRecord> wrapper = new QueryWrapper<>(inoutRecord); + return inoutRecordMapper.selectCount(wrapper); + } +} -- Gitblit v1.9.3