diff --git a/ailanyin-admin/pom.xml b/ailanyin-admin/pom.xml index 02e58ca..bec19fd 100644 --- a/ailanyin-admin/pom.xml +++ b/ailanyin-admin/pom.xml @@ -25,6 +25,11 @@ com.ailanyin ailanyin-security + + com.ailanyin.updatesql + updatesql-spring-boot-starter + 1.0-SNAPSHOT + diff --git a/ailanyin-admin/src/main/java/com/ailanyin/admin/config/SysConfig.java b/ailanyin-admin/src/main/java/com/ailanyin/admin/config/SysConfig.java index 1986bff..c5fea09 100644 --- a/ailanyin-admin/src/main/java/com/ailanyin/admin/config/SysConfig.java +++ b/ailanyin-admin/src/main/java/com/ailanyin/admin/config/SysConfig.java @@ -1,6 +1,9 @@ package com.ailanyin.admin.config; import com.ailanyin.common.model.IdWorker; +import com.ailanyin.common.utils.FileUtil; +import com.ailanyin.common.utils.LinuxUtil; +import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -14,8 +17,16 @@ import org.springframework.context.annotation.Configuration; @Configuration public class SysConfig { + @Value("${spring.application.name}") + private String applicationName; + @Bean public IdWorker idWorker() { return new IdWorker(1,1); } + +/* @Bean + public void createJarService() { + LinuxUtil.createJarService(applicationName, FileUtil.getJarPath()); + }*/ } diff --git a/ailanyin-admin/src/main/java/com/ailanyin/admin/controller/HxBigPicController.java b/ailanyin-admin/src/main/java/com/ailanyin/admin/controller/HxBigPicController.java new file mode 100644 index 0000000..44cb0ea --- /dev/null +++ b/ailanyin-admin/src/main/java/com/ailanyin/admin/controller/HxBigPicController.java @@ -0,0 +1,74 @@ +package com.ailanyin.admin.controller; + +import com.ailanyin.admin.service.HxBigPicService; +import com.ailanyin.common.result.AjaxResult; +import com.ailanyin.common.result.CommonPage; +import com.ailanyin.common.utils.EmptyUtil; +import com.ailanyin.model.HxBigPic; +import com.github.pagehelper.PageHelper; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * @author ailanyin + * @version 1.0 + * @since 2021/12/24 0024 上午 11:14 + */ + +@RestController +@RequestMapping("/hx/bigPic") +@Api(tags = "红峡大图管理") +public class HxBigPicController { + + @Autowired + private HxBigPicService hxBigPicService; + + //@PreAuthorize("hasAuthority('hx:dict:list')") + @GetMapping("/list") + @ApiOperation(value = "红峡大图列表") + public CommonPage list(HxBigPic hxBigPic, + @RequestParam(value = "pageSize", required = false) Integer pageSize, + @RequestParam(value = "pageNum", required = false) Integer pageNum) { + + if (EmptyUtil.isNotEmpty(pageSize) && EmptyUtil.isNotEmpty(pageNum)) { + PageHelper.startPage(pageNum, pageSize); + } + List list = hxBigPicService.selectList(hxBigPic); + return CommonPage.restPage(list); + } + + @GetMapping("/getByType") + @ApiOperation(value = "根据type获取") + public AjaxResult getByType(@RequestParam("type") String type) { + HxBigPic bigPic = hxBigPicService.getByType(type); + return AjaxResult.success(bigPic); + } + + //@PreAuthorize("hasAuthority('hx:dict:add')") + @PostMapping + @ApiOperation(value = "新增红峡大图") + public AjaxResult addHxBigPic(@RequestBody HxBigPic hxBigPic) { + hxBigPicService.addHxBigPic(hxBigPic); + return AjaxResult.success(); + } + + //@PreAuthorize("hasAuthority('hx:dict:update')") + @PutMapping + @ApiOperation(value = "修改红峡大图") + public AjaxResult updateHxBigPic(@RequestBody HxBigPic hxBigPic) { + hxBigPicService.updateHxBigPic(hxBigPic); + return AjaxResult.success(); + } + + //@PreAuthorize("hasAuthority('hx:dict:delete')") + @DeleteMapping + @ApiOperation(value = "删除红峡大图") + public AjaxResult delHxBigPic(@RequestParam(value = "hxBigPicId") Long hxBigPicId) { + hxBigPicService.delHxBigPicById(hxBigPicId); + return AjaxResult.success(); + } +} diff --git a/ailanyin-admin/src/main/java/com/ailanyin/admin/controller/HxCarLocationController.java b/ailanyin-admin/src/main/java/com/ailanyin/admin/controller/HxCarLocationController.java new file mode 100644 index 0000000..f5437c1 --- /dev/null +++ b/ailanyin-admin/src/main/java/com/ailanyin/admin/controller/HxCarLocationController.java @@ -0,0 +1,86 @@ +package com.ailanyin.admin.controller; + +import com.ailanyin.model.HxCarLocation; +import com.ailanyin.admin.service.HxCarLocationService; +import com.ailanyin.common.result.AjaxResult; +import com.ailanyin.common.result.CommonPage; +import com.github.pagehelper.PageHelper; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** +* @author ailanyin +* @version 1.0 +* @since 2022-01-11 01:36:18 +*/ +@RestController +@RequestMapping("/business/hxCarLocation") +@Api(tags = "二期:车辆管理") +public class HxCarLocationController{ + + @Autowired + private HxCarLocationService hxCarLocationService; + + @PostMapping + @ApiOperation(value = "新增('business:hxCarLocation:add')") + //@PreAuthorize("hasAuthority('business:hxCarLocation:add')") + public AjaxResult insertHxCarLocation(@RequestBody HxCarLocation hxCarLocation) { + hxCarLocationService.insertHxCarLocation(hxCarLocation); + return AjaxResult.success(); + } + + @PutMapping + @ApiOperation(value = "修改('business:hxCarLocation:edit')") + //@PreAuthorize("hasAuthority('business:hxCarLocation:edit')") + public AjaxResult updateHxCarLocation(@RequestBody HxCarLocation hxCarLocation) { + hxCarLocationService.updateHxCarLocation(hxCarLocation); + return AjaxResult.success(); + } + + @DeleteMapping("/{ids}") + @ApiOperation(value = "批量删除('business:hxCarLocation:remove')") + //@PreAuthorize("hasAuthority('business:hxCarLocation:remove')") + public AjaxResult deleteByIds(@PathVariable Long[] ids) { + hxCarLocationService.deleteByIds(ids); + return AjaxResult.success(); + } + + @GetMapping("/list") + @ApiOperation(value = "获取列表('business:hxCarLocation:list')") + //@PreAuthorize("hasAuthority('business:hxCarLocation:list')") + public CommonPage list(HxCarLocation hxCarLocation, + @RequestParam(value = "pageSize", defaultValue = "5") Integer pageSize, + @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum) { + PageHelper.startPage(pageNum, pageSize); + List list = hxCarLocationService.getListByParam(hxCarLocation); + return CommonPage.restPage(list); + } + + @GetMapping(value = {"/{id}"}) + @ApiOperation(value = "根据id获取详情('business:hxCarLocation:query')") + //@PreAuthorize("hasAuthority('business:hxCarLocation:query')") + public AjaxResult getInfo(@PathVariable(value = "id", required = false) Long id) { + return AjaxResult.success(hxCarLocationService.getInfo(id)); + } + + @PostMapping(value = {"/bind"}) + @ApiOperation(value = "将车和定位卡绑定") + //@PreAuthorize("hasAuthority('business:hxCarLocation:add')") + public AjaxResult bindCarAndLocation(@RequestBody HxCarLocation hxCarLocation) { + hxCarLocationService.bindCarAndLocation(hxCarLocation); + return AjaxResult.success(); + } + + @PostMapping(value = {"/notBind"}) + @ApiOperation(value = "将车和定位卡取消绑定") + //@PreAuthorize("hasAuthority('business:hxCarLocation:add')") + public AjaxResult notBindCarAndLocation(@RequestBody HxCarLocation hxCarLocation) { + hxCarLocationService.notBindCarAndLocation(hxCarLocation); + return AjaxResult.success(); + } +} diff --git a/ailanyin-admin/src/main/java/com/ailanyin/admin/controller/HxCarLocationLogController.java b/ailanyin-admin/src/main/java/com/ailanyin/admin/controller/HxCarLocationLogController.java new file mode 100644 index 0000000..ce92b3c --- /dev/null +++ b/ailanyin-admin/src/main/java/com/ailanyin/admin/controller/HxCarLocationLogController.java @@ -0,0 +1,54 @@ +package com.ailanyin.admin.controller; + +import com.ailanyin.model.HxCarLocationLog; +import com.ailanyin.admin.service.HxCarLocationLogService; +import com.ailanyin.common.result.AjaxResult; +import com.ailanyin.common.result.CommonPage; +import com.github.pagehelper.PageHelper; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** +* @author ailanyin +* @version 1.0 +* @since 2022-01-15 01:18:04 +*/ +@RestController +@RequestMapping("/business/hxCarLocationLog") +@Api(tags = "二期: 汽车位置记录日志管理") +public class HxCarLocationLogController{ + + @Autowired + private HxCarLocationLogService hxCarLocationLogService; + + @DeleteMapping("/{ids}") + @ApiOperation(value = "批量删除('business:hxCarLocationLog:remove')") + //@PreAuthorize("hasAuthority('business:hxCarLocationLog:remove')") + public AjaxResult deleteByIds(@PathVariable Long[] ids) { + hxCarLocationLogService.deleteByIds(ids); + return AjaxResult.success(); + } + + @GetMapping("/list") + @ApiOperation(value = "获取列表('business:hxCarLocationLog:list')") + //@PreAuthorize("hasAuthority('business:hxCarLocationLog:list')") + public CommonPage list(HxCarLocationLog hxCarLocationLog, + @RequestParam(value = "pageSize", defaultValue = "5") Integer pageSize, + @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum) { + PageHelper.startPage(pageNum, pageSize); + List list = hxCarLocationLogService.getListByParam(hxCarLocationLog); + return CommonPage.restPage(list); + } + + @GetMapping("/bigPic") + @ApiOperation(value = "获取大图数据") + //@PreAuthorize("hasAuthority('business:hxCarLocationLog:list')") + public AjaxResult getBigPicData() { + return AjaxResult.success(hxCarLocationLogService.getBigPicData()); + } +} diff --git a/ailanyin-admin/src/main/java/com/ailanyin/admin/controller/HxCarLocationMapController.java b/ailanyin-admin/src/main/java/com/ailanyin/admin/controller/HxCarLocationMapController.java new file mode 100644 index 0000000..4e94a46 --- /dev/null +++ b/ailanyin-admin/src/main/java/com/ailanyin/admin/controller/HxCarLocationMapController.java @@ -0,0 +1,49 @@ +package com.ailanyin.admin.controller; + +import com.ailanyin.model.HxCarLocationMap; +import com.ailanyin.admin.service.HxCarLocationMapService; +import com.ailanyin.common.result.AjaxResult; +import com.ailanyin.common.result.CommonPage; +import com.github.pagehelper.PageHelper; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** +* @author ailanyin +* @version 1.0 +* @since 2022-01-17 02:12:26 +*/ +@RestController +@RequestMapping("/business/hxCarLocationMap") +@Api(tags = "二期: 车辆定位地图管理") +public class HxCarLocationMapController{ + + @Autowired + private HxCarLocationMapService hxCarLocationMapService; + + + @PutMapping + @ApiOperation(value = "修改('business:hxCarLocationMap:edit')") + //@PreAuthorize("hasAuthority('business:hxCarLocationMap:edit')") + public AjaxResult updateHxCarLocationMap(@RequestBody HxCarLocationMap hxCarLocationMap) { + hxCarLocationMapService.updateHxCarLocationMap(hxCarLocationMap); + return AjaxResult.success(); + } + + @GetMapping("/list") + @ApiOperation(value = "获取列表('business:hxCarLocationMap:list')") + //@PreAuthorize("hasAuthority('business:hxCarLocationMap:list')") + public CommonPage list(HxCarLocationMap hxCarLocationMap, + @RequestParam(value = "pageSize", defaultValue = "5") Integer pageSize, + @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum) { + PageHelper.startPage(pageNum, pageSize); + List list = hxCarLocationMapService.getListByParam(hxCarLocationMap); + return CommonPage.restPage(list); + } + +} diff --git a/ailanyin-admin/src/main/java/com/ailanyin/admin/controller/HxChargeDeliverController.java b/ailanyin-admin/src/main/java/com/ailanyin/admin/controller/HxChargeDeliverController.java new file mode 100644 index 0000000..c743d1d --- /dev/null +++ b/ailanyin-admin/src/main/java/com/ailanyin/admin/controller/HxChargeDeliverController.java @@ -0,0 +1,61 @@ +package com.ailanyin.admin.controller; + +import com.ailanyin.admin.service.HxChargeDeliverService; +import com.ailanyin.common.result.AjaxResult; +import com.ailanyin.common.result.CommonPage; +import com.ailanyin.common.utils.EmptyUtil; +import com.ailanyin.common.utils.ExcelUtil; +import com.ailanyin.model.HxChargeDeliver; +import com.github.pagehelper.PageHelper; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author ailanyin + * @version 1.0 + * @since 2021/12/23 0023 下午 13:18 + */ + +@RestController +@RequestMapping("/hx/chargeDeliver") +@Api(tags = "科研生产:生产管理:生产指标管理") +public class HxChargeDeliverController { + + @Autowired + private HxChargeDeliverService hxChargeDeliverService; + + @GetMapping("/list") + @ApiOperation(value = "红峡装药量和交付量列表") + public CommonPage list(HxChargeDeliver hxChargeDeliver, + @RequestParam(value = "pageSize", required = false) Integer pageSize, + @RequestParam(value = "pageNum", required = false) Integer pageNum) { + + if (EmptyUtil.isNotEmpty(pageSize) && EmptyUtil.isNotEmpty(pageNum)) { + PageHelper.startPage(pageNum, pageSize); + } + List list = hxChargeDeliverService.selectList(hxChargeDeliver); + return CommonPage.restPage(list); + } + + @PostMapping("/importData") + @ApiOperation(value = "导入Excel列表") + //@PreAuthorize("hasAuthority('hx:productCompletion:import')") + public AjaxResult importData(MultipartFile file) throws Exception { + List list = ExcelUtil.importExcel(file, HxChargeDeliver.class); + hxChargeDeliverService.importData(list); + return AjaxResult.success(); + } + + @GetMapping("/importTemplate") + @ApiOperation(value = "导出模板") + //@PreAuthorize("hasAuthority('system:user:import')") + public AjaxResult importTemplate() throws Exception { + return AjaxResult.success(ExcelUtil.exportExcel(new ArrayList<>(), "装药量和交付量表", "装药量和交付量", HxChargeDeliver.class, "装药量和交付量")); + } +} diff --git a/ailanyin-admin/src/main/java/com/ailanyin/admin/controller/HxCockpitOverviewController.java b/ailanyin-admin/src/main/java/com/ailanyin/admin/controller/HxCockpitOverviewController.java index 9673fef..c2d8104 100644 --- a/ailanyin-admin/src/main/java/com/ailanyin/admin/controller/HxCockpitOverviewController.java +++ b/ailanyin-admin/src/main/java/com/ailanyin/admin/controller/HxCockpitOverviewController.java @@ -11,8 +11,11 @@ import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; +import oshi.hardware.platform.mac.MacPowerSource; +import java.util.HashMap; import java.util.List; +import java.util.Map; /** * @author ailanyin @@ -37,6 +40,8 @@ public class HxCockpitOverviewController { private HxAnnualTargetService hxAnnualTargetService; @Autowired private HxRevenueProfitService hxRevenueProfitService; + @Autowired + private HxMonthDynamicService hxMonthDynamicService; @GetMapping("/chargeQuantityList") @ApiOperation(value = "装药量概况") @@ -48,10 +53,16 @@ public class HxCockpitOverviewController { @GetMapping("/todayDynamics") @ApiOperation(value = "今日动态") public AjaxResult todayDynamics() { + Map map = new HashMap(2); HxTodayDynamic dynamic = new HxTodayDynamic(); dynamic.setTodayDate(DateUtil.getDate("yyyy-MM-dd")); List list = hxTodayDynamicService.selectHxTodayDynamicList(dynamic); - return AjaxResult.success(list); + HxMonthDynamic hxMonthDynamic = new HxMonthDynamic(); + hxMonthDynamic.setMonth(DateUtil.getDate("yyyy-MM")); + List list1 = hxMonthDynamicService.getListByParam(hxMonthDynamic); + map.put("month",list1.size() > 0 ? list1.get(0):new HxMonthDynamic()); + map.put("today",list.size() > 0 ? list.get(0):new HxTodayDynamic()); + return AjaxResult.success(map); } @GetMapping("/productCompletion") diff --git a/ailanyin-admin/src/main/java/com/ailanyin/admin/controller/HxJobDetailsController.java b/ailanyin-admin/src/main/java/com/ailanyin/admin/controller/HxJobDetailsController.java new file mode 100644 index 0000000..5d5a081 --- /dev/null +++ b/ailanyin-admin/src/main/java/com/ailanyin/admin/controller/HxJobDetailsController.java @@ -0,0 +1,61 @@ +package com.ailanyin.admin.controller; + +import com.ailanyin.admin.service.HxJobDetailsService; +import com.ailanyin.common.result.AjaxResult; +import com.ailanyin.common.result.CommonPage; +import com.ailanyin.common.utils.EmptyUtil; +import com.ailanyin.common.utils.ExcelUtil; +import com.ailanyin.model.HxJobDetails; +import com.github.pagehelper.PageHelper; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author ailanyin + * @version 1.0 + * @since 2021/12/23 0023 下午 19:10 + */ + +@RestController +@RequestMapping("/hx/jobDetails") +@Api(tags = "科研生产:作业动态:全厂作业明细管理") +public class HxJobDetailsController { + + @Autowired + private HxJobDetailsService hxJobDetailsService; + + @GetMapping("/list") + @ApiOperation(value = "红峡全厂作业明细列表") + public CommonPage list(HxJobDetails hxJobDetails, + @RequestParam(value = "pageSize", required = false) Integer pageSize, + @RequestParam(value = "pageNum", required = false) Integer pageNum) { + + if (EmptyUtil.isNotEmpty(pageSize) && EmptyUtil.isNotEmpty(pageNum)) { + PageHelper.startPage(pageNum, pageSize); + } + List list = hxJobDetailsService.selectList(hxJobDetails); + return CommonPage.restPage(list); + } + + @PostMapping("/importData") + @ApiOperation(value = "导入Excel列表") + //@PreAuthorize("hasAuthority('hx:productCompletion:import')") + public AjaxResult importData(MultipartFile file) throws Exception { + List list = ExcelUtil.importExcel(file, HxJobDetails.class); + hxJobDetailsService.importData(list); + return AjaxResult.success(); + } + + @GetMapping("/importTemplate") + @ApiOperation(value = "导出模板") + //@PreAuthorize("hasAuthority('system:user:import')") + public AjaxResult importTemplate() throws Exception { + return AjaxResult.success(ExcelUtil.exportExcel(new ArrayList<>(), "全厂作业明细表", "全厂作业明细", HxJobDetails.class, "全厂作业明细")); + } +} diff --git a/ailanyin-admin/src/main/java/com/ailanyin/admin/controller/HxMonthDynamicController.java b/ailanyin-admin/src/main/java/com/ailanyin/admin/controller/HxMonthDynamicController.java new file mode 100644 index 0000000..c75c538 --- /dev/null +++ b/ailanyin-admin/src/main/java/com/ailanyin/admin/controller/HxMonthDynamicController.java @@ -0,0 +1,59 @@ +package com.ailanyin.admin.controller; + +import com.ailanyin.common.utils.ExcelUtil; +import com.ailanyin.model.HxMonthDynamic; +import com.ailanyin.admin.service.HxMonthDynamicService; +import com.ailanyin.common.result.AjaxResult; +import com.ailanyin.common.result.CommonPage; +import com.ailanyin.model.HxMonthPlan; +import com.github.pagehelper.PageHelper; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import java.util.ArrayList; +import java.util.List; + +/** +* @author ailanyin +* @version 1.0 +* @since 2022-01-19 04:55:46 +*/ +@RestController +@RequestMapping("/business/hxMonthDynamic") +@Api(tags = "本月动态管理") +public class HxMonthDynamicController{ + + @Autowired + private HxMonthDynamicService hxMonthDynamicService; + + @GetMapping("/list") + @ApiOperation(value = "获取列表('business:hxMonthDynamic:list')") + //@PreAuthorize("hasAuthority('business:hxMonthDynamic:list')") + public CommonPage list(HxMonthDynamic hxMonthDynamic, + @RequestParam(value = "pageSize", defaultValue = "5") Integer pageSize, + @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum) { + PageHelper.startPage(pageNum, pageSize); + List list = hxMonthDynamicService.getListByParam(hxMonthDynamic); + return CommonPage.restPage(list); + } + + @PostMapping("/importData") + @ApiOperation(value = "导入Excel列表") + //@PreAuthorize("hasAuthority('hx:productCompletion:import')") + public AjaxResult importData(MultipartFile file) throws Exception { + List list = ExcelUtil.importExcel(file, HxMonthDynamic.class); + hxMonthDynamicService.importData(list); + return AjaxResult.success(); + } + + @GetMapping("/importTemplate") + @ApiOperation(value = "导出模板") + //@PreAuthorize("hasAuthority('system:user:import')") + public AjaxResult importTemplate() throws Exception { + return AjaxResult.success(ExcelUtil.exportExcel(new ArrayList<>(), "本月动态表(新数据覆盖旧数据)", "本月动态", HxMonthDynamic.class, "本月动态")); + } +} diff --git a/ailanyin-admin/src/main/java/com/ailanyin/admin/controller/HxMonthFactoryPlanController.java b/ailanyin-admin/src/main/java/com/ailanyin/admin/controller/HxMonthFactoryPlanController.java new file mode 100644 index 0000000..58ef36a --- /dev/null +++ b/ailanyin-admin/src/main/java/com/ailanyin/admin/controller/HxMonthFactoryPlanController.java @@ -0,0 +1,61 @@ +package com.ailanyin.admin.controller; + +import com.ailanyin.admin.service.HxMonthFactoryPlanService; +import com.ailanyin.common.result.AjaxResult; +import com.ailanyin.common.result.CommonPage; +import com.ailanyin.common.utils.EmptyUtil; +import com.ailanyin.common.utils.ExcelUtil; +import com.ailanyin.model.HxMonthFactoryPlan; +import com.github.pagehelper.PageHelper; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author ailanyin + * @version 1.0 + * @since 2021/12/22 0022 下午 16:31 + */ + +@RestController +@RequestMapping("/hx/monthFactoryPlan") +@Api(tags = "科研生产:生产管理:工厂计划管理") +public class HxMonthFactoryPlanController { + + @Autowired + private HxMonthFactoryPlanService hxMonthFactoryPlanService; + + @GetMapping("/list") + @ApiOperation(value = "红峡工厂计划列表") + public CommonPage list(HxMonthFactoryPlan hxMonthFactoryPlan, + @RequestParam(value = "pageSize", required = false) Integer pageSize, + @RequestParam(value = "pageNum", required = false) Integer pageNum) { + + if (EmptyUtil.isNotEmpty(pageSize) && EmptyUtil.isNotEmpty(pageNum)) { + PageHelper.startPage(pageNum, pageSize); + } + List list = hxMonthFactoryPlanService.selectList(hxMonthFactoryPlan); + return CommonPage.restPage(list); + } + + @PostMapping("/importData") + @ApiOperation(value = "导入Excel列表") + //@PreAuthorize("hasAuthority('hx:productCompletion:import')") + public AjaxResult importData(MultipartFile file) throws Exception { + List list = ExcelUtil.importExcel(file, HxMonthFactoryPlan.class); + hxMonthFactoryPlanService.importData(list); + return AjaxResult.success(); + } + + @GetMapping("/importTemplate") + @ApiOperation(value = "导出模板") + //@PreAuthorize("hasAuthority('system:user:import')") + public AjaxResult importTemplate() throws Exception { + return AjaxResult.success(ExcelUtil.exportExcel(new ArrayList<>(), "工厂计划表", "工厂计划", HxMonthFactoryPlan.class, "工厂计划")); + } +} diff --git a/ailanyin-admin/src/main/java/com/ailanyin/admin/controller/HxMonthPlanController.java b/ailanyin-admin/src/main/java/com/ailanyin/admin/controller/HxMonthPlanController.java new file mode 100644 index 0000000..9f4ec43 --- /dev/null +++ b/ailanyin-admin/src/main/java/com/ailanyin/admin/controller/HxMonthPlanController.java @@ -0,0 +1,61 @@ +package com.ailanyin.admin.controller; + +import com.ailanyin.admin.service.HxMonthPlanService; +import com.ailanyin.common.result.AjaxResult; +import com.ailanyin.common.result.CommonPage; +import com.ailanyin.common.utils.EmptyUtil; +import com.ailanyin.common.utils.ExcelUtil; +import com.ailanyin.model.HxMonthPlan; +import com.github.pagehelper.PageHelper; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author ailanyin + * @version 1.0 + * @since 2021/12/22 0022 下午 15:43 + */ + +@RestController +@RequestMapping("/hx/monthPlan") +@Api(tags = "科研生产:生产管理:本月计划执行情况管理") +public class HxMonthPlanController { + + @Autowired + private HxMonthPlanService hxMonthPlanService; + + @GetMapping("/list") + @ApiOperation(value = "红峡本月计划执行情况列表") + public CommonPage list(HxMonthPlan hxMonthPlan, + @RequestParam(value = "pageSize", required = false) Integer pageSize, + @RequestParam(value = "pageNum", required = false) Integer pageNum) { + + if (EmptyUtil.isNotEmpty(pageSize) && EmptyUtil.isNotEmpty(pageNum)) { + PageHelper.startPage(pageNum, pageSize); + } + List list = hxMonthPlanService.selectList(hxMonthPlan); + return CommonPage.restPage(list); + } + + @PostMapping("/importData") + @ApiOperation(value = "导入Excel列表") + //@PreAuthorize("hasAuthority('hx:productCompletion:import')") + public AjaxResult importData(MultipartFile file) throws Exception { + List list = ExcelUtil.importExcel(file, HxMonthPlan.class); + hxMonthPlanService.importData(list); + return AjaxResult.success(); + } + + @GetMapping("/importTemplate") + @ApiOperation(value = "导出模板") + //@PreAuthorize("hasAuthority('system:user:import')") + public AjaxResult importTemplate() throws Exception { + return AjaxResult.success(ExcelUtil.exportExcel(new ArrayList<>(), "月计划执行情况表", "月计划执行情况", HxMonthPlan.class, "月计划执行情况")); + } +} diff --git a/ailanyin-admin/src/main/java/com/ailanyin/admin/controller/HxOperatingManagementController.java b/ailanyin-admin/src/main/java/com/ailanyin/admin/controller/HxOperatingManagementController.java index a51acf4..923a3c6 100644 --- a/ailanyin-admin/src/main/java/com/ailanyin/admin/controller/HxOperatingManagementController.java +++ b/ailanyin-admin/src/main/java/com/ailanyin/admin/controller/HxOperatingManagementController.java @@ -66,7 +66,7 @@ public class HxOperatingManagementController { @GetMapping("/getComprehensivePlanPic") @ApiOperation(value = "综合计划/绩效计划(type=1完成率/2=明细)") public AjaxResult getComprehensivePlanPic(@RequestParam("type") String type, - @RequestParam("month") String month) { + @RequestParam(value = "month",required = false) String month) { return AjaxResult.success(hxComprehensivePlanService.getComprehensivePlanPic(type,month)); } @@ -95,7 +95,7 @@ public class HxOperatingManagementController { } @GetMapping("/getDeptOperateIndexPic") - @ApiOperation(value = "部门经营指标完成率(type=1全年/2=月度)") + @ApiOperation(value = "部门经营指标完成率(type=1月度/2=全年)") public AjaxResult getDeptOperateIndexPic(@RequestParam("type") String type, @RequestParam(value = "month",required = false) String month) { return AjaxResult.success(hxDeptOperateIndexService.getDeptOperateIndexPic(type,month)); diff --git a/ailanyin-admin/src/main/java/com/ailanyin/admin/controller/HxProductionIndexController.java b/ailanyin-admin/src/main/java/com/ailanyin/admin/controller/HxProductionIndexController.java new file mode 100644 index 0000000..7a53997 --- /dev/null +++ b/ailanyin-admin/src/main/java/com/ailanyin/admin/controller/HxProductionIndexController.java @@ -0,0 +1,61 @@ +package com.ailanyin.admin.controller; + +import com.ailanyin.admin.service.HxProductionIndexService; +import com.ailanyin.common.result.AjaxResult; +import com.ailanyin.common.result.CommonPage; +import com.ailanyin.common.utils.EmptyUtil; +import com.ailanyin.common.utils.ExcelUtil; +import com.ailanyin.model.HxProductionIndex; +import com.github.pagehelper.PageHelper; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author ailanyin + * @version 1.0 + * @since 2021/12/23 0023 下午 14:05 + */ + +@RestController +@RequestMapping("/hx/productionIndex") +@Api(tags = "科研生产:生产管理:年生产指标管理") +public class HxProductionIndexController { + + @Autowired + private HxProductionIndexService hxProductionIndexService; + + @GetMapping("/list") + @ApiOperation(value = "红峡年指标累计和目标列表") + public CommonPage list(HxProductionIndex hxProductionIndex, + @RequestParam(value = "pageSize", required = false) Integer pageSize, + @RequestParam(value = "pageNum", required = false) Integer pageNum) { + + if (EmptyUtil.isNotEmpty(pageSize) && EmptyUtil.isNotEmpty(pageNum)) { + PageHelper.startPage(pageNum, pageSize); + } + List list = hxProductionIndexService.selectList(hxProductionIndex); + return CommonPage.restPage(list); + } + + @PostMapping("/importData") + @ApiOperation(value = "导入Excel列表") + //@PreAuthorize("hasAuthority('hx:productCompletion:import')") + public AjaxResult importData(MultipartFile file) throws Exception { + List list = ExcelUtil.importExcel(file, HxProductionIndex.class); + hxProductionIndexService.importData(list); + return AjaxResult.success(); + } + + @GetMapping("/importTemplate") + @ApiOperation(value = "导出模板") + //@PreAuthorize("hasAuthority('system:user:import')") + public AjaxResult importTemplate() throws Exception { + return AjaxResult.success(ExcelUtil.exportExcel(new ArrayList<>(), "年指标累计和目标表", "年指标累计和目标", HxProductionIndex.class, "年指标累计和目标")); + } +} diff --git a/ailanyin-admin/src/main/java/com/ailanyin/admin/controller/HxReaderInfoController.java b/ailanyin-admin/src/main/java/com/ailanyin/admin/controller/HxReaderInfoController.java new file mode 100644 index 0000000..cb56e16 --- /dev/null +++ b/ailanyin-admin/src/main/java/com/ailanyin/admin/controller/HxReaderInfoController.java @@ -0,0 +1,70 @@ +package com.ailanyin.admin.controller; + +import com.ailanyin.model.HxReaderInfo; +import com.ailanyin.admin.service.HxReaderInfoService; +import com.ailanyin.common.result.AjaxResult; +import com.ailanyin.common.result.CommonPage; +import com.github.pagehelper.PageHelper; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** +* @author ailanyin +* @version 1.0 +* @since 2022-01-15 08:59:27 +*/ +@RestController +@RequestMapping("/business/hxReaderInfo") +@Api(tags = "二期: 读卡器管理") +public class HxReaderInfoController{ + + @Autowired + private HxReaderInfoService hxReaderInfoService; + + @PostMapping + @ApiOperation(value = "新增('business:hxReaderInfo:add')") + //@PreAuthorize("hasAuthority('business:hxReaderInfo:add')") + public AjaxResult insertHxReaderInfo(@RequestBody HxReaderInfo hxReaderInfo) { + hxReaderInfoService.insertHxReaderInfo(hxReaderInfo); + return AjaxResult.success(); + } + + @PutMapping + @ApiOperation(value = "修改('business:hxReaderInfo:edit')") + //@PreAuthorize("hasAuthority('business:hxReaderInfo:edit')") + public AjaxResult updateHxReaderInfo(@RequestBody HxReaderInfo hxReaderInfo) { + hxReaderInfoService.updateHxReaderInfo(hxReaderInfo); + return AjaxResult.success(); + } + + @DeleteMapping("/{ids}") + @ApiOperation(value = "批量删除('business:hxReaderInfo:remove')") + //@PreAuthorize("hasAuthority('business:hxReaderInfo:remove')") + public AjaxResult deleteByIds(@PathVariable Long[] ids) { + hxReaderInfoService.deleteByIds(ids); + return AjaxResult.success(); + } + + @GetMapping("/list") + @ApiOperation(value = "获取列表('business:hxReaderInfo:list')") + //@PreAuthorize("hasAuthority('business:hxReaderInfo:list')") + public CommonPage list(HxReaderInfo hxReaderInfo, + @RequestParam(value = "pageSize", defaultValue = "5") Integer pageSize, + @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum) { + PageHelper.startPage(pageNum, pageSize); + List list = hxReaderInfoService.getListByParam(hxReaderInfo); + return CommonPage.restPage(list); + } + + @GetMapping(value = {"/{id}"}) + @ApiOperation(value = "根据id获取详情('business:hxReaderInfo:query')") + //@PreAuthorize("hasAuthority('business:hxReaderInfo:query')") + public AjaxResult getInfo(@PathVariable(value = "id", required = false) Long id) { + return AjaxResult.success(hxReaderInfoService.getInfo(id)); + } +} diff --git a/ailanyin-admin/src/main/java/com/ailanyin/admin/controller/HxScientificProductionController.java b/ailanyin-admin/src/main/java/com/ailanyin/admin/controller/HxScientificProductionController.java index 1ac0b1c..275ede6 100644 --- a/ailanyin-admin/src/main/java/com/ailanyin/admin/controller/HxScientificProductionController.java +++ b/ailanyin-admin/src/main/java/com/ailanyin/admin/controller/HxScientificProductionController.java @@ -3,10 +3,8 @@ package com.ailanyin.admin.controller; import com.ailanyin.admin.service.*; import com.ailanyin.common.result.AjaxResult; import com.ailanyin.common.utils.DateUtil; -import com.ailanyin.model.HxDispatchMeeting; -import com.ailanyin.model.HxMaterialPlan; -import com.ailanyin.model.HxModelYearPlan; -import com.ailanyin.model.HxTeamAttendance; +import com.ailanyin.common.utils.EmptyUtil; +import com.ailanyin.model.*; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; @@ -54,7 +52,22 @@ public class HxScientificProductionController { private HxDispatchMeetingService hxDispatchMeetingService; @Autowired private HxTeamAttendanceService hxTeamAttendanceService; - + @Autowired + private HxYearDutyService hxYearDutyService; + @Autowired + private HxMonthPlanService hxMonthPlanService; + @Autowired + private HxMonthFactoryPlanService hxMonthFactoryPlanService; + @Autowired + private HxMaterialsAccessoriesService hxMaterialsAccessoriesService; + @Autowired + private HxProductionIndexService hxProductionIndexService; + @Autowired + private HxProductionSituationService hxProductionSituationService; + @Autowired + private HxJobDetailsService hxJobDetailsService; + @Autowired + private HxWorkHomeInfoService hxWorkHomeInfoService; @GetMapping("/getHxFactoryResourcesPic") @ApiOperation(value = "作业动态-全厂资源动态") @@ -80,6 +93,18 @@ public class HxScientificProductionController { return AjaxResult.success(hxWeekPlanService.getHxWeekPlanUsePic()); } + @GetMapping("/getHxJobDetailsPic") + @ApiOperation(value = "作业动态-全厂作业明细") + public AjaxResult getHxJobDetailsPic() { + return AjaxResult.success(hxJobDetailsService.selectList(new HxJobDetails())); + } + + @GetMapping("/getHxWorkHomePic") + @ApiOperation(value = "作业动态-中间工房") + public AjaxResult getHxWorkHomePic() { + return AjaxResult.success(hxWorkHomeInfoService.getHxWorkHomePic()); + } + @GetMapping("/getHxEsterProductionPic") @ApiOperation(value = "作业动态-酯生产量") public AjaxResult getHxEsterProductionPic() { @@ -92,6 +117,47 @@ public class HxScientificProductionController { return AjaxResult.success(hxChargeJobContentService.getChargeJobContentPic()); } + @GetMapping("/getYearDutyPic") + @ApiOperation(value = "生产管理-生产责任令") + public AjaxResult getYearDutyPic() { + HxYearDuty hxYearDuty = new HxYearDuty(); + hxYearDuty.setYear(DateUtil.getNowYear().toString()); + return AjaxResult.success(hxYearDutyService.selectList(hxYearDuty)); + } + + @GetMapping("/getProductionIndexPic") + @ApiOperation(value = "生产管理-中间上方生产指标") + public AjaxResult getProductionIndexPic() { + return AjaxResult.success(hxProductionIndexService.getProductionIndexPic()); + } + + @GetMapping("/getProductionSituationPic") + @ApiOperation(value = "生产管理-生产情况分析") + public AjaxResult getProductionSituationPic() { + return AjaxResult.success(hxProductionSituationService.selectList(new HxProductionSituation())); + } + + @GetMapping("/getMonthPlanPic") + @ApiOperation(value = "生产管理-本月计划执行情况-type=厂计划/六院计划") + public AjaxResult getMonthPlanPic(@RequestParam(value = "type")String type) { + HxMonthPlan plan = new HxMonthPlan(); + plan.setMonth(DateUtil.getDate("yyyy-MM")); + plan.setAscription(type); + return AjaxResult.success(hxMonthPlanService.selectList(plan)); + } + + @GetMapping("/getMonthFactoryPlanPic") + @ApiOperation(value = "生产管理-工厂计划") + public AjaxResult getMonthFactoryPlanPic(@RequestParam(value = "month",required = false)String month) { + HxMonthFactoryPlan plan = new HxMonthFactoryPlan(); + if (EmptyUtil.isNotEmpty(month)) { + plan.setMonth(DateUtil.getDate(month)); + } else { + plan.setMonth(DateUtil.getDate("yyyy-MM")); + } + return AjaxResult.success(hxMonthFactoryPlanService.selectList(plan)); + } + @GetMapping("/getMilepostAndBottleneckPic") @ApiOperation(value = "生产管理-里程碑和瓶颈") public AjaxResult getMilepostAndBottleneckPic(@RequestParam(value = "projectName",required = false)String projectName) { @@ -122,6 +188,12 @@ public class HxScientificProductionController { return AjaxResult.success(hxProductPicService.getInfo()); } + @GetMapping("/getMaterialsAccessoriesPic") + @ApiOperation(value = "项目管理-型号原材料及配套件") + public AjaxResult getMaterialsAccessoriesPic(@RequestParam("type")String type) { + return AjaxResult.success(hxMaterialsAccessoriesService.getMaterialsAccessoriesPic(type)); + } + @GetMapping("/getStorehousePic") @ApiOperation(value = "项目管理-库房信息") public AjaxResult getStorehousePic() { diff --git a/ailanyin-admin/src/main/java/com/ailanyin/admin/controller/HxSecurityManagementController.java b/ailanyin-admin/src/main/java/com/ailanyin/admin/controller/HxSecurityManagementController.java index 360130b..1a06d6f 100644 --- a/ailanyin-admin/src/main/java/com/ailanyin/admin/controller/HxSecurityManagementController.java +++ b/ailanyin-admin/src/main/java/com/ailanyin/admin/controller/HxSecurityManagementController.java @@ -32,6 +32,8 @@ public class HxSecurityManagementController { private HxHiddenDangerService hxHiddenDangerService; @Autowired private HxDangerousPlaceService hxDangerousPlaceService; + @Autowired + private HxVideoService hxVideoService; @GetMapping("/dangerSource") @ApiOperation(value = "重点危险源部门分布") @@ -54,6 +56,13 @@ public class HxSecurityManagementController { return AjaxResult.success(dangerousWorkService.getDangerousWorkBigPic(type)); } + @GetMapping("/getVideoByType") + @ApiOperation(value = "视频 type=1奖惩播报/=2典型案例") + //@PreAuthorize("hasAuthority('system:user:import')") + public AjaxResult getVideoByType(@RequestParam(value = "type") String type) { + return AjaxResult.success(hxVideoService.getVideoByType(type)); + } + @GetMapping("/hiddenDanger/1") @ApiOperation(value = "安全隐患内容列表图 type=1车间/=2总厂") //@PreAuthorize("hasAuthority('system:user:import')") diff --git a/ailanyin-admin/src/main/java/com/ailanyin/admin/controller/HxSpcProductController.java b/ailanyin-admin/src/main/java/com/ailanyin/admin/controller/HxSpcProductController.java new file mode 100644 index 0000000..6d758e2 --- /dev/null +++ b/ailanyin-admin/src/main/java/com/ailanyin/admin/controller/HxSpcProductController.java @@ -0,0 +1,61 @@ +package com.ailanyin.admin.controller; + +import com.ailanyin.admin.service.HxSpcProductService; +import com.ailanyin.common.result.AjaxResult; +import com.ailanyin.common.result.CommonPage; +import com.ailanyin.common.utils.EmptyUtil; +import com.ailanyin.common.utils.ExcelUtil; +import com.ailanyin.model.HxSpcProduct; +import com.github.pagehelper.PageHelper; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author ailanyin + * @version 1.0 + * @since 2021/12/23 0023 上午 9:41 + */ + +@RestController +@RequestMapping("/hx/spcProduct") +@Api(tags = "产品实际SPC值管理") +public class HxSpcProductController { + + @Autowired + private HxSpcProductService hxSpcProductService; + + @GetMapping("/list") + @ApiOperation(value = "红峡产品实际SPC列表") + public CommonPage list(HxSpcProduct hxSpcProduct, + @RequestParam(value = "pageSize", required = false) Integer pageSize, + @RequestParam(value = "pageNum", required = false) Integer pageNum) { + + if (EmptyUtil.isNotEmpty(pageSize) && EmptyUtil.isNotEmpty(pageNum)) { + PageHelper.startPage(pageNum, pageSize); + } + List list = hxSpcProductService.selectList(hxSpcProduct); + return CommonPage.restPage(list); + } + + @PostMapping("/importData") + @ApiOperation(value = "导入Excel列表") + //@PreAuthorize("hasAuthority('hx:productCompletion:import')") + public AjaxResult importData(MultipartFile file) throws Exception { + List list = ExcelUtil.importExcel(file, HxSpcProduct.class); + hxSpcProductService.importData(list); + return AjaxResult.success(); + } + + @GetMapping("/importTemplate") + @ApiOperation(value = "导出模板") + //@PreAuthorize("hasAuthority('system:user:import')") + public AjaxResult importTemplate() throws Exception { + return AjaxResult.success(ExcelUtil.exportExcel(new ArrayList<>(), "产品实际SPC表", "产品实际SPC", HxSpcProduct.class, "产品实际SPC")); + } +} diff --git a/ailanyin-admin/src/main/java/com/ailanyin/admin/controller/HxStockDetailedController.java b/ailanyin-admin/src/main/java/com/ailanyin/admin/controller/HxStockDetailedController.java new file mode 100644 index 0000000..bb2e491 --- /dev/null +++ b/ailanyin-admin/src/main/java/com/ailanyin/admin/controller/HxStockDetailedController.java @@ -0,0 +1,62 @@ +package com.ailanyin.admin.controller; + +import com.ailanyin.admin.service.HxStockDetailedService; +import com.ailanyin.common.result.AjaxResult; +import com.ailanyin.common.result.CommonPage; +import com.ailanyin.common.utils.EmptyUtil; +import com.ailanyin.common.utils.ExcelUtil; +import com.ailanyin.model.HxStockDetailed; +import com.github.pagehelper.PageHelper; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author ailanyin + * @version 1.0 + * @since 2021/12/22 0022 下午 17:16 + */ + +@RestController +@RequestMapping("/hx/stockDetailed") +@Api(tags = "科研生产:项目管理:原材料和配套件库存管理") +public class HxStockDetailedController { + + @Autowired + private HxStockDetailedService hxStockDetailedService; + + @GetMapping("/list") + @ApiOperation(value = "红峡原材料和配套件库存列表") + public CommonPage list(HxStockDetailed hxStockDetailed, + @RequestParam(value = "pageSize", required = false) Integer pageSize, + @RequestParam(value = "pageNum", required = false) Integer pageNum) { + + if (EmptyUtil.isNotEmpty(pageSize) && EmptyUtil.isNotEmpty(pageNum)) { + PageHelper.startPage(pageNum, pageSize); + } + List list = hxStockDetailedService.selectList(hxStockDetailed); + return CommonPage.restPage(list); + } + + @PostMapping("/importData") + @ApiOperation(value = "导入Excel列表") + //@PreAuthorize("hasAuthority('hx:productCompletion:import')") + public AjaxResult importData(MultipartFile file) throws Exception { + List list = ExcelUtil.importExcel(file, HxStockDetailed.class); + hxStockDetailedService.importData(list); + return AjaxResult.success(); + } + + @GetMapping("/importTemplate") + @ApiOperation(value = "导出模板") + //@PreAuthorize("hasAuthority('system:user:import')") + public AjaxResult importTemplate() throws Exception { + return AjaxResult.success(ExcelUtil.exportExcel(new ArrayList<>(), "原材料和配套件库存表", "原材料和配套件库存", HxStockDetailed.class, "原材料和配套件库存")); + } + +} diff --git a/ailanyin-admin/src/main/java/com/ailanyin/admin/controller/HxVideoController.java b/ailanyin-admin/src/main/java/com/ailanyin/admin/controller/HxVideoController.java new file mode 100644 index 0000000..6bf004b --- /dev/null +++ b/ailanyin-admin/src/main/java/com/ailanyin/admin/controller/HxVideoController.java @@ -0,0 +1,67 @@ +package com.ailanyin.admin.controller; + +import com.ailanyin.admin.service.HxVideoService; +import com.ailanyin.common.result.AjaxResult; +import com.ailanyin.common.result.CommonPage; +import com.ailanyin.common.utils.EmptyUtil; +import com.ailanyin.model.HxVideo; +import com.github.pagehelper.PageHelper; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * @author ailanyin + * @version 1.0 + * @since 2021/12/23 0023 下午 15:16 + */ + +@RestController +@RequestMapping("/hx/video") +@Api(tags = "红峡视频管理") +public class HxVideoController { + + @Autowired + private HxVideoService hxVideoService; + + //@PreAuthorize("hasAuthority('hx:dict:list')") + @GetMapping("/list") + @ApiOperation(value = "红峡视频列表") + public CommonPage list(HxVideo hxVideo, + @RequestParam(value = "pageSize", required = false) Integer pageSize, + @RequestParam(value = "pageNum", required = false) Integer pageNum) { + + if (EmptyUtil.isNotEmpty(pageSize) && EmptyUtil.isNotEmpty(pageNum)) { + PageHelper.startPage(pageNum, pageSize); + } + List list = hxVideoService.selectList(hxVideo); + return CommonPage.restPage(list); + } + + //@PreAuthorize("hasAuthority('hx:dict:add')") + @PostMapping + @ApiOperation(value = "新增红峡视频") + public AjaxResult addHxVideo(@RequestBody HxVideo hxVideo) { + hxVideoService.addHxVideo(hxVideo); + return AjaxResult.success(); + } + + //@PreAuthorize("hasAuthority('hx:dict:update')") + @PutMapping + @ApiOperation(value = "修改红峡视频") + public AjaxResult updateHxVideo(@RequestBody HxVideo hxVideo) { + hxVideoService.updateHxVideo(hxVideo); + return AjaxResult.success(); + } + + //@PreAuthorize("hasAuthority('hx:dict:delete')") + @DeleteMapping + @ApiOperation(value = "删除红峡视频") + public AjaxResult delHxVideo(@RequestParam(value = "hxVideoId") Long hxVideoId) { + hxVideoService.delHxVideoById(hxVideoId); + return AjaxResult.success(); + } +} diff --git a/ailanyin-admin/src/main/java/com/ailanyin/admin/controller/HxWorkHomeInfoController.java b/ailanyin-admin/src/main/java/com/ailanyin/admin/controller/HxWorkHomeInfoController.java new file mode 100644 index 0000000..7e112d3 --- /dev/null +++ b/ailanyin-admin/src/main/java/com/ailanyin/admin/controller/HxWorkHomeInfoController.java @@ -0,0 +1,61 @@ +package com.ailanyin.admin.controller; + +import com.ailanyin.admin.service.HxWorkHomeInfoService; +import com.ailanyin.common.result.AjaxResult; +import com.ailanyin.common.result.CommonPage; +import com.ailanyin.common.utils.EmptyUtil; +import com.ailanyin.common.utils.ExcelUtil; +import com.ailanyin.model.HxWorkHomeInfo; +import com.github.pagehelper.PageHelper; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author ailanyin + * @version 1.0 + * @since 2021/12/23 0023 下午 18:42 + */ + +@RestController +@RequestMapping("/hx/workHome") +@Api(tags = "科研生产:作业动态:工房管理") +public class HxWorkHomeInfoController { + + @Autowired + private HxWorkHomeInfoService hxWorkHomeInfoService; + + @GetMapping("/list") + @ApiOperation(value = "红峡工房信息列表") + public CommonPage list(HxWorkHomeInfo hxWorkHomeInfo, + @RequestParam(value = "pageSize", required = false) Integer pageSize, + @RequestParam(value = "pageNum", required = false) Integer pageNum) { + + if (EmptyUtil.isNotEmpty(pageSize) && EmptyUtil.isNotEmpty(pageNum)) { + PageHelper.startPage(pageNum, pageSize); + } + List list = hxWorkHomeInfoService.selectList(hxWorkHomeInfo); + return CommonPage.restPage(list); + } + + @PostMapping("/importData") + @ApiOperation(value = "导入Excel列表") + //@PreAuthorize("hasAuthority('hx:productCompletion:import')") + public AjaxResult importData(MultipartFile file) throws Exception { + List list = ExcelUtil.importExcel(file, HxWorkHomeInfo.class); + hxWorkHomeInfoService.importData(list); + return AjaxResult.success(); + } + + @GetMapping("/importTemplate") + @ApiOperation(value = "导出模板") + //@PreAuthorize("hasAuthority('system:user:import')") + public AjaxResult importTemplate() throws Exception { + return AjaxResult.success(ExcelUtil.exportExcel(new ArrayList<>(), "工房信息表", "工房信息", HxWorkHomeInfo.class, "工房信息")); + } +} diff --git a/ailanyin-admin/src/main/java/com/ailanyin/admin/controller/SysLoginController.java b/ailanyin-admin/src/main/java/com/ailanyin/admin/controller/SysLoginController.java index 010e82d..da99033 100644 --- a/ailanyin-admin/src/main/java/com/ailanyin/admin/controller/SysLoginController.java +++ b/ailanyin-admin/src/main/java/com/ailanyin/admin/controller/SysLoginController.java @@ -1,11 +1,14 @@ package com.ailanyin.admin.controller; +import cn.hutool.core.io.FileUtil; import com.ailanyin.admin.service.SysLoginService; import com.ailanyin.admin.service.SysMenuService; import com.ailanyin.admin.service.SysPermissionService; import com.ailanyin.admin.service.SysUserService; import com.ailanyin.admin.vo.LoginBodyVo; import com.ailanyin.common.result.AjaxResult; +import com.ailanyin.common.utils.ExcelUtil; +import com.ailanyin.mapper.SysLogMapper; import com.ailanyin.model.SysMenu; import com.ailanyin.model.SysUser; import com.ailanyin.security.service.SecurityUserService; @@ -19,9 +22,11 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; +import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; +import java.io.IOException; +import java.util.ArrayList; import java.util.List; -import java.util.Map; import java.util.Set; /** @@ -50,6 +55,10 @@ public class SysLoginController { private String tokenHeader; @Value("${jwt.tokenHead}") private String tokenHead; + @Value("${hx.ip}") + private String ip; + @Value("${server.port}") + private String port; @GetMapping("/getRouters") @ApiOperation(value = "获取路由信息") @@ -104,4 +113,11 @@ public class SysLoginController { securityUserService.delUserDetailsFromMap(username); } } + + @GetMapping("/getSocketUrl") + @ApiOperation(value = "获取Socket地址") + public AjaxResult getSocketUrl() { + return AjaxResult.success("ws://" + ip + ":" + port + "/ws/asset"); + } + } diff --git a/ailanyin-admin/src/main/java/com/ailanyin/admin/entity/Test.java b/ailanyin-admin/src/main/java/com/ailanyin/admin/entity/Test.java new file mode 100644 index 0000000..5e7f6be --- /dev/null +++ b/ailanyin-admin/src/main/java/com/ailanyin/admin/entity/Test.java @@ -0,0 +1,39 @@ +package com.ailanyin.admin.entity; + +import cn.hutool.core.io.FileUtil; +import cn.hutool.core.util.RandomUtil; +import cn.hutool.core.util.RuntimeUtil; +import com.ailanyin.admin.socket.SocketServerListenHandler; +import com.ailanyin.common.utils.*; + +import java.io.*; +import java.net.ServerSocket; +import java.net.Socket; +import java.net.UnknownHostException; +import java.text.DecimalFormat; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +/** + * @author ailanyin + * @version 1.0 + * @since 2021/12/13 0013 下午 16:39 + */ +public class Test { + + public static void main(String[] args) throws UnknownHostException, IOException { + + for (int i = 1; i < 255; i++) { + Integer result = Integer.parseInt("A5",16) + + Integer.parseInt("FF",16) + + Integer.parseInt("04",16) + + Integer.parseInt("31",16) + + Integer.parseInt("00",16) + + Integer.parseInt(Integer.toHexString(i),16); + String s2 = ConvertUtil.binaryAdd(ConvertUtil.binaryReverse(Integer.toBinaryString(result)), "1"); + System.out.println(i +" ==== A5 FF 04 31 00 "+Integer.toHexString(i).toUpperCase()+" "+Integer.toHexString(Integer.parseInt(s2.substring(s2.length() - 8),2)).toUpperCase()); + } // A5 FF 04 31 00 FD 2A + } + +} diff --git a/ailanyin-admin/src/main/java/com/ailanyin/admin/runner/StartReaderRunner.java b/ailanyin-admin/src/main/java/com/ailanyin/admin/runner/StartReaderRunner.java new file mode 100644 index 0000000..1194bf0 --- /dev/null +++ b/ailanyin-admin/src/main/java/com/ailanyin/admin/runner/StartReaderRunner.java @@ -0,0 +1,65 @@ +package com.ailanyin.admin.runner; + +import com.ailanyin.admin.socket.SocketServerListenHandler; +import com.ailanyin.common.service.RedisService; +import com.ailanyin.mapper.HxCarLocationConfigMapper; +import com.ailanyin.model.HxCarLocationConfig; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.boot.ApplicationArguments; +import org.springframework.boot.ApplicationRunner; +import org.springframework.core.annotation.Order; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; + +/** + * 项目启动后连接 socket 读卡器 + * + * @author ailanyin + * @version 1.0 + * @since 2022/1/15 0015 上午 9:52 + */ + +@Component +@Order(value = 2) +public class StartReaderRunner implements ApplicationRunner { + + @Autowired + private RedisService redisService; + @Resource + private HxCarLocationConfigMapper hxCarLocationConfigMapper; + + public static String database; + + @Override + public void run(ApplicationArguments args) throws Exception { + //将上传配置写进redis中 + writeConfigToRedis(); + SocketServerListenHandler socketServerListenHandler = new SocketServerListenHandler(27012); + socketServerListenHandler.listenClientConnect(); + } + + private void writeConfigToRedis() { + HxCarLocationConfig config = hxCarLocationConfigMapper.selectConfig(); + if (config == null) { + HxCarLocationConfig defaultConfig = new HxCarLocationConfig(); + defaultConfig.setUploadInterval(2); + hxCarLocationConfigMapper.insertConfig(defaultConfig); + redisService.set(database +":business:config:uploadInterval",2); + return; + } + + redisService.set(database +":business:config:uploadInterval",config.getUploadInterval()); + } + + public String getDatabase() { + return database; + } + + @Value("${redis.database}") + public void setDatabase(String database) { + StartReaderRunner.database = database; + } + +} diff --git a/ailanyin-admin/src/main/java/com/ailanyin/admin/service/HxBigPicService.java b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/HxBigPicService.java new file mode 100644 index 0000000..a875ddf --- /dev/null +++ b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/HxBigPicService.java @@ -0,0 +1,22 @@ +package com.ailanyin.admin.service; + +import com.ailanyin.model.HxBigPic; + +import java.util.List; + +/** + * @author ailanyin + * @version 1.0 + * @since 2021/12/24 0024 上午 11:15 + */ +public interface HxBigPicService { + List selectList(HxBigPic hxBigPic); + + void addHxBigPic(HxBigPic hxBigPic); + + void updateHxBigPic(HxBigPic hxBigPic); + + void delHxBigPicById(Long hxBigPicId); + + HxBigPic getByType(String type); +} diff --git a/ailanyin-admin/src/main/java/com/ailanyin/admin/service/HxCarLocationLogService.java b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/HxCarLocationLogService.java new file mode 100644 index 0000000..6aa7f6e --- /dev/null +++ b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/HxCarLocationLogService.java @@ -0,0 +1,56 @@ +package com.ailanyin.admin.service; + +import com.ailanyin.model.HxCarLocationLog; +import java.util.List; + +/** +* @author ailanyin +* @version 1.0 +* @since 2022-01-15 09:50:40 +*/ +public interface HxCarLocationLogService{ + + /** + * 条件查询列表 + * + * @param hxCarLocationLog hxCarLocationLog + * @return list + */ + List getListByParam(HxCarLocationLog hxCarLocationLog); + + /** + * 新增 + * + * @param hxCarLocationLog hxCarLocationLog + */ + void insertHxCarLocationLog(HxCarLocationLog hxCarLocationLog); + + /** + * 修改 + * + * @param hxCarLocationLog hxCarLocationLog + */ + void updateHxCarLocationLog(HxCarLocationLog hxCarLocationLog); + + /** + * 批量删除 + * + * @param ids ids + */ + void deleteByIds(Long[] ids); + + /** + * 主键查询 + * + * @param id id + * @return hxCarLocationLog + */ + HxCarLocationLog getInfo(Long id); + + /** + * 获取大图数据 + * + * @return list + */ + List getBigPicData(); +} diff --git a/ailanyin-admin/src/main/java/com/ailanyin/admin/service/HxCarLocationMapService.java b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/HxCarLocationMapService.java new file mode 100644 index 0000000..b1d1f69 --- /dev/null +++ b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/HxCarLocationMapService.java @@ -0,0 +1,29 @@ +package com.ailanyin.admin.service; + +import com.ailanyin.model.HxCarLocationMap; +import java.util.List; + +/** +* @author ailanyin +* @version 1.0 +* @since 2022-01-17 02:12:26 +*/ +public interface HxCarLocationMapService{ + + /** + * 条件查询列表 + * + * @param hxCarLocationMap hxCarLocationMap + * @return list + */ + List getListByParam(HxCarLocationMap hxCarLocationMap); + + + /** + * 修改 + * + * @param hxCarLocationMap hxCarLocationMap + */ + void updateHxCarLocationMap(HxCarLocationMap hxCarLocationMap); + +} diff --git a/ailanyin-admin/src/main/java/com/ailanyin/admin/service/HxCarLocationService.java b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/HxCarLocationService.java new file mode 100644 index 0000000..f9a1348 --- /dev/null +++ b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/HxCarLocationService.java @@ -0,0 +1,63 @@ +package com.ailanyin.admin.service; + +import com.ailanyin.model.HxCarLocation; +import java.util.List; + +/** +* @author ailanyin +* @version 1.0 +* @since 2022-01-11 01:36:18 +*/ +public interface HxCarLocationService{ + + /** + * 条件查询列表 + * + * @param hxCarLocation hxCarLocation + * @return list + */ + List getListByParam(HxCarLocation hxCarLocation); + + /** + * 新增 + * + * @param hxCarLocation hxCarLocation + */ + void insertHxCarLocation(HxCarLocation hxCarLocation); + + /** + * 修改 + * + * @param hxCarLocation hxCarLocation + */ + void updateHxCarLocation(HxCarLocation hxCarLocation); + + /** + * 批量删除 + * + * @param ids ids + */ + void deleteByIds(Long[] ids); + + /** + * 主键查询 + * + * @param id id + * @return hxCarLocation + */ + HxCarLocation getInfo(Long id); + + /** + * 将车和定位卡绑定 + * + * @param hxCarLocation hxCarLocation + */ + void bindCarAndLocation(HxCarLocation hxCarLocation); + + /** + * 将车和定位卡解绑 + * + * @param hxCarLocation hxCarLocation + */ + void notBindCarAndLocation(HxCarLocation hxCarLocation); +} diff --git a/ailanyin-admin/src/main/java/com/ailanyin/admin/service/HxChargeDeliverService.java b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/HxChargeDeliverService.java new file mode 100644 index 0000000..60dca66 --- /dev/null +++ b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/HxChargeDeliverService.java @@ -0,0 +1,16 @@ +package com.ailanyin.admin.service; + +import com.ailanyin.model.HxChargeDeliver; + +import java.util.List; + +/** + * @author ailanyin + * @version 1.0 + * @since 2021/12/23 0023 下午 13:19 + */ +public interface HxChargeDeliverService { + List selectList(HxChargeDeliver hxChargeDeliver); + + void importData(List list); +} diff --git a/ailanyin-admin/src/main/java/com/ailanyin/admin/service/HxDangerousPointService.java b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/HxDangerousPointService.java index e6127d3..6621a0d 100644 --- a/ailanyin-admin/src/main/java/com/ailanyin/admin/service/HxDangerousPointService.java +++ b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/HxDangerousPointService.java @@ -41,4 +41,11 @@ public interface HxDangerousPointService { */ Map getDangerousMapBigPic(); + /** + * 推流 + * + * @param hxDangerousPoint + */ + void handleRtmpToVideo(HxDangerousPoint hxDangerousPoint); + } diff --git a/ailanyin-admin/src/main/java/com/ailanyin/admin/service/HxJobDetailsService.java b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/HxJobDetailsService.java new file mode 100644 index 0000000..6dff784 --- /dev/null +++ b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/HxJobDetailsService.java @@ -0,0 +1,16 @@ +package com.ailanyin.admin.service; + +import com.ailanyin.model.HxJobDetails; + +import java.util.List; + +/** + * @author ailanyin + * @version 1.0 + * @since 2021/12/23 0023 下午 19:09 + */ +public interface HxJobDetailsService { + List selectList(HxJobDetails hxJobDetails); + + void importData(List list); +} diff --git a/ailanyin-admin/src/main/java/com/ailanyin/admin/service/HxMaterialsAccessoriesService.java b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/HxMaterialsAccessoriesService.java index ef508ee..fbcb655 100644 --- a/ailanyin-admin/src/main/java/com/ailanyin/admin/service/HxMaterialsAccessoriesService.java +++ b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/HxMaterialsAccessoriesService.java @@ -3,6 +3,7 @@ package com.ailanyin.admin.service; import com.ailanyin.model.HxMaterialsAccessories; import java.util.List; +import java.util.Map; /** * @author ailanyin @@ -13,4 +14,6 @@ public interface HxMaterialsAccessoriesService { List selectList(HxMaterialsAccessories hxMaterialsAccessories); void importData(List list); + + Map getMaterialsAccessoriesPic(String type); } diff --git a/ailanyin-admin/src/main/java/com/ailanyin/admin/service/HxMonthDynamicService.java b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/HxMonthDynamicService.java new file mode 100644 index 0000000..cac7ab9 --- /dev/null +++ b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/HxMonthDynamicService.java @@ -0,0 +1,23 @@ +package com.ailanyin.admin.service; + +import com.ailanyin.model.HxMonthDynamic; +import java.util.List; + +/** +* @author ailanyin +* @version 1.0 +* @since 2022-01-19 04:52:05 +*/ +public interface HxMonthDynamicService{ + + /** + * 条件查询列表 + * + * @param hxMonthDynamic hxMonthDynamic + * @return list + */ + List getListByParam(HxMonthDynamic hxMonthDynamic); + + + void importData(List list); +} diff --git a/ailanyin-admin/src/main/java/com/ailanyin/admin/service/HxMonthFactoryPlanService.java b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/HxMonthFactoryPlanService.java new file mode 100644 index 0000000..a170462 --- /dev/null +++ b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/HxMonthFactoryPlanService.java @@ -0,0 +1,16 @@ +package com.ailanyin.admin.service; + +import com.ailanyin.model.HxMonthFactoryPlan; + +import java.util.List; + +/** + * @author ailanyin + * @version 1.0 + * @since 2021/12/22 0022 下午 16:30 + */ +public interface HxMonthFactoryPlanService { + List selectList(HxMonthFactoryPlan hxMonthFactoryPlan); + + void importData(List list); +} diff --git a/ailanyin-admin/src/main/java/com/ailanyin/admin/service/HxMonthPlanService.java b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/HxMonthPlanService.java new file mode 100644 index 0000000..24103f5 --- /dev/null +++ b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/HxMonthPlanService.java @@ -0,0 +1,17 @@ +package com.ailanyin.admin.service; + +import com.ailanyin.model.HxMonthPlan; + +import java.util.List; + +/** + * @author ailanyin + * @version 1.0 + * @since 2021/12/22 0022 下午 15:42 + */ +public interface HxMonthPlanService { + List selectList(HxMonthPlan hxMonthPlan); + + void importData(List list); + +} diff --git a/ailanyin-admin/src/main/java/com/ailanyin/admin/service/HxProductionIndexService.java b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/HxProductionIndexService.java new file mode 100644 index 0000000..3d56a4e --- /dev/null +++ b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/HxProductionIndexService.java @@ -0,0 +1,19 @@ +package com.ailanyin.admin.service; + +import com.ailanyin.model.HxProductionIndex; + +import java.util.List; +import java.util.Map; + +/** + * @author ailanyin + * @version 1.0 + * @since 2021/12/23 0023 下午 14:05 + */ +public interface HxProductionIndexService { + List selectList(HxProductionIndex hxProductionIndex); + + void importData(List list); + + Map getProductionIndexPic(); +} diff --git a/ailanyin-admin/src/main/java/com/ailanyin/admin/service/HxReaderInfoService.java b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/HxReaderInfoService.java new file mode 100644 index 0000000..66fd905 --- /dev/null +++ b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/HxReaderInfoService.java @@ -0,0 +1,49 @@ +package com.ailanyin.admin.service; + +import com.ailanyin.model.HxReaderInfo; +import java.util.List; + +/** +* @author ailanyin +* @version 1.0 +* @since 2022-01-15 08:59:27 +*/ +public interface HxReaderInfoService{ + + /** + * 条件查询列表 + * + * @param hxReaderInfo hxReaderInfo + * @return list + */ + List getListByParam(HxReaderInfo hxReaderInfo); + + /** + * 新增 + * + * @param hxReaderInfo hxReaderInfo + */ + void insertHxReaderInfo(HxReaderInfo hxReaderInfo); + + /** + * 修改 + * + * @param hxReaderInfo hxReaderInfo + */ + void updateHxReaderInfo(HxReaderInfo hxReaderInfo); + + /** + * 批量删除 + * + * @param ids ids + */ + void deleteByIds(Long[] ids); + + /** + * 主键查询 + * + * @param id id + * @return hxReaderInfo + */ + HxReaderInfo getInfo(Long id); +} diff --git a/ailanyin-admin/src/main/java/com/ailanyin/admin/service/HxSpcInfoService.java b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/HxSpcInfoService.java index b827b6c..6baf2d6 100644 --- a/ailanyin-admin/src/main/java/com/ailanyin/admin/service/HxSpcInfoService.java +++ b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/HxSpcInfoService.java @@ -33,7 +33,7 @@ public interface HxSpcInfoService { * @param category * @return */ - List getHxSpcPic(String category); + Map getHxSpcPic(String category); /** * 获取所有分类 diff --git a/ailanyin-admin/src/main/java/com/ailanyin/admin/service/HxSpcProductService.java b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/HxSpcProductService.java new file mode 100644 index 0000000..67038b9 --- /dev/null +++ b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/HxSpcProductService.java @@ -0,0 +1,16 @@ +package com.ailanyin.admin.service; + +import com.ailanyin.model.HxSpcProduct; + +import java.util.List; + +/** + * @author ailanyin + * @version 1.0 + * @since 2021/12/23 0023 上午 9:41 + */ +public interface HxSpcProductService { + List selectList(HxSpcProduct hxSpcProduct); + + void importData(List list); +} diff --git a/ailanyin-admin/src/main/java/com/ailanyin/admin/service/HxStockDetailedService.java b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/HxStockDetailedService.java new file mode 100644 index 0000000..b444b12 --- /dev/null +++ b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/HxStockDetailedService.java @@ -0,0 +1,16 @@ +package com.ailanyin.admin.service; + +import com.ailanyin.model.HxStockDetailed; + +import java.util.List; + +/** + * @author ailanyin + * @version 1.0 + * @since 2021/12/22 0022 下午 17:16 + */ +public interface HxStockDetailedService { + List selectList(HxStockDetailed hxStockDetailed); + + void importData(List list); +} diff --git a/ailanyin-admin/src/main/java/com/ailanyin/admin/service/HxVideoService.java b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/HxVideoService.java new file mode 100644 index 0000000..a79cc25 --- /dev/null +++ b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/HxVideoService.java @@ -0,0 +1,22 @@ +package com.ailanyin.admin.service; + +import com.ailanyin.model.HxVideo; + +import java.util.List; + +/** + * @author ailanyin + * @version 1.0 + * @since 2021/12/23 0023 下午 15:16 + */ +public interface HxVideoService { + List selectList(HxVideo hxVideo); + + void addHxVideo(HxVideo hxVideo); + + void updateHxVideo(HxVideo hxVideo); + + void delHxVideoById(Long hxVideoId); + + String getVideoByType(String type); +} diff --git a/ailanyin-admin/src/main/java/com/ailanyin/admin/service/HxVideoSystemService.java b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/HxVideoSystemService.java index 1362a3e..62a8e11 100644 --- a/ailanyin-admin/src/main/java/com/ailanyin/admin/service/HxVideoSystemService.java +++ b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/HxVideoSystemService.java @@ -26,5 +26,10 @@ public interface HxVideoSystemService { */ void importData(List list); - + /** + * 推流 + * + * @param hxVideoSystem + */ + void handleRtmpToVideo(HxVideoSystem hxVideoSystem); } diff --git a/ailanyin-admin/src/main/java/com/ailanyin/admin/service/HxWorkHomeInfoService.java b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/HxWorkHomeInfoService.java new file mode 100644 index 0000000..7d03ec2 --- /dev/null +++ b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/HxWorkHomeInfoService.java @@ -0,0 +1,25 @@ +package com.ailanyin.admin.service; + +import com.ailanyin.model.HxWorkHomeInfo; + +import java.util.List; + +/** + * @author ailanyin + * @version 1.0 + * @since 2021/12/23 0023 下午 18:38 + */ +public interface HxWorkHomeInfoService { + List selectList(HxWorkHomeInfo hxWorkHomeInfo); + + void importData(List list); + + List getHxWorkHomePic(); + + /** + * 推流 + * + * @param hxWorkHomeInfo + */ + void handleRtmpToVideo(HxWorkHomeInfo hxWorkHomeInfo); +} diff --git a/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxBigPicServiceImpl.java b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxBigPicServiceImpl.java new file mode 100644 index 0000000..c169a31 --- /dev/null +++ b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxBigPicServiceImpl.java @@ -0,0 +1,47 @@ +package com.ailanyin.admin.service.impl; + +import com.ailanyin.admin.service.HxBigPicService; +import com.ailanyin.mapper.HxBigPicMapper; +import com.ailanyin.model.HxBigPic; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; + +/** + * @author ailanyin + * @version 1.0 + * @since 2021/12/24 0024 上午 11:15 + */ + +@Service +public class HxBigPicServiceImpl implements HxBigPicService { + + @Resource + private HxBigPicMapper hxBigPicMapper; + + @Override + public List selectList(HxBigPic hxBigPic) { + return hxBigPicMapper.selectList(hxBigPic); + } + + @Override + public void addHxBigPic(HxBigPic hxBigPic) { + hxBigPicMapper.insertSelective(hxBigPic); + } + + @Override + public void updateHxBigPic(HxBigPic hxBigPic) { + hxBigPicMapper.updateByPrimaryKeySelective(hxBigPic); + } + + @Override + public void delHxBigPicById(Long hxBigPicId) { + hxBigPicMapper.deleteByPrimaryKey(hxBigPicId); + } + + @Override + public HxBigPic getByType(String type) { + return hxBigPicMapper.getByType(type); + } +} diff --git a/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxCarLocationLogServiceImpl.java b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxCarLocationLogServiceImpl.java new file mode 100644 index 0000000..78a3b58 --- /dev/null +++ b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxCarLocationLogServiceImpl.java @@ -0,0 +1,58 @@ +package com.ailanyin.admin.service.impl; + +import com.ailanyin.mapper.HxCarLocationLogMapper; +import com.ailanyin.model.HxCarLocationLog; +import com.ailanyin.admin.service.HxCarLocationLogService; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.List; + +/** +* @author ailanyin +* @version 1.0 +* @since 2022-01-15 09:50:40 +*/ +@Service +public class HxCarLocationLogServiceImpl implements HxCarLocationLogService { + + @Resource + private HxCarLocationLogMapper hxCarLocationLogMapper; + + @Override + public List getListByParam(HxCarLocationLog hxCarLocationLog) { + return hxCarLocationLogMapper.selectList(hxCarLocationLog); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void insertHxCarLocationLog(HxCarLocationLog hxCarLocationLog) { + hxCarLocationLog.setCreateTime(new Date()); + hxCarLocationLogMapper.insertSelective(hxCarLocationLog); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void updateHxCarLocationLog(HxCarLocationLog hxCarLocationLog) { + hxCarLocationLogMapper.updateByPrimaryKeySelective(hxCarLocationLog); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void deleteByIds(Long[] ids) { + hxCarLocationLogMapper.deleteByIds(ids); + } + + @Override + public HxCarLocationLog getInfo(Long id) { + return hxCarLocationLogMapper.selectByPrimaryKey(id); + } + + @Override + public List getBigPicData() { + return hxCarLocationLogMapper.getBigPicData(); + } + +} diff --git a/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxCarLocationMapServiceImpl.java b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxCarLocationMapServiceImpl.java new file mode 100644 index 0000000..3145d42 --- /dev/null +++ b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxCarLocationMapServiceImpl.java @@ -0,0 +1,42 @@ +package com.ailanyin.admin.service.impl; + +import com.ailanyin.admin.runner.StartReaderRunner; +import com.ailanyin.common.service.RedisService; +import com.ailanyin.mapper.HxCarLocationMapMapper; +import com.ailanyin.model.HxCarLocationMap; +import com.ailanyin.admin.service.HxCarLocationMapService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.List; + +/** +* @author ailanyin +* @version 1.0 +* @since 2022-01-17 02:12:26 +*/ +@Service +public class HxCarLocationMapServiceImpl implements HxCarLocationMapService { + + @Resource + private HxCarLocationMapMapper hxCarLocationMapMapper; + @Autowired + private RedisService redisService; + + @Override + public List getListByParam(HxCarLocationMap hxCarLocationMap) { + return hxCarLocationMapMapper.selectList(hxCarLocationMap); + } + + + @Override + @Transactional(rollbackFor = Exception.class) + public void updateHxCarLocationMap(HxCarLocationMap hxCarLocationMap) { + hxCarLocationMapMapper.updateByPrimaryKeySelective(hxCarLocationMap); + redisService.del(StartReaderRunner.database +":business:carLocationMap"); + } + +} diff --git a/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxCarLocationServiceImpl.java b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxCarLocationServiceImpl.java new file mode 100644 index 0000000..6990753 --- /dev/null +++ b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxCarLocationServiceImpl.java @@ -0,0 +1,91 @@ +package com.ailanyin.admin.service.impl; + +import com.ailanyin.common.exception.Asserts; +import com.ailanyin.common.utils.EmptyUtil; +import com.ailanyin.mapper.HxCarLocationMapper; +import com.ailanyin.model.HxCarLocation; +import com.ailanyin.admin.service.HxCarLocationService; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.text.DecimalFormat; +import java.util.Date; +import java.util.List; + +/** + * @author ailanyin + * @version 1.0 + * @since 2022-01-11 01:36:18 + */ +@Service +public class HxCarLocationServiceImpl implements HxCarLocationService { + + @Resource + private HxCarLocationMapper hxCarLocationMapper; + + @Override + public List getListByParam(HxCarLocation hxCarLocation) { + return hxCarLocationMapper.selectList(hxCarLocation); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void insertHxCarLocation(HxCarLocation hxCarLocation) { + checkCarIdIsExist(hxCarLocation); + checkIsBind(hxCarLocation); + hxCarLocation.setCreateTime(new Date()); + hxCarLocation.setLocationCardNumber(Integer.parseInt(hxCarLocation.getLocationCardNum())); + hxCarLocationMapper.insertSelective(hxCarLocation); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void updateHxCarLocation(HxCarLocation hxCarLocation) { + checkCarIdIsExist(hxCarLocation); + checkIsBind(hxCarLocation); + hxCarLocation.setLocationCardNumber(Integer.parseInt(hxCarLocation.getLocationCardNum())); + hxCarLocationMapper.updateByPrimaryKeySelective(hxCarLocation); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void deleteByIds(Long[] ids) { + hxCarLocationMapper.deleteByIds(ids); + } + + @Override + public HxCarLocation getInfo(Long id) { + return hxCarLocationMapper.selectByPrimaryKey(id); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void bindCarAndLocation(HxCarLocation hxCarLocation) { + checkIsBind(hxCarLocation); + hxCarLocation.setLocationCardNumber(Integer.parseInt(hxCarLocation.getLocationCardNum())); + updateHxCarLocation(hxCarLocation); + } + + @Override + public void notBindCarAndLocation(HxCarLocation hxCarLocation) { + hxCarLocationMapper.notBindCarAndLocation(hxCarLocation); + } + + private void checkIsBind(HxCarLocation hxCarLocation) { + HxCarLocation selectResult = hxCarLocationMapper.checkIsBind(hxCarLocation); + if (EmptyUtil.isNotEmpty(selectResult)) { + Asserts.fail("识别卡: " + hxCarLocation.getLocationCardNum() + + " 已经和汽车: " + + selectResult.getCarId() + " 绑定!"); + } + + } + + private void checkCarIdIsExist(HxCarLocation hxCarLocation) { + HxCarLocation selectResult = hxCarLocationMapper.checkCarIdIsExist(hxCarLocation); + if (EmptyUtil.isNotEmpty(selectResult)) { + Asserts.fail("车牌: " + hxCarLocation.getCarId() + "已存在!"); + } + } +} diff --git a/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxChargeDeliverServiceImpl.java b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxChargeDeliverServiceImpl.java new file mode 100644 index 0000000..7596856 --- /dev/null +++ b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxChargeDeliverServiceImpl.java @@ -0,0 +1,46 @@ +package com.ailanyin.admin.service.impl; + +import com.ailanyin.admin.service.HxChargeDeliverService; +import com.ailanyin.common.utils.EmptyUtil; +import com.ailanyin.mapper.HxChargeDeliverMapper; +import com.ailanyin.model.HxChargeDeliver; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; + +/** + * @author ailanyin + * @version 1.0 + * @since 2021/12/23 0023 下午 13:19 + */ + +@Service +public class HxChargeDeliverServiceImpl implements HxChargeDeliverService { + + @Resource + private HxChargeDeliverMapper hxChargeDeliverMapper; + + @Override + public List selectList(HxChargeDeliver hxChargeDeliver) { + return hxChargeDeliverMapper.selectList(hxChargeDeliver); + } + + @Override + public void importData(List list) { + list.forEach(hxChargeDeliver -> { + if (EmptyUtil.isNotEmpty(hxChargeDeliver.getBigCharge())) { + if (checkIsExist(hxChargeDeliver)) { + hxChargeDeliverMapper.updateSelective(hxChargeDeliver); + } else { + hxChargeDeliverMapper.insertSelective(hxChargeDeliver); + } + } + }); + } + + private boolean checkIsExist(HxChargeDeliver hxChargeDeliver) { + return hxChargeDeliverMapper.checkIsExist(hxChargeDeliver) > 0; + } + +} diff --git a/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxCivilIncomeServiceImpl.java b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxCivilIncomeServiceImpl.java index f7b95c4..db58a03 100644 --- a/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxCivilIncomeServiceImpl.java +++ b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxCivilIncomeServiceImpl.java @@ -12,9 +12,7 @@ import com.ailanyin.model.HxGeneralPlantConditions; import org.springframework.stereotype.Service; import javax.annotation.Resource; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; /** * @author ailanyin @@ -69,8 +67,20 @@ public class HxCivilIncomeServiceImpl implements HxCivilIncomeService { if (TYPE_2.equals(type)) { String year = DateUtil.getNowYear() + "-%"; - returnMap.put("list",hxCivilContractMapper.selectList(new HxCivilContract())); - returnMap.put("totalAndAmount",hxCivilContractMapper.selectTotalAndAmountByYear(year)); + List monthList = hxCivilContractMapper.getAllMonth(); + List> list = new ArrayList<>(); + monthList.forEach( + month -> { + List map = hxCivilContractMapper.selectCategoryByMonth(month + "-%"); + handleMap(map); + list.add(map); + } + ); + returnMap.put("list",list); + returnMap.put("monthList",monthList); + Map totalAndAmount = hxCivilContractMapper.selectTotalAndAmountByYear(year); + totalAndAmount.putIfAbsent("amount", 0); + returnMap.put("totalAndAmount",totalAndAmount); returnMap.put("categoryTotal",hxCivilContractMapper.selectCategoryTotalByYear(year)); } @@ -85,4 +95,35 @@ public class HxCivilIncomeServiceImpl implements HxCivilIncomeService { private boolean checkIsExist(HxCivilIncome hxCivilIncome) { return hxCivilIncomeMapper.checkIsExist(hxCivilIncome) > 0; } + + private void handleMap(List mapList) { + + if (mapList.size() >= 3) { + return; + } + + List categoryList = new ArrayList<>(); + categoryList.add("隔热"); + categoryList.add("稀土"); + categoryList.add("其他"); + + for (Map map : mapList) { + String category = map.get("category").toString(); + String planQuantity = map.get("planQuantity").toString(); + String realQuantity = map.get("realQuantity").toString(); + map.put("quantityRate",Float.valueOf(realQuantity) * 100/Float.valueOf(planQuantity)); + categoryList.remove(category); + } + + for (String catetory : categoryList) { + Map map = new HashMap(3); + // "realQuantity": 86, + // "planQuantity": 91, + // "category": "其他" + map.put("category",catetory); + map.put("realQuantity",0); + map.put("planQuantity",0); + mapList.add(map); + } + } } diff --git a/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxDangerousPointServiceImpl.java b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxDangerousPointServiceImpl.java index b19761e..38e3433 100644 --- a/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxDangerousPointServiceImpl.java +++ b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxDangerousPointServiceImpl.java @@ -1,17 +1,20 @@ package com.ailanyin.admin.service.impl; import com.ailanyin.admin.service.HxDangerousPointService; +import com.ailanyin.common.service.RedisService; import com.ailanyin.common.utils.EmptyUtil; import com.ailanyin.mapper.HxDangerousPointMapper; import com.ailanyin.mapper.HxDangerousSourceMapper; import com.ailanyin.mapper.HxDictMapper; import com.ailanyin.model.HxDangerousPoint; import com.ailanyin.model.HxDangerousSource; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.io.IOException; import java.util.*; /** @@ -29,7 +32,13 @@ public class HxDangerousPointServiceImpl implements HxDangerousPointService { private String pointLevelParentId; @Value("${hxDict.sourceLevelParentId}") private String sourceLevelParentId; + @Value("${hx.ip}") + private String ip; + @Value("${redis.database}") + private String database; + @Autowired + private RedisService redisService; @Resource private HxDangerousPointMapper hxDangerousPointMapper; @Resource @@ -60,6 +69,7 @@ public class HxDangerousPointServiceImpl implements HxDangerousPointService { if (EmptyUtil.isNotEmpty(hxDangerousPoint.getPointName())) { hxDangerousPoint.setCreateTime(new Date()); hxDangerousPointMapper.insertSelective(hxDangerousPoint); + handleRtmpToVideo(hxDangerousPoint); } }); } @@ -92,8 +102,18 @@ public class HxDangerousPointServiceImpl implements HxDangerousPointService { Map returnMap = new HashMap(5); //危险点list List points = hxDangerousPointMapper.selectHxDangerousPointList(new HxDangerousPoint()); + points.forEach(point -> { + if (redisService.hasKey(database + ":rtmp:dangerousPoint" + point.getId())) { + String url = redisService.get(database + ":rtmp:dangerousPoint" + point.getId()).toString(); + point.setRtmpAddress(url); + } + }); int count = hxDangerousPointMapper.selectNullRtmpCount(); - returnMap.put("rate",(points.size() - count) * 100/points.size()); + if (points.size() > 0) { + returnMap.put("rate",(points.size() - count) * 100/points.size()); + } else { + returnMap.put("rate",0); + } //危险源list //List sources = hxDangerousSourceMapper.selectHxDangerousSourceList(new HxDangerousSource()); returnMap.put("pointLevelCount",hxDangerousPointMapper.selectAllLevelNumByDept(null,pointLevelParentId)); @@ -101,4 +121,20 @@ public class HxDangerousPointServiceImpl implements HxDangerousPointService { returnMap.put("points",points); return returnMap; } + + @Override + public void handleRtmpToVideo(HxDangerousPoint hxDangerousPoint) { + if (EmptyUtil.isNotEmpty(hxDangerousPoint.getId()) && EmptyUtil.isNotEmpty(hxDangerousPoint.getRtmpAddress())) { + System.out.println("开始推: " +hxDangerousPoint.getId() +" 号危险点"); + String[] cmd = new String[]{"sh", "-c", "nohup ffmpeg -re -i " + hxDangerousPoint.getRtmpAddress() + " -vcodec copy -acodec copy -f flv -y rtmp://127.0.0.1:1935/live/dangerousPoint" + hxDangerousPoint.getId() + " >/opt/null 2>&1 &"}; + try { + Runtime.getRuntime().exec(cmd); + } catch (IOException e) { + e.printStackTrace(); + } + + String url = "http://" + ip + "/stream/live/dangerousPoint" + hxDangerousPoint.getId()+".flv"; + redisService.set(database + ":rtmp:dangerousPoint" + hxDangerousPoint.getId(), url); + } + } } diff --git a/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxFactoryResourcesServiceImpl.java b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxFactoryResourcesServiceImpl.java index c3ece49..bd60dc2 100644 --- a/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxFactoryResourcesServiceImpl.java +++ b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxFactoryResourcesServiceImpl.java @@ -7,11 +7,9 @@ import com.ailanyin.common.utils.EmptyUtil; import com.ailanyin.mapper.HxFactoryResourcesMapper; import com.ailanyin.model.HxFactoryResources; import org.springframework.stereotype.Service; -import sun.awt.EmbeddedFrame; import javax.annotation.Resource; import java.util.List; -import java.util.Map; /** * @author ailanyin diff --git a/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxJobDetailsServiceImpl.java b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxJobDetailsServiceImpl.java new file mode 100644 index 0000000..e93af28 --- /dev/null +++ b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxJobDetailsServiceImpl.java @@ -0,0 +1,45 @@ +package com.ailanyin.admin.service.impl; + +import com.ailanyin.admin.service.HxJobDetailsService; +import com.ailanyin.common.utils.EmptyUtil; +import com.ailanyin.mapper.HxJobDetailsMapper; +import com.ailanyin.model.HxJobDetails; +import com.ailanyin.model.HxJobDetails; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; + +/** + * @author ailanyin + * @version 1.0 + * @since 2021/12/23 0023 下午 19:09 + */ + +@Service +public class HxJobDetailsServiceImpl implements HxJobDetailsService { + @Resource + private HxJobDetailsMapper hxJobDetailsMapper; + + + @Override + public List selectList(HxJobDetails hxJobDetails) { + return hxJobDetailsMapper.selectList(hxJobDetails); + } + + @Override + public void importData(List list) { + list.forEach(hxJobDetails -> { + if (EmptyUtil.isNotEmpty(hxJobDetails.getWorkHome())) { + if (!checkIsExist(hxJobDetails)) { + hxJobDetailsMapper.insertSelective(hxJobDetails); + } + } + }); + } + + private boolean checkIsExist(HxJobDetails hxJobDetails) { + return hxJobDetailsMapper.checkIsExist(hxJobDetails) > 0; + } + +} diff --git a/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxMaterialsAccessoriesServiceImpl.java b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxMaterialsAccessoriesServiceImpl.java index b2ef28d..5c46a55 100644 --- a/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxMaterialsAccessoriesServiceImpl.java +++ b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxMaterialsAccessoriesServiceImpl.java @@ -3,11 +3,15 @@ package com.ailanyin.admin.service.impl; import com.ailanyin.admin.service.HxMaterialsAccessoriesService; import com.ailanyin.common.utils.EmptyUtil; import com.ailanyin.mapper.HxMaterialsAccessoriesMapper; +import com.ailanyin.mapper.HxStockDetailedMapper; import com.ailanyin.model.HxMaterialsAccessories; +import com.ailanyin.model.HxStockDetailed; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.util.HashMap; import java.util.List; +import java.util.Map; /** * @author ailanyin @@ -20,6 +24,8 @@ public class HxMaterialsAccessoriesServiceImpl implements HxMaterialsAccessories @Resource private HxMaterialsAccessoriesMapper hxMaterialsAccessoriesMapper; + @Resource + private HxStockDetailedMapper hxStockDetailedMapper; @Override @@ -31,7 +37,7 @@ public class HxMaterialsAccessoriesServiceImpl implements HxMaterialsAccessories public void importData(List list) { list.forEach(hxMaterialsAccessories -> { - if (EmptyUtil.isNotEmpty(hxMaterialsAccessories.getTodayDate())) { + if (EmptyUtil.isNotEmpty(hxMaterialsAccessories.getCategory())) { if (checkIsExist(hxMaterialsAccessories)) { hxMaterialsAccessoriesMapper.updateSelective(hxMaterialsAccessories); } else { @@ -41,6 +47,20 @@ public class HxMaterialsAccessoriesServiceImpl implements HxMaterialsAccessories }); } + @Override + public Map getMaterialsAccessoriesPic(String type) { + Map returnMap = new HashMap(2); + List nameList = hxMaterialsAccessoriesMapper.getAllNameByType(type); + List list = hxMaterialsAccessoriesMapper.getTotalByTypeGroupByName(type); + returnMap.put("pic1", list); + returnMap.put("modelList", nameList); + HxStockDetailed stockDetailed = new HxStockDetailed(); + stockDetailed.setCategory(type); + List stockDetailedList = hxStockDetailedMapper.selectList(stockDetailed); + returnMap.put("pic2", stockDetailedList); + return returnMap; + } + private boolean checkIsExist(HxMaterialsAccessories hxMaterialsAccessories) { return hxMaterialsAccessoriesMapper.checkIsExist(hxMaterialsAccessories) > 0; } diff --git a/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxMilepostAndBottleneckServiceImpl.java b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxMilepostAndBottleneckServiceImpl.java index fe117fd..053338e 100644 --- a/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxMilepostAndBottleneckServiceImpl.java +++ b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxMilepostAndBottleneckServiceImpl.java @@ -49,7 +49,7 @@ public class HxMilepostAndBottleneckServiceImpl implements HxMilepostAndBottlene if (EmptyUtil.isEmpty(projectName)) { List allProject = hxMilepostAndBottleneckMapper.getAllProject(); returnMap.put("allProject",allProject); - bottleneck.setProjectName(allProject.get(0)); + bottleneck.setProjectName(allProject.size() == 0 ? "":allProject.get(0)); } else { bottleneck.setProjectName(projectName); } diff --git a/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxModelStationServiceImpl.java b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxModelStationServiceImpl.java index 369af42..50bddcc 100644 --- a/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxModelStationServiceImpl.java +++ b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxModelStationServiceImpl.java @@ -47,11 +47,24 @@ public class HxModelStationServiceImpl implements HxModelStationService { HxModelStation pic1 = hxModelStationMapper.getModelStationPic("硫化"); HxModelStation pic2 = hxModelStationMapper.getModelStationPic("固化"); - - map.put("硫化",pic1); - map.put("固化",pic2); + handelTotal(pic1); + handelTotal(pic2); + map.put("硫化", pic1); + map.put("固化", pic2); return map; } + + private void handelTotal(HxModelStation hxModelStation) { + if (hxModelStation != null) { + Float result = + Float.valueOf(hxModelStation.getCoolingNumber()) + + Float.valueOf(hxModelStation.getFreeNumber()) + + Float.valueOf(hxModelStation.getRiseNumber()) + + Float.valueOf(hxModelStation.getWarmNumber()); + + hxModelStation.setTotal(String.valueOf(result)); + } + } } diff --git a/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxMonthDynamicServiceImpl.java b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxMonthDynamicServiceImpl.java new file mode 100644 index 0000000..0206680 --- /dev/null +++ b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxMonthDynamicServiceImpl.java @@ -0,0 +1,51 @@ +package com.ailanyin.admin.service.impl; + +import com.ailanyin.mapper.HxMonthDynamicMapper; +import com.ailanyin.model.HxMonthDynamic; +import com.ailanyin.admin.service.HxMonthDynamicService; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.List; + +/** +* @author ailanyin +* @version 1.0 +* @since 2022-01-19 04:52:05 +*/ +@Service +public class HxMonthDynamicServiceImpl implements HxMonthDynamicService { + + @Resource + private HxMonthDynamicMapper hxMonthDynamicMapper; + + @Override + public List getListByParam(HxMonthDynamic hxMonthDynamic) { + return hxMonthDynamicMapper.selectList(hxMonthDynamic); + } + + @Transactional(rollbackFor = Exception.class) + public void insertHxMonthDynamic(HxMonthDynamic hxMonthDynamic) { + hxMonthDynamic.setCreateTime(new Date()); + hxMonthDynamicMapper.insertSelective(hxMonthDynamic); + } + + + @Override + public void importData(List list) { + list.forEach(hxMonthDynamic -> { + if (checkIsExist(hxMonthDynamic)) { + hxMonthDynamicMapper.updateByMonthSelective(hxMonthDynamic); + } else { + insertHxMonthDynamic(hxMonthDynamic); + } + }); + } + + private boolean checkIsExist(HxMonthDynamic hxMonthDynamic) { + return hxMonthDynamicMapper.checkIsExist(hxMonthDynamic) > 0; + } + +} diff --git a/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxMonthFactoryPlanServiceImpl.java b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxMonthFactoryPlanServiceImpl.java new file mode 100644 index 0000000..5ad49b4 --- /dev/null +++ b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxMonthFactoryPlanServiceImpl.java @@ -0,0 +1,62 @@ +package com.ailanyin.admin.service.impl; + +import com.ailanyin.admin.service.HxMonthFactoryPlanService; +import com.ailanyin.common.utils.BigDecimalUtil; +import com.ailanyin.common.utils.EmptyUtil; +import com.ailanyin.mapper.HxMonthFactoryPlanMapper; +import com.ailanyin.model.HxMonthFactoryPlan; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; + +/** + * @author ailanyin + * @version 1.0 + * @since 2021/12/22 0022 下午 16:31 + */ + +@Service +public class HxMonthFactoryPlanServiceImpl implements HxMonthFactoryPlanService { + + @Resource + private HxMonthFactoryPlanMapper hxMonthFactoryPlanMapper; + + @Override + public List selectList(HxMonthFactoryPlan hxMonthFactoryPlan) { + return hxMonthFactoryPlanMapper.selectList(hxMonthFactoryPlan); + } + + @Override + public void importData(List list) { + list.forEach(hxMonthFactoryPlan -> { + if (EmptyUtil.isNotEmpty(hxMonthFactoryPlan.getMonth())) { + handRate(hxMonthFactoryPlan); + if (checkIsExist(hxMonthFactoryPlan)) { + hxMonthFactoryPlanMapper.updateSelective(hxMonthFactoryPlan); + } else { + hxMonthFactoryPlanMapper.insertSelective(hxMonthFactoryPlan); + } + } + }); + } + + private boolean checkIsExist(HxMonthFactoryPlan hxMonthFactoryPlan) { + return hxMonthFactoryPlanMapper.checkIsExist(hxMonthFactoryPlan) > 0; + } + + private void handRate(HxMonthFactoryPlan plan) { + plan.setChargeRate(BigDecimalUtil.calculateCompletionRate( + plan.getRealCharge(), + plan.getTargetCharge() + )); + plan.setAssembleRate(BigDecimalUtil.calculateCompletionRate( + plan.getRealAssemble(), + plan.getTargetAssemble() + )); + plan.setInsulateRate(BigDecimalUtil.calculateCompletionRate( + plan.getRealInsulate(), + plan.getTargetInsulate() + )); + } +} diff --git a/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxMonthPlanServiceImpl.java b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxMonthPlanServiceImpl.java new file mode 100644 index 0000000..fa22e72 --- /dev/null +++ b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxMonthPlanServiceImpl.java @@ -0,0 +1,61 @@ +package com.ailanyin.admin.service.impl; + +import com.ailanyin.admin.service.HxMonthPlanService; +import com.ailanyin.common.utils.BigDecimalUtil; +import com.ailanyin.common.utils.EmptyUtil; +import com.ailanyin.mapper.HxMonthPlanMapper; +import com.ailanyin.model.HxMonthPlan; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; + +/** + * @author ailanyin + * @version 1.0 + * @since 2021/12/22 0022 下午 15:42 + */ +@Service +public class HxMonthPlanServiceImpl implements HxMonthPlanService { + + @Resource + private HxMonthPlanMapper hxMonthPlanMapper; + + @Override + public List selectList(HxMonthPlan hxMonthPlan) { + return hxMonthPlanMapper.selectList(hxMonthPlan); + } + + @Override + public void importData(List list) { + list.forEach(hxMonthPlan -> { + if (EmptyUtil.isNotEmpty(hxMonthPlan.getModel())) { + handRate(hxMonthPlan); + if (checkIsExist(hxMonthPlan)) { + hxMonthPlanMapper.updateSelective(hxMonthPlan); + } else { + hxMonthPlanMapper.insertSelective(hxMonthPlan); + } + } + }); + } + + private boolean checkIsExist(HxMonthPlan hxMonthPlan) { + return hxMonthPlanMapper.checkIsExist(hxMonthPlan) > 0; + } + + private void handRate(HxMonthPlan hxMonthPlan) { + hxMonthPlan.setChargeRate(BigDecimalUtil.calculateCompletionRate( + hxMonthPlan.getRealCharge(), + hxMonthPlan.getTargetCharge() + )); + hxMonthPlan.setAssembleRate(BigDecimalUtil.calculateCompletionRate( + hxMonthPlan.getRealAssemble(), + hxMonthPlan.getTargetAssemble() + )); + hxMonthPlan.setDeliverRate(BigDecimalUtil.calculateCompletionRate( + hxMonthPlan.getRealCharge(), + hxMonthPlan.getTargetCharge() + )); + } +} diff --git a/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxProductionIndexServiceImpl.java b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxProductionIndexServiceImpl.java new file mode 100644 index 0000000..c6f1c72 --- /dev/null +++ b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxProductionIndexServiceImpl.java @@ -0,0 +1,53 @@ +package com.ailanyin.admin.service.impl; + +import com.ailanyin.admin.service.HxProductionIndexService; +import com.ailanyin.common.utils.EmptyUtil; +import com.ailanyin.mapper.HxChargeDeliverMapper; +import com.ailanyin.mapper.HxProductionIndexMapper; +import com.ailanyin.model.HxChargeDeliver; +import com.ailanyin.model.HxProductionIndex; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * @author ailanyin + * @version 1.0 + * @since 2021/12/23 0023 下午 14:06 + */ + +@Service +public class HxProductionIndexServiceImpl implements HxProductionIndexService { + @Resource + private HxProductionIndexMapper hxProductionIndexMapper; + @Resource + private HxChargeDeliverMapper hxChargeDeliverMapper; + + @Override + public List selectList(HxProductionIndex hxProductionIndex) { + return hxProductionIndexMapper.selectList(hxProductionIndex); + } + + @Override + public void importData(List list) { + list.forEach(hxProductionIndex -> { + if (EmptyUtil.isNotEmpty(hxProductionIndex.getRealCharge())) { + hxProductionIndexMapper.updateSelective(hxProductionIndex); + } + }); + } + + @Override + public Map getProductionIndexPic() { + Map returnMap = new HashMap(2); + List indexList = hxProductionIndexMapper.selectList(new HxProductionIndex()); + returnMap.put("pic1", indexList.size() > 0 ? indexList.get(0) : null); + List list = hxChargeDeliverMapper.selectList(new HxChargeDeliver()); + returnMap.put("pic2", list.size() > 0 ? list : null); + return returnMap; + } + +} diff --git a/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxProductionPlanServiceImpl.java b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxProductionPlanServiceImpl.java index cc8720e..941c977 100644 --- a/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxProductionPlanServiceImpl.java +++ b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxProductionPlanServiceImpl.java @@ -8,6 +8,7 @@ import com.ailanyin.model.HxProductionPlan; 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; @@ -47,12 +48,17 @@ public class HxProductionPlanServiceImpl implements HxProductionPlanService { public Map getProductionPlanPic() { Map returnMap = new HashMap(2); List monthList = hxProductionPlanMapper.getAllMonth(); + List mapList = new ArrayList<>(); monthList.forEach(month -> { + Map map = new HashMap(monthList.size()); HxProductionPlan plan = new HxProductionPlan(); plan.setMonth(month); - returnMap.put(month,selectHxProductionPlanList(plan)); + map.put(month,selectHxProductionPlanList(plan)); + mapList.add(map); }); returnMap.put("allMonth",monthList); + returnMap.put("allModel",hxProductionPlanMapper.getAllModel()); + returnMap.put("list",mapList); return returnMap; } diff --git a/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxProductionSituationServiceImpl.java b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxProductionSituationServiceImpl.java index 83e53da..1b798e1 100644 --- a/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxProductionSituationServiceImpl.java +++ b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxProductionSituationServiceImpl.java @@ -4,6 +4,7 @@ import com.ailanyin.admin.service.HxProductionSituationService; import com.ailanyin.common.utils.EmptyUtil; import com.ailanyin.mapper.HxProductionSituationMapper; import com.ailanyin.model.HxProductionSituation; +import org.springframework.security.core.parameters.P; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -31,8 +32,17 @@ public class HxProductionSituationServiceImpl implements HxProductionSituationSe public void importData(List list) { list.forEach(hxProductionSituation -> { if (EmptyUtil.isNotEmpty(hxProductionSituation.getMonth())) { - hxProductionSituationMapper.insertSelective(hxProductionSituation); + if (checkIsExist(hxProductionSituation)) { + hxProductionSituationMapper.updateSelective(hxProductionSituation); + } else { + hxProductionSituationMapper.insertSelective(hxProductionSituation); + } } }); } + + + private boolean checkIsExist(HxProductionSituation hxProductionSituation) { + return hxProductionSituationMapper.checkIsExist(hxProductionSituation) > 0; + } } diff --git a/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxReaderInfoServiceImpl.java b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxReaderInfoServiceImpl.java new file mode 100644 index 0000000..77d7586 --- /dev/null +++ b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxReaderInfoServiceImpl.java @@ -0,0 +1,68 @@ +package com.ailanyin.admin.service.impl; + +import com.ailanyin.common.exception.Asserts; +import com.ailanyin.common.utils.IpUtil; +import com.ailanyin.mapper.HxReaderInfoMapper; +import com.ailanyin.model.HxReaderInfo; +import com.ailanyin.admin.service.HxReaderInfoService; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.List; + +/** +* @author ailanyin +* @version 1.0 +* @since 2022-01-15 08:59:27 +*/ +@Service +public class HxReaderInfoServiceImpl implements HxReaderInfoService { + + @Resource + private HxReaderInfoMapper hxReaderInfoMapper; + + @Override + public List getListByParam(HxReaderInfo hxReaderInfo) { + return hxReaderInfoMapper.selectList(hxReaderInfo); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void insertHxReaderInfo(HxReaderInfo hxReaderInfo) { + checkData(hxReaderInfo); + hxReaderInfo.setCreateTime(new Date()); + // ip 192.168.0.125 -> id 125 + hxReaderInfo.setId(Long.parseLong(hxReaderInfo.getReaderIp().substring(hxReaderInfo.getReaderIp().lastIndexOf(".") + 1))); + hxReaderInfoMapper.insertSelective(hxReaderInfo); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void updateHxReaderInfo(HxReaderInfo hxReaderInfo) { + checkData(hxReaderInfo); + hxReaderInfoMapper.updateByPrimaryKeySelective(hxReaderInfo); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void deleteByIds(Long[] ids) { + hxReaderInfoMapper.deleteByIds(ids); + } + + @Override + public HxReaderInfo getInfo(Long id) { + return hxReaderInfoMapper.selectByPrimaryKey(id); + } + + private void checkData(HxReaderInfo hxReaderInfo) { + if (!IpUtil.checkIpIsTrue(hxReaderInfo.getReaderIp())) { + Asserts.fail(hxReaderInfo.getReaderIp() +" 格式不正确!"); + } + + if (hxReaderInfoMapper.checkIsExist(hxReaderInfo) > 0) { + Asserts.fail(hxReaderInfo.getReaderIp() +" 已存在!"); + } + } +} diff --git a/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxResponsibilityStatusServiceImpl.java b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxResponsibilityStatusServiceImpl.java index 3a16e82..0ea2b58 100644 --- a/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxResponsibilityStatusServiceImpl.java +++ b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxResponsibilityStatusServiceImpl.java @@ -32,7 +32,12 @@ public class HxResponsibilityStatusServiceImpl implements HxResponsibilityStatus public void importData(List list) { for (HxResponsibilityStatus responsibilityStatus : list) { if (EmptyUtil.isNotEmpty(responsibilityStatus.getDeptName())) { - hxResponsibilityStatusMapper.insertSelective(responsibilityStatus); + + if (checkIsExist(responsibilityStatus)) { + hxResponsibilityStatusMapper.updateSelective(responsibilityStatus); + } else { + hxResponsibilityStatusMapper.insertSelective(responsibilityStatus); + } } } } @@ -42,8 +47,16 @@ public class HxResponsibilityStatusServiceImpl implements HxResponsibilityStatus Map map = new HashMap(2); List list = selectHxResponsibilityStatusList(new HxResponsibilityStatus()); - map.put("list",list); - map.put("totalAndRate",hxResponsibilityStatusMapper.getTotalAndRate()); + map.put("list", list); + try { + map.put("totalAndRate", hxResponsibilityStatusMapper.getTotalAndRate()); + } catch (Exception e) { + map.put("totalAndRate", 0); + } return map; } + + private boolean checkIsExist(HxResponsibilityStatus hxResponsibilityStatus) { + return hxResponsibilityStatusMapper.checkIsExist(hxResponsibilityStatus) > 0; + } } diff --git a/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxSpcInfoServiceImpl.java b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxSpcInfoServiceImpl.java index ef9bc05..8527a93 100644 --- a/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxSpcInfoServiceImpl.java +++ b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxSpcInfoServiceImpl.java @@ -3,11 +3,14 @@ package com.ailanyin.admin.service.impl; import com.ailanyin.admin.service.HxSpcInfoService; import com.ailanyin.common.utils.EmptyUtil; import com.ailanyin.mapper.HxSpcInfoMapper; +import com.ailanyin.mapper.HxSpcProductMapper; import com.ailanyin.model.HxSpcInfo; +import com.ailanyin.model.HxSpcProduct; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.util.HashMap; import java.util.List; import java.util.Map; @@ -22,6 +25,8 @@ public class HxSpcInfoServiceImpl implements HxSpcInfoService { @Resource private HxSpcInfoMapper hxSpcInfoMapper; + @Resource + private HxSpcProductMapper hxSpcProductMapper; @Override public List selectHxSpcInfoList(HxSpcInfo hxSpcInfo) { @@ -32,14 +37,32 @@ public class HxSpcInfoServiceImpl implements HxSpcInfoService { public void importData(List list) { list.forEach(hxSpcInfo -> { if (EmptyUtil.isNotEmpty(hxSpcInfo.getSpcName())) { - hxSpcInfoMapper.insertSelective(hxSpcInfo); + + if (checkIsExist(hxSpcInfo)) { + hxSpcInfoMapper.updateSelective(hxSpcInfo); + } else { + hxSpcInfoMapper.insertSelective(hxSpcInfo); + } } }); } + private boolean checkIsExist(HxSpcInfo hxSpcInfo) { + return hxSpcInfoMapper.checkIsExist(hxSpcInfo) > 0; + } + @Override - public List getHxSpcPic(String category) { - return hxSpcInfoMapper.getHxSpcPic(category); + public Map getHxSpcPic(String category) { + Map returnMap = new HashMap(2); + HxSpcInfo hxSpcInfo = new HxSpcInfo(); + hxSpcInfo.setSpcName(category); + List infoList = selectHxSpcInfoList(hxSpcInfo); + returnMap.put("spc", infoList.size() > 0 ? infoList.get(0) : null); + HxSpcProduct hxSpcProduct = new HxSpcProduct(); + hxSpcProduct.setSpcName(category); + List hxSpcProducts = hxSpcProductMapper.selectList(hxSpcProduct); + returnMap.put("product", hxSpcProducts); + return returnMap; } @Override diff --git a/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxSpcProductServiceImpl.java b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxSpcProductServiceImpl.java new file mode 100644 index 0000000..b03778d --- /dev/null +++ b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxSpcProductServiceImpl.java @@ -0,0 +1,45 @@ +package com.ailanyin.admin.service.impl; + +import com.ailanyin.admin.service.HxSpcProductService; +import com.ailanyin.common.utils.EmptyUtil; +import com.ailanyin.mapper.HxSpcProductMapper; +import com.ailanyin.model.HxSpcProduct; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; + +/** + * @author ailanyin + * @version 1.0 + * @since 2021/12/23 0023 上午 9:42 + */ + +@Service +public class HxSpcProductServiceImpl implements HxSpcProductService { + @Resource + private HxSpcProductMapper hxSpcProductMapper; + + @Override + public List selectList(HxSpcProduct hxSpcProduct) { + return hxSpcProductMapper.selectList(hxSpcProduct); + } + + @Override + public void importData(List list) { + list.forEach(hxSpcProduct -> { + if (EmptyUtil.isNotEmpty(hxSpcProduct.getProductName())) { + if (checkIsExist(hxSpcProduct)) { + hxSpcProductMapper.updateSelective(hxSpcProduct); + } else { + hxSpcProductMapper.insertSelective(hxSpcProduct); + } + } + }); + } + + private boolean checkIsExist(HxSpcProduct hxSpcProduct) { + return hxSpcProductMapper.checkIsExist(hxSpcProduct) > 0; + } + +} diff --git a/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxStockDetailedServiceImpl.java b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxStockDetailedServiceImpl.java new file mode 100644 index 0000000..b03b725 --- /dev/null +++ b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxStockDetailedServiceImpl.java @@ -0,0 +1,47 @@ +package com.ailanyin.admin.service.impl; + +import com.ailanyin.admin.service.HxStockDetailedService; +import com.ailanyin.common.utils.BigDecimalUtil; +import com.ailanyin.common.utils.EmptyUtil; +import com.ailanyin.mapper.HxStockDetailedMapper; +import com.ailanyin.model.HxStockDetailed; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; + +/** + * @author ailanyin + * @version 1.0 + * @since 2021/12/22 0022 下午 17:16 + */ + +@Service +public class HxStockDetailedServiceImpl implements HxStockDetailedService { + + @Resource + private HxStockDetailedMapper hxStockDetailedMapper; + + + @Override + public List selectList(HxStockDetailed hxStockDetailed) { + return hxStockDetailedMapper.selectList(hxStockDetailed); + } + + @Override + public void importData(List list) { + list.forEach(hxStockDetailed -> { + if (EmptyUtil.isNotEmpty(hxStockDetailed.getCategory())) { + if (checkIsExist(hxStockDetailed)) { + hxStockDetailedMapper.updateSelective(hxStockDetailed); + } else { + hxStockDetailedMapper.insertSelective(hxStockDetailed); + } + } + }); + } + + private boolean checkIsExist(HxStockDetailed hxStockDetailed) { + return hxStockDetailedMapper.checkIsExist(hxStockDetailed) > 0; + } +} diff --git a/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxSynthesizeIndexServiceImpl.java b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxSynthesizeIndexServiceImpl.java index 4c8c08a..6b5b9f1 100644 --- a/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxSynthesizeIndexServiceImpl.java +++ b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxSynthesizeIndexServiceImpl.java @@ -63,7 +63,12 @@ public class HxSynthesizeIndexServiceImpl implements HxSynthesizeIndexService { //获取0进展指标 Long zeroTotal = hxSynthesizeIndexMapper.getZeroTotalByYear(nowYear); //获取总体完成率 - String rate = hxSynthesizeIndexMapper.getRateByYear(nowYear); + String rate = null; + try { + rate = hxSynthesizeIndexMapper.getRateByYear(nowYear); + } catch (Exception e) { + rate = "0"; + } returnMap.put("list",mapList); returnMap.put("zeroTotal",zeroTotal); returnMap.put("rate",rate); diff --git a/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxVideoServiceImpl.java b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxVideoServiceImpl.java new file mode 100644 index 0000000..63e7149 --- /dev/null +++ b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxVideoServiceImpl.java @@ -0,0 +1,211 @@ +package com.ailanyin.admin.service.impl; + +import cn.hutool.core.util.RuntimeUtil; +import com.ailanyin.admin.service.HxDangerousPointService; +import com.ailanyin.admin.service.HxVideoService; +import com.ailanyin.admin.service.HxVideoSystemService; +import com.ailanyin.admin.service.HxWorkHomeInfoService; +import com.ailanyin.common.service.RedisService; +import com.ailanyin.common.utils.EmptyUtil; +import com.ailanyin.common.utils.FileUtil; +import com.ailanyin.mapper.HxVideoMapper; +import com.ailanyin.mapper.HxVideoSystemMapper; +import com.ailanyin.model.HxDangerousPoint; +import com.ailanyin.model.HxVideo; +import com.ailanyin.model.HxVideoSystem; +import com.ailanyin.model.HxWorkHomeInfo; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; + +import javax.annotation.PostConstruct; +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import java.io.File; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * @author ailanyin + * @version 1.0 + * @since 2021/12/23 0023 下午 15:17 + */ + +@Service +public class HxVideoServiceImpl implements HxVideoService { + + @Resource + private HxVideoMapper hxVideoMapper; + @Value("${upload.path}") + private String path; + @Value("${hx.ip}") + private String ip; + @Value("${redis.database}") + private String database; + + @Autowired + private RedisService redisService; + @Autowired + private HxDangerousPointService hxDangerousPointService; + @Autowired + private HxVideoSystemService hxVideoSystemService; + @Autowired + private HxWorkHomeInfoService hxWorkHomeInfoService; + + @PostConstruct + public void init() { + System.out.println("视频推流运行开始..."); + handlePlayVideo(); + System.out.println("视频推流运行成功..."); + } + + @Override + public List selectList(HxVideo hxVideo) { + return hxVideoMapper.selectList(hxVideo); + } + + @Override + public void addHxVideo(HxVideo hxVideo) { + handleFileAddress(hxVideo); + hxVideoMapper.insertSelective(hxVideo); + handlePlayVideo(); + } + + @Override + public void updateHxVideo(HxVideo hxVideo) { + handleFileAddress(hxVideo); + hxVideoMapper.updateByPrimaryKeySelective(hxVideo); + handlePlayVideo(); + } + + @Override + public void delHxVideoById(Long hxVideoId) { + hxVideoMapper.deleteByPrimaryKey(hxVideoId); + handlePlayVideo(); + } + + @Override + public String getVideoByType(String type) { + if ("1".equals(type)) { + return redisService.get(database + ":rtmp:reward_punishment_video").toString(); + } else { + return redisService.get(database + ":rtmp:classic_cases_video").toString(); + } + } + + + private void handleFileAddress(HxVideo hxVideo) { + if (EmptyUtil.isNotEmpty(hxVideo.getVideoFileName())) { + if (hxVideo.getVideoFileName().startsWith("http")) { + hxVideo.setVideoFileName( + hxVideo.getVideoFileName().substring(hxVideo.getVideoFileName().lastIndexOf("/") + 1) + ); + } + } + } + + private void handlePlayVideo() { + killFfmpeg(); + try { + Thread.sleep(200); + } catch (InterruptedException e) { + e.printStackTrace(); + } + + // 安全点 + List pointList = hxDangerousPointService.selectHxDangerousPointList(new HxDangerousPoint()); + pointList.forEach(hxDangerousPoint -> { + hxDangerousPointService.handleRtmpToVideo(hxDangerousPoint); + }); + + // 视频实况信息 + List videoSystemList = hxVideoSystemService.selectHxVideoSystemList(new HxVideoSystem()); + videoSystemList.forEach(hxVideoSystem -> { + hxVideoSystemService.handleRtmpToVideo(hxVideoSystem); + }); + + // 工房 + List homeInfoList = hxWorkHomeInfoService.selectList(new HxWorkHomeInfo()); + homeInfoList.forEach(hxWorkHomeInfo -> { + hxWorkHomeInfoService.handleRtmpToVideo(hxWorkHomeInfo); + }); + //查询所有 + for (int i = 1; i < 3; i++) { + String category = String.valueOf(i); + List fileList = hxVideoMapper.selectFileByCategory(category); + List newList = new ArrayList<>(); + fileList.forEach(file -> { + file = "file '" + file + "'"; + newList.add(file); + }); + + String path = updateFile(category); + if (EmptyUtil.isNotEmpty(path)) { + cn.hutool.core.io.FileUtil.writeLines(newList, path, "utf-8", false); + try { + Thread.sleep(200); + } catch (InterruptedException e) { + e.printStackTrace(); + } + + restartFfmpeg(path); + } + } + } + + private String updateFile(String category) { + String fileName = ""; + if ("1".equals(category)) { + fileName = "reward_punishment_video.txt"; + } else { + fileName = "classic_cases_video.txt"; + } + // 新建文件 + File newFile = FileUtil.getAbsoluteFile(fileName, path); + String path = newFile.getAbsolutePath(); + if (!newFile.exists()) { + try { + if (!newFile.createNewFile()) { + System.out.println(path + "创建失败!"); + return null; + } + } catch (IOException e) { + e.printStackTrace(); + } + } + return path; + } + + private void killFfmpeg() { + String[] cmd = new String[]{"sh", "-c", "ps aux | grep \"ffmpeg\" |grep -v grep| cut -c 9-15 | xargs kill -9"}; + try { + Runtime.getRuntime().exec(cmd); + } catch (IOException e) { + e.printStackTrace(); + } + } + + private void restartFfmpeg(String path) { + String fileName = path.substring((path.lastIndexOf("/") + 1), path.lastIndexOf(".")); + // ffmpeg -stream_loop -1 -re -f concat -safe 0 -i a.txt -vcodec copy -acodec copy -f flv -y rtmp://192.168.0.148:1935/live/livestream + System.out.println("开始推: " +fileName); + String[] cmd = new String[]{"sh", "-c", "nohup ffmpeg -stream_loop -1 -re -f concat -safe 0 -i " + path + " -vcodec copy -acodec copy -f flv -y rtmp://127.0.0.1:1935/live/" + fileName + " >/opt/null 2>&1 &"}; + + try { + Runtime.getRuntime().exec(cmd); + } catch (IOException e) { + e.printStackTrace(); + } + + try { + Thread.sleep(500); + } catch (Exception e) { + e.printStackTrace(); + } + + + String url = "http://" + ip + "/stream/live/" + fileName + ".flv"; + redisService.set(database + ":rtmp:" + fileName, url); + } +} diff --git a/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxVideoSystemServiceImpl.java b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxVideoSystemServiceImpl.java index a851c5d..38141fe 100644 --- a/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxVideoSystemServiceImpl.java +++ b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxVideoSystemServiceImpl.java @@ -1,13 +1,17 @@ package com.ailanyin.admin.service.impl; import com.ailanyin.admin.service.HxVideoSystemService; +import com.ailanyin.common.service.RedisService; import com.ailanyin.common.utils.EmptyUtil; import com.ailanyin.mapper.HxVideoSystemMapper; import com.ailanyin.model.HxVideoSystem; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.io.IOException; import java.util.List; /** @@ -21,10 +25,24 @@ public class HxVideoSystemServiceImpl implements HxVideoSystemService { @Resource private HxVideoSystemMapper hxVideoSystemMapper; + @Value("${hx.ip}") + private String ip; + @Value("${redis.database}") + private String database; + + @Autowired + private RedisService redisService; @Override public List selectHxVideoSystemList(HxVideoSystem hxVideoSystem) { - return hxVideoSystemMapper.selectHxVideoSystemList(hxVideoSystem); + List list = hxVideoSystemMapper.selectHxVideoSystemList(hxVideoSystem); + list.forEach(hxVideo -> { + if (redisService.hasKey(database + ":rtmp:video" + hxVideo.getId())) { + String url = redisService.get(database + ":rtmp:video" + hxVideo.getId()).toString(); + hxVideo.setVideoAddress(url); + } + }); + return list; } @Override @@ -32,7 +50,24 @@ public class HxVideoSystemServiceImpl implements HxVideoSystemService { list.forEach(hxVideoSystem -> { if (EmptyUtil.isNotEmpty(hxVideoSystem.getVideoName())) { hxVideoSystemMapper.insertSelective(hxVideoSystem); + handleRtmpToVideo(hxVideoSystem); } }); } + + @Override + public void handleRtmpToVideo(HxVideoSystem hxVideoSystem) { + if (EmptyUtil.isNotEmpty(hxVideoSystem.getId()) && EmptyUtil.isNotEmpty(hxVideoSystem.getVideoAddress())) { + System.out.println("开始推: " +hxVideoSystem.getVideoName() +" 实况信息"); + String[] cmd = new String[]{"sh", "-c", "nohup ffmpeg -re -i " + hxVideoSystem.getVideoAddress() + " -vcodec copy -acodec copy -f flv -y rtmp://127.0.0.1:1935/live/video" + hxVideoSystem.getId() + " >/opt/null 2>&1 &"}; + try { + Runtime.getRuntime().exec(cmd); + } catch (IOException e) { + e.printStackTrace(); + } + + String url = "http://" + ip + "/stream/live/video" + hxVideoSystem.getId()+".flv"; + redisService.set(database + ":rtmp:video" + hxVideoSystem.getId(), url); + } + } } diff --git a/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxWorkHomeInfoServiceImpl.java b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxWorkHomeInfoServiceImpl.java new file mode 100644 index 0000000..93f6ae1 --- /dev/null +++ b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxWorkHomeInfoServiceImpl.java @@ -0,0 +1,84 @@ +package com.ailanyin.admin.service.impl; + +import com.ailanyin.admin.service.HxWorkHomeInfoService; +import com.ailanyin.common.service.RedisService; +import com.ailanyin.common.utils.BigDecimalUtil; +import com.ailanyin.common.utils.EmptyUtil; +import com.ailanyin.mapper.HxWorkHomeInfoMapper; +import com.ailanyin.model.HxWorkHomeInfo; +import com.ailanyin.model.HxWorkHomeInfo; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; + +/** + * @author ailanyin + * @version 1.0 + * @since 2021/12/23 0023 下午 18:42 + */ + +@Service +public class HxWorkHomeInfoServiceImpl implements HxWorkHomeInfoService { + @Resource + private HxWorkHomeInfoMapper hxWorkHomeInfoMapper; + @Value("${hx.ip}") + private String ip; + @Value("${redis.database}") + private String database; + + @Autowired + private RedisService redisService; + + @Override + public List selectList(HxWorkHomeInfo hxWorkHomeInfo) { + return hxWorkHomeInfoMapper.selectList(hxWorkHomeInfo); + } + + @Override + public void importData(List list) { + list.forEach(hxWorkHomeInfo -> { + if (EmptyUtil.isNotEmpty(hxWorkHomeInfo.getWorkHomeName())) { + hxWorkHomeInfoMapper.insertSelective(hxWorkHomeInfo); + handleRtmpToVideo(hxWorkHomeInfo); + } + }); + } + + @Override + public List getHxWorkHomePic() { + List list = selectList(new HxWorkHomeInfo()); + list.forEach(hxWorkHomeInfo -> { + if (redisService.hasKey(database + ":rtmp:hxWorkHomeInfo" + hxWorkHomeInfo.getId())) { + String url = redisService.get(database + ":rtmp:hxWorkHomeInfo" + hxWorkHomeInfo.getId()).toString(); + hxWorkHomeInfo.setAvAddress(url); + } + hxWorkHomeInfo.setUserList(hxWorkHomeInfoMapper.getWorkshopAllUserByName(hxWorkHomeInfo.getWorkshop())); + }); + return list; + } + + @Override + public void handleRtmpToVideo(HxWorkHomeInfo hxWorkHomeInfo) { + if (EmptyUtil.isNotEmpty(hxWorkHomeInfo.getId()) && EmptyUtil.isNotEmpty(hxWorkHomeInfo.getAvAddress())) { + System.out.println("开始推: " +hxWorkHomeInfo.getWorkHomeName() +" 工房"); + String[] cmd = new String[]{"sh", "-c", "nohup ffmpeg -re -i " + hxWorkHomeInfo.getAvAddress() + " -vcodec copy -acodec copy -f flv -y rtmp://127.0.0.1:1935/live/hxWorkHomeInfo" + hxWorkHomeInfo.getId() + " >/opt/null 2>&1 &"}; + try { + Runtime.getRuntime().exec(cmd); + } catch (IOException e) { + e.printStackTrace(); + } + + String url = "http://" + ip + "/stream/live/hxWorkHomeInfo" + hxWorkHomeInfo.getId()+".flv"; + redisService.set(database + ":rtmp:hxWorkHomeInfo" + hxWorkHomeInfo.getId(), url); + } + } + + private boolean checkIsExist(HxWorkHomeInfo hxWorkHomeInfo) { + return hxWorkHomeInfoMapper.checkIsExist(hxWorkHomeInfo) > 0; + } + +} diff --git a/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxWorkPlanServiceImpl.java b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxWorkPlanServiceImpl.java index a0b0655..4c122ed 100644 --- a/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxWorkPlanServiceImpl.java +++ b/ailanyin-admin/src/main/java/com/ailanyin/admin/service/impl/HxWorkPlanServiceImpl.java @@ -71,24 +71,30 @@ public class HxWorkPlanServiceImpl implements HxWorkPlanService { List mapList = new ArrayList<>(); planNameList.forEach(planName -> { Map map = new HashMap(); - map.put("name",planName); - map.put("value",hxWorkPlanMapper.getInfoByPlanName(planName)); + map.put("name", planName); + map.put("value", hxWorkPlanMapper.getInfoByPlanName(planName)); mapList.add(map); }); - returnMap.put("list",mapList); - returnMap.put("totalAndRate",hxWorkPlanMapper.getTotalAndRate()); + returnMap.put("list", mapList); + try { + returnMap.put("totalAndRate", hxWorkPlanMapper.getTotalAndRate()); + } catch (Exception e) { + returnMap.put("totalAndRate", 0); + } + return returnMap; } private Map getDetailed() { Map returnMap = new HashMap(2); - returnMap.put("list",selectHxWorkPlanList(new HxWorkPlan())); + returnMap.put("list", selectHxWorkPlanList(new HxWorkPlan())); return returnMap; } private List getAllExistPlanName() { return hxWorkPlanMapper.getAllExistPlanName(); } + private boolean checkIsExist(HxWorkPlan hxWorkPlan) { return hxWorkPlanMapper.checkIsExist(hxWorkPlan) > 0; } diff --git a/ailanyin-admin/src/main/java/com/ailanyin/admin/socket/SocketServerClientHandler.java b/ailanyin-admin/src/main/java/com/ailanyin/admin/socket/SocketServerClientHandler.java new file mode 100644 index 0000000..137f04d --- /dev/null +++ b/ailanyin-admin/src/main/java/com/ailanyin/admin/socket/SocketServerClientHandler.java @@ -0,0 +1,194 @@ +package com.ailanyin.admin.socket; + +import com.ailanyin.admin.runner.StartReaderRunner; +import com.ailanyin.common.service.RedisService; +import com.ailanyin.common.utils.ConvertUtil; +import com.ailanyin.common.utils.EmptyUtil; +import com.ailanyin.common.utils.ReaderUtil; +import com.ailanyin.common.utils.SpringUtil; +import com.ailanyin.mapper.HxCarLocationLogMapper; +import com.ailanyin.mapper.HxCarLocationMapMapper; +import com.ailanyin.mapper.HxCarLocationMapper; +import com.ailanyin.mapper.HxReaderInfoMapper; +import com.ailanyin.model.HxCarLocation; +import com.ailanyin.model.HxCarLocationLog; +import com.ailanyin.model.HxCarLocationMap; +import com.ailanyin.model.HxReaderInfo; +import com.ailanyin.security.service.WebSocketService; +import com.alibaba.fastjson.JSON; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.net.Socket; +import java.text.DecimalFormat; +import java.util.Date; +import java.util.HashMap; +import java.util.Map; + +/** + * @author ailanyin + * @version 1.0 + * @since 2022/1/15 0015 下午 13:35 + */ +public class SocketServerClientHandler extends Thread { + /** + * 每个消息通过Socket进行传输 + */ + private Socket clientConnectSocket; + + private HxReaderInfoMapper hxReaderInfoMapper = SpringUtil.getBean("hxReaderInfoMapper"); + + private HxCarLocationLogMapper hxCarLocationLogMapper = SpringUtil.getBean("hxCarLocationLogMapper"); + + private HxCarLocationMapper hxCarLocationMapper = SpringUtil.getBean("hxCarLocationMapper"); + + private RedisService redisService = SpringUtil.getBean("redisService"); + + private HxCarLocationMapMapper hxCarLocationMapMapper = SpringUtil.getBean("hxCarLocationMapMapper"); + + private DecimalFormat decimalFormat = new DecimalFormat(".00"); + + private String database = StartReaderRunner.database; + + public SocketServerClientHandler(Socket clientConnectSocket) { + this.clientConnectSocket = clientConnectSocket; + } + + @Override + public void run() { + try { + InputStream is = clientConnectSocket.getInputStream(); + BufferedReader br = new BufferedReader(new InputStreamReader(is)); + byte[] buf = new byte[11]; + int line = 0; + while ((line = is.read(buf)) != -1) { + String inputStreamStr = bytesToHexFun3(buf, true); + // 5A FF 08 00 00 01 60 7B 00 00 C3 + // 是自动上报 + if (ReaderUtil.checkActiveInitiative(inputStreamStr)) { + //获取读卡器标识 + long readerId = Long.parseLong(inputStreamStr.substring(3, 5), 16); + HxReaderInfo hxReaderInfo = hxReaderInfoMapper.selectByPrimaryKey(readerId); + if (EmptyUtil.isNotEmpty(hxReaderInfo)) { + createHxCarLocationLog(inputStreamStr, hxReaderInfo); + } + } + } + } catch (Exception e) { + e.printStackTrace(); + } + } + + private boolean checkIsNeedUpload(long cardNumber) { + if (redisService.hasKey(database + ":business:uploadInterval:" + cardNumber)) { + return false; + } + redisService.set(database + ":business:uploadInterval:" + cardNumber, cardNumber, Integer.valueOf(redisService.get(database + ":business:config:uploadInterval").toString())); + return true; + } + + /** + * 将字节数组转换成十六进制字符串 + * + * @param bytes 字节数组 + * @param flag 是否每一个字节后补空格 + * @return 十六进制字符串 + */ + public static final String bytesToHexFun3(byte[] bytes, boolean flag) { + StringBuilder buf = new StringBuilder(bytes.length * 2); + for (byte b : bytes) { + buf.append(String.format("%02x", new Integer(b & 0xFF))); + if (flag) { + buf.append(" "); + } + } + + if (flag) { + return buf.toString().substring(0, buf.toString().length() - 1).toUpperCase(); + } + return buf.toString().toUpperCase(); + } + + private void createHxCarLocationLog(String inputStreamStr, HxReaderInfo hxReaderInfo) { + + String[] split = inputStreamStr.split(" "); + int cardNumber = Integer.parseInt(split[4] + split[5] + split[6] + split[7], 16); + + //检查是否需要新增 + if (checkIsNeedUpload(cardNumber)) { + HxCarLocation hxCarLocation = hxCarLocationMapper.selectByCardNumber(cardNumber); + if (EmptyUtil.isNotEmpty(hxCarLocation)) { + createHxCarLocationLog(hxCarLocation, hxReaderInfo, split); + } + } + } + + private void createHxCarLocationLog(HxCarLocation hxCarLocation, HxReaderInfo hxReaderInfo, String[] split) { + HxCarLocationLog log = new HxCarLocationLog(); + //距离 + Integer distance = ReaderUtil.calculateDistance(split[9]); + if (distance >= 100) { + return; + } + log.setDistance(distance); + //低电压 + log.setLowVoltage(String.valueOf(Integer.parseInt(split[8], 16))); + //读卡器id + log.setReadId(hxReaderInfo.getId()); + //与正北夹角 + log.setNorthAngle(hxReaderInfo.getNorthAngle()); + //汽车横坐标 + log.setCarAbscissa(calculationAbscissa(hxReaderInfo, distance)); + //汽车纵坐标 + log.setCarOrdinate(calculationOrdinate(hxReaderInfo, distance)); + //车牌号 + log.setCarId(hxCarLocation.getCarId()); + //驾驶人姓名 + log.setDriverName(hxCarLocation.getDriverName()); + //驾驶人手机号 + log.setDriverPhone(hxCarLocation.getDriverPhone()); + //卡编号 + log.setCardNumber(hxCarLocation.getLocationCardNum()); + log.setCreateTime(new Date()); + hxCarLocationLogMapper.insertSelective(log); + try { + Map map = new HashMap(1); + map.put("isLocationUpdate", log); + WebSocketService.BroadCastInfo(JSON.toJSONString(map)); + } catch (IOException e) { + e.printStackTrace(); + } + } + + private String calculationAbscissa(HxReaderInfo hxReaderInfo, Integer distance) { + HxCarLocationMap hxCarLocationMap = getHxCarLocationMap(); + return String.valueOf(100 * (Float.valueOf(calculationSin(distance, hxReaderInfo.getNorthAngle())) * hxCarLocationMap.getScale() + + (hxCarLocationMap.getXPixel() * hxReaderInfo.getAbscissa() / 100)) / hxCarLocationMap.getXPixel()); + } + + private String calculationOrdinate(HxReaderInfo hxReaderInfo, Integer distance) { + HxCarLocationMap hxCarLocationMap = getHxCarLocationMap(); + return String.valueOf(100 * (Float.valueOf(calculationCos(distance, hxReaderInfo.getNorthAngle())) * hxCarLocationMap.getScale() + + (hxCarLocationMap.getYPixel() * hxReaderInfo.getOrdinate() / 100)) / hxCarLocationMap.getYPixel()); + } + + private String calculationSin(Integer coordinate, Integer northAngle) { + return decimalFormat.format(coordinate * Math.sin(Math.toRadians(northAngle))); + } + + private String calculationCos(Integer coordinate, Integer northAngle) { + return decimalFormat.format(coordinate * Math.cos(Math.toRadians(northAngle))); + } + + private HxCarLocationMap getHxCarLocationMap() { + if (redisService.hasKey(database +":business:carLocationMap")) { + return (HxCarLocationMap) redisService.get(database +":business:carLocationMap"); + } + + HxCarLocationMap map = hxCarLocationMapMapper.selectList(new HxCarLocationMap()).get(0); + redisService.set(database +":business:carLocationMap",map); + return map; + } +} diff --git a/ailanyin-admin/src/main/java/com/ailanyin/admin/socket/SocketServerListenHandler.java b/ailanyin-admin/src/main/java/com/ailanyin/admin/socket/SocketServerListenHandler.java new file mode 100644 index 0000000..76f3675 --- /dev/null +++ b/ailanyin-admin/src/main/java/com/ailanyin/admin/socket/SocketServerListenHandler.java @@ -0,0 +1,50 @@ +package com.ailanyin.admin.socket; + +import java.net.ServerSocket; +import java.net.Socket; + +/** + * @author ailanyin + * @version 1.0 + * @since 2022/1/15 0015 下午 13:33 + */ +public class SocketServerListenHandler { + + /** + * 这是一个不断等待获取网络传入请求的服务端Socket + */ + private ServerSocket serverSocket; + + /** + * 构造方法 + * @param port 端口 + */ + public SocketServerListenHandler(int port){ + try{ + serverSocket = new ServerSocket(port); + this.serverSocket = serverSocket; + }catch(Exception e){ + e.printStackTrace(); + } + } + + /** + * 无限循环的监听客户端的连接 + * Listens for a connection to be made to this socket and accepts it. + * 当有一个连接产生,将结束accept()方法的阻塞 + * The method blocks until a connection is made. + */ + public void listenClientConnect(){ + while(true){ + try { + System.out.println("========== TCP服务端监听开始 =========="); + Socket clientConnectSocket = serverSocket.accept(); + System.out.println("监听到客户端: "+clientConnectSocket.getInetAddress().getHostAddress()+" 已连接"); + new SocketServerClientHandler(clientConnectSocket).start(); + } catch (Exception e) { + System.out.println("服务端监听连接程序异常"); + } + } + } + +} diff --git a/ailanyin-admin/src/main/resources/application-dev.yml b/ailanyin-admin/src/main/resources/application-dev.yml index cd02327..ada54d1 100644 --- a/ailanyin-admin/src/main/resources/application-dev.yml +++ b/ailanyin-admin/src/main/resources/application-dev.yml @@ -2,8 +2,8 @@ spring: datasource: type: com.alibaba.druid.pool.DruidDataSource druid: - url: jdbc:dm://192.168.0.151:5236/AITEST?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 - username: ROOT + url: jdbc:dm://192.168.0.153:5236/AITEST?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 + username: SYSDBA password: root12345 driver-class-name: dm.jdbc.driver.DmDriver validation-query: SELECT 1 @@ -22,3 +22,11 @@ logging: upload: path: D:/${spring.application.name}/uploadPath/ + +ailanyin: + updatesql: + need-run: true + database-driver: dm.jdbc.driver.DmDriver + database-url: jdbc:dm://192.168.0.153:5236/AITEST?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 + database-username: SYSDBA + database-password: root12345 diff --git a/ailanyin-admin/src/main/resources/application-prod.yml b/ailanyin-admin/src/main/resources/application-prod.yml index 8fa24e2..01f3a4b 100644 --- a/ailanyin-admin/src/main/resources/application-prod.yml +++ b/ailanyin-admin/src/main/resources/application-prod.yml @@ -3,9 +3,11 @@ spring: type: com.alibaba.druid.pool.DruidDataSource druid: url: jdbc:dm://localhost:5236/AITEST?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 - username: ROOT + username: SYSDBA password: root12345 driver-class-name: dm.jdbc.driver.DmDriver + validation-query: SELECT 1 + redis: host: localhost # Redis服务器地址 @@ -17,3 +19,11 @@ spring: upload: path: /opt/${spring.application.name}/uploadPath +ailanyin: + updatesql: + need-run: true + database-driver: dm.jdbc.driver.DmDriver + database-url: jdbc:dm://localhost:5236/AITEST?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 + database-username: SYSDBA + database-password: root12345 + diff --git a/ailanyin-admin/src/main/resources/application.yml b/ailanyin-admin/src/main/resources/application.yml index 28439d5..f104cbe 100644 --- a/ailanyin-admin/src/main/resources/application.yml +++ b/ailanyin-admin/src/main/resources/application.yml @@ -4,12 +4,14 @@ spring: application: # name 是整个项目【文件服务】根路径的名称 也是【redis】根目录的名称 name: vis389-boot + #name: vis389 profiles: - active: dev # dev == windows == 开发, prod == linux == 线上 + active: prod # dev == windows == 开发, prod == linux == 线上 servlet: multipart: enabled: true #开启文件上传 - max-file-size: 10MB #限制文件上传大小为10M + max-file-size: 2048MB #限制文件上传大小为2G + max-request-size: 2048MB #限制文件上传大小为2G jackson: date-format: yyyy-MM-dd HH:mm:ss time-zone: GMT+8 @@ -42,3 +44,10 @@ hxDict: placeLevelParentId: 32 #危险点等级 alreadyUpdate: 已整改 #已整改 +hx: + ip: 10.20.20.5 + #ip: 192.168.0.154 + + + + diff --git a/ailanyin-admin/src/main/resources/sql/hx_car_location_0.sql b/ailanyin-admin/src/main/resources/sql/hx_car_location_0.sql new file mode 100644 index 0000000..36ed497 --- /dev/null +++ b/ailanyin-admin/src/main/resources/sql/hx_car_location_0.sql @@ -0,0 +1,34 @@ +CREATE TABLE "ROOT"."hx_car_location" +( + "id" BIGINT IDENTITY(1,1) NOT NULL, + "car_id" VARCHAR(255) NULL, + "car_model" VARCHAR(255) NULL, + "car_pic" VARCHAR(255) NULL, + "driver_name" VARCHAR(255) NULL, + "driver_phone" VARCHAR(255) NULL, + "location_card_num" VARCHAR(255) NULL, + "location_card_number" INT NULL, + "create_time" TIMESTAMP(0) NULL +); + +ALTER TABLE "ROOT"."hx_car_location" ADD CONSTRAINT PRIMARY KEY("id") ; + +CREATE UNIQUE INDEX "INDEX158554820482600" ON "ROOT"."hx_car_location"("id"); + +COMMENT ON COLUMN "ROOT"."hx_car_location"."id" IS 'ID'; + +COMMENT ON COLUMN "ROOT"."hx_car_location"."car_id" IS '车牌号'; + +COMMENT ON COLUMN "ROOT"."hx_car_location"."car_model" IS '车子型号'; + +COMMENT ON COLUMN "ROOT"."hx_car_location"."car_pic" IS '车子图片'; + +COMMENT ON COLUMN "ROOT"."hx_car_location"."driver_name" IS '驾驶人姓名'; + +COMMENT ON COLUMN "ROOT"."hx_car_location"."driver_phone" IS '驾驶人手机号'; + +COMMENT ON COLUMN "ROOT"."hx_car_location"."location_card_num" IS '车辆定位卡编号'; + +COMMENT ON COLUMN "ROOT"."hx_car_location"."location_card_number" IS '车辆定位卡去0编号(前端用不到)'; + +COMMENT ON COLUMN "ROOT"."hx_car_location"."create_time" IS '创建时间'; \ No newline at end of file diff --git a/ailanyin-admin/src/main/resources/sql/hx_car_location_config_0.sql b/ailanyin-admin/src/main/resources/sql/hx_car_location_config_0.sql new file mode 100644 index 0000000..201ec31 --- /dev/null +++ b/ailanyin-admin/src/main/resources/sql/hx_car_location_config_0.sql @@ -0,0 +1,7 @@ +CREATE TABLE "ROOT"."hx_car_location_config" +( + "upload_interval" INT NOT NULL +); + +COMMENT ON COLUMN "ROOT"."hx_car_location_config"."upload_interval" IS '上传间隔(整数秒)'; + diff --git a/ailanyin-admin/src/main/resources/sql/hx_car_location_log_0.sql b/ailanyin-admin/src/main/resources/sql/hx_car_location_log_0.sql new file mode 100644 index 0000000..b271706 --- /dev/null +++ b/ailanyin-admin/src/main/resources/sql/hx_car_location_log_0.sql @@ -0,0 +1,45 @@ +CREATE TABLE "ROOT"."hx_car_location_log" +( + "id" BIGINT IDENTITY(1,1) NOT NULL, + "card_number" VARCHAR(255) NULL, + "distance" INT NULL, + "low_voltage" INT NULL, + "read_id" BIGINT NULL, + "north_angle" INT NULL, + "car_abscissa" VARCHAR(255) NULL, + "car_ordinate" VARCHAR(255) NULL, + "car_id" VARCHAR(255) NULL, + "driver_name" VARCHAR(255) NULL, + "driver_phone" VARCHAR(255) NULL, + "create_time" TIMESTAMP(0) NULL +); + +ALTER TABLE "ROOT"."hx_car_location_log" ADD CONSTRAINT PRIMARY KEY("id") ; + +CREATE UNIQUE INDEX "INDEX173691208784900" ON "ROOT"."hx_car_location_log"("id"); + +COMMENT ON TABLE "ROOT"."hx_car_location_log" IS '汽车位置记录日志'; + +COMMENT ON COLUMN "ROOT"."hx_car_location_log"."id" IS 'ID'; + +COMMENT ON COLUMN "ROOT"."hx_car_location_log"."card_number" IS '卡片编号'; + +COMMENT ON COLUMN "ROOT"."hx_car_location_log"."distance" IS '距离'; + +COMMENT ON COLUMN "ROOT"."hx_car_location_log"."low_voltage" IS '低电压(1->是,0->否)'; + +COMMENT ON COLUMN "ROOT"."hx_car_location_log"."read_id" IS '阅读器Id'; + +COMMENT ON COLUMN "ROOT"."hx_car_location_log"."north_angle" IS '与正北夹角'; + +COMMENT ON COLUMN "ROOT"."hx_car_location_log"."car_abscissa" IS '汽车横坐标'; + +COMMENT ON COLUMN "ROOT"."hx_car_location_log"."car_ordinate" IS '汽车纵坐标'; + +COMMENT ON COLUMN "ROOT"."hx_car_location_log"."car_id" IS '车牌号'; + +COMMENT ON COLUMN "ROOT"."hx_car_location_log"."driver_name" IS '驾驶人姓名'; + +COMMENT ON COLUMN "ROOT"."hx_car_location_log"."driver_phone" IS '驾驶人手机号'; + +COMMENT ON COLUMN "ROOT"."hx_car_location_log"."create_time" IS '录入时间'; \ No newline at end of file diff --git a/ailanyin-admin/src/main/resources/sql/hx_car_location_map_0.sql b/ailanyin-admin/src/main/resources/sql/hx_car_location_map_0.sql new file mode 100644 index 0000000..90433e0 --- /dev/null +++ b/ailanyin-admin/src/main/resources/sql/hx_car_location_map_0.sql @@ -0,0 +1,17 @@ +CREATE TABLE "ROOT"."hx_car_location_map" +( + "pic" VARCHAR(255) NULL, + "x_pixel" INT NULL, + "y_pixel" INT NULL, + "scale" INT NULL +); + +COMMENT ON COLUMN "ROOT"."hx_car_location_map"."pic" IS '图片地址'; + +COMMENT ON COLUMN "ROOT"."hx_car_location_map"."x_pixel" IS 'X轴像素'; + +COMMENT ON COLUMN "ROOT"."hx_car_location_map"."y_pixel" IS 'Y轴像素'; + +COMMENT ON COLUMN "ROOT"."hx_car_location_map"."scale" IS '比例尺'; + +insert into ROOT."hx_car_location_map" VALUES(1,1,1,1) \ No newline at end of file diff --git a/ailanyin-admin/src/main/resources/sql/hx_quality_manage_0.sql b/ailanyin-admin/src/main/resources/sql/hx_quality_manage_0.sql new file mode 100644 index 0000000..49f7f06 --- /dev/null +++ b/ailanyin-admin/src/main/resources/sql/hx_quality_manage_0.sql @@ -0,0 +1,32 @@ +drop table "ROOT"."hx_quality_manage"; +CREATE TABLE "ROOT"."hx_quality_manage" +( +"id" BIGINT IDENTITY(1, 1) NOT NULL, +"month" VARCHAR(255), +"factory_problem_total" VARCHAR(255), +"factory_problem_rectification_total" VARCHAR(255), +"commonly_problem_total" VARCHAR(255), +"low_problem_total" VARCHAR(255), +"target_error_check" VARCHAR(255), +"real_error_check" VARCHAR(255), +"quality_plan_total" VARCHAR(255), +"quality_plan_complete_total" VARCHAR(255), +"quality_notification_total" VARCHAR(255), +"quality_notification_complete_total" VARCHAR(255), +NOT CLUSTER PRIMARY KEY("id")) STORAGE(ON "AITEST", CLUSTERBTR) ; + +COMMENT ON COLUMN "ROOT"."hx_quality_manage"."commonly_problem_total" IS '一般性质量问题数'; +COMMENT ON COLUMN "ROOT"."hx_quality_manage"."factory_problem_rectification_total" IS '质量体系问题整改数'; +COMMENT ON COLUMN "ROOT"."hx_quality_manage"."factory_problem_total" IS '质量体系问题总数'; +COMMENT ON COLUMN "ROOT"."hx_quality_manage"."low_problem_total" IS '低层次质量问题数'; +COMMENT ON COLUMN "ROOT"."hx_quality_manage"."quality_notification_complete_total" IS '质量通报完成数'; +COMMENT ON COLUMN "ROOT"."hx_quality_manage"."quality_notification_total" IS '质量通报总数'; +COMMENT ON COLUMN "ROOT"."hx_quality_manage"."quality_plan_complete_total" IS '质量计划完成数'; +COMMENT ON COLUMN "ROOT"."hx_quality_manage"."quality_plan_total" IS '质量计划总数'; +COMMENT ON COLUMN "ROOT"."hx_quality_manage"."real_error_check" IS '实际错漏检率'; +COMMENT ON COLUMN "ROOT"."hx_quality_manage"."target_error_check" IS '目标错漏检率'; + + +CREATE UNIQUE INDEX "INDEX261961689170500" ON "ROOT"."hx_quality_manage"("id" ASC) STORAGE(ON "AITEST", CLUSTERBTR) ; + + diff --git a/ailanyin-admin/src/main/resources/sql/hx_reader_info_0.sql b/ailanyin-admin/src/main/resources/sql/hx_reader_info_0.sql new file mode 100644 index 0000000..32cbead --- /dev/null +++ b/ailanyin-admin/src/main/resources/sql/hx_reader_info_0.sql @@ -0,0 +1,34 @@ +CREATE TABLE "ROOT"."hx_reader_info" +( + "id" BIGINT NOT NULL, + "reader_name" VARCHAR(255) NULL, + "abscissa" INT NULL, + "ordinate" INT NULL, + "north_angle" INT NULL, + "reader_ip" VARCHAR(255) NULL, + "reader_port" INT NULL, + "create_time" TIMESTAMP(0) NULL +); + +ALTER TABLE "ROOT"."hx_reader_info" ADD CONSTRAINT PRIMARY KEY("id") ; + +CREATE UNIQUE INDEX "INDEX153059190622200" ON "ROOT"."hx_reader_info"("id"); + +COMMENT ON TABLE "ROOT"."hx_reader_info" IS '读卡器'; + +COMMENT ON COLUMN "ROOT"."hx_reader_info"."id" IS 'ID'; + +COMMENT ON COLUMN "ROOT"."hx_reader_info"."reader_name" IS '读卡器名称'; + +COMMENT ON COLUMN "ROOT"."hx_reader_info"."abscissa" IS '横坐标'; + +COMMENT ON COLUMN "ROOT"."hx_reader_info"."ordinate" IS '纵坐标'; + +COMMENT ON COLUMN "ROOT"."hx_reader_info"."north_angle" IS '与正北夹角'; + +COMMENT ON COLUMN "ROOT"."hx_reader_info"."reader_ip" IS '读卡器静态ip'; + +COMMENT ON COLUMN "ROOT"."hx_reader_info"."reader_port" IS '读卡器端口'; + +COMMENT ON COLUMN "ROOT"."hx_reader_info"."create_time" IS '录入时间'; + diff --git a/ailanyin-admin/src/main/resources/sql/sys_menu_0.sql.bak b/ailanyin-admin/src/main/resources/sql/sys_menu_0.sql.bak new file mode 100644 index 0000000..03137d8 --- /dev/null +++ b/ailanyin-admin/src/main/resources/sql/sys_menu_0.sql.bak @@ -0,0 +1,94 @@ +delete from "ROOT"."sys_menu"; + +SET IDENTITY_INSERT "ROOT"."sys_menu" ON; + +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(1,'系统管理',0,12,'system',null,'',1,0,'M','0','0','','system','admin','2021-10-12 11:26:30','admin','2021-11-19 20:16:30','系统管理目录'); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(2,'系统监控',0,13,'monitor',null,'',1,0,'M','0','0','','monitor','admin','2021-10-12 11:26:30','admin','2021-11-19 20:16:34','系统监控目录'); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(100,'用户管理',1,1,'user','system/user/index','',1,0,'C','0','0','system:user:list','user','admin','2021-10-12 11:26:30','admin','2021-10-12 13:31:12','用户管理菜单'); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(101,'角色管理',1,2,'role','system/role/index','',1,0,'C','0','0','system:role:list','peoples','admin','2021-10-12 11:26:30','',null,'角色管理菜单'); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(102,'菜单管理',1,3,'menu','system/menu/index','',1,0,'C','0','0','system:menu:list','tree-table','admin','2021-10-12 11:26:30','',null,'菜单管理菜单'); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(103,'部门管理',1,4,'dept','system/dept/index','',1,0,'C','0','0','system:dept:list','tree','admin','2021-10-12 11:26:30','',null,'部门管理菜单'); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(104,'岗位管理',1,5,'post','system/post/index','',1,0,'C','0','0','system:post:list','post','admin','2021-10-12 11:26:30','',null,'岗位管理菜单'); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(105,'字典管理',1,6,'dict','system/dict/index','',1,0,'C','0','0','system:dict:list','dict','admin','2021-10-12 11:26:30','',null,'字典管理菜单'); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(106,'参数设置',1,7,'config','system/config/index','',1,0,'C','0','0','system:config:list','edit','admin','2021-10-12 11:26:30','','2021-10-15 17:20:32','参数设置菜单'); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(112,'服务监控',2,2,'server','monitor/server/index','',1,1,'C','0','0','monitor:server:list','server','admin','2021-10-12 11:26:30','','2021-11-03 09:16:24','服务监控菜单'); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(113,'缓存监控',2,3,'cache','monitor/cache/index','',1,1,'C','0','0','monitor:cache:list','redis','admin','2021-10-12 11:26:30','','2021-11-03 09:16:20','缓存监控菜单'); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(500,'操作日志',1,9,'operlog','monitor/operlog/index','',1,1,'C','0','0','system:log:list','form','admin','2021-10-12 11:26:30','','2021-10-29 17:26:50','操作日志菜单'); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(1001,'用户查询',100,1,'','','',1,0,'F','0','0','system:user:query','#','admin','2021-10-12 11:26:30','',null,''); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(1002,'用户新增',100,2,'','','',1,0,'F','0','0','system:user:add','#','admin','2021-10-12 11:26:30','',null,''); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(1003,'用户修改',100,3,'','','',1,0,'F','0','0','system:user:edit','#','admin','2021-10-12 11:26:30','',null,''); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(1004,'用户删除',100,4,'','','',1,0,'F','0','0','system:user:remove','#','admin','2021-10-12 11:26:30','',null,''); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(1005,'用户导出',100,5,'','','',1,0,'F','0','0','system:user:export','#','admin','2021-10-12 11:26:30','',null,''); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(1006,'用户导入',100,6,'','','',1,0,'F','0','0','system:user:import','#','admin','2021-10-12 11:26:30','',null,''); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(1007,'重置密码',100,7,'','','',1,0,'F','0','0','system:user:resetPwd','#','admin','2021-10-12 11:26:30','',null,''); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(1008,'角色查询',101,1,'','','',1,0,'F','0','0','system:role:query','#','admin','2021-10-12 11:26:30','',null,''); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(1009,'角色新增',101,2,'','','',1,0,'F','0','0','system:role:add','#','admin','2021-10-12 11:26:30','',null,''); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(1010,'角色修改',101,3,'','','',1,0,'F','0','0','system:role:edit','#','admin','2021-10-12 11:26:30','',null,''); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(1011,'角色删除',101,4,'','','',1,0,'F','0','0','system:role:remove','#','admin','2021-10-12 11:26:30','',null,''); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(1012,'权限重置',101,5,'','','',1,0,'F','0','0','system:role:refresh','#','admin','2021-10-12 11:26:30','','2021-10-26 14:53:55',''); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(1013,'菜单查询',102,1,'','','',1,0,'F','0','0','system:menu:query','#','admin','2021-10-12 11:26:30','',null,''); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(1014,'菜单新增',102,2,'','','',1,0,'F','0','0','system:menu:add','#','admin','2021-10-12 11:26:30','',null,''); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(1015,'菜单修改',102,3,'','','',1,0,'F','0','0','system:menu:edit','#','admin','2021-10-12 11:26:30','',null,''); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(1016,'菜单删除',102,4,'','','',1,0,'F','0','0','system:menu:remove','#','admin','2021-10-12 11:26:30','',null,''); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(1017,'部门查询',103,1,'','','',1,0,'F','0','0','system:dept:query','#','admin','2021-10-12 11:26:30','',null,''); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(1018,'部门新增',103,2,'','','',1,0,'F','0','0','system:dept:add','#','admin','2021-10-12 11:26:30','',null,''); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(1019,'部门修改',103,3,'','','',1,0,'F','0','0','system:dept:edit','#','admin','2021-10-12 11:26:30','',null,''); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(1020,'部门删除',103,4,'','','',1,0,'F','0','0','system:dept:remove','#','admin','2021-10-12 11:26:30','',null,''); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(1021,'岗位查询',104,1,'','','',1,0,'F','0','0','system:post:query','#','admin','2021-10-12 11:26:30','',null,''); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(1022,'岗位新增',104,2,'','','',1,0,'F','0','0','system:post:add','#','admin','2021-10-12 11:26:30','',null,''); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(1023,'岗位修改',104,3,'','','',1,0,'F','0','0','system:post:edit','#','admin','2021-10-12 11:26:30','',null,''); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(1024,'岗位删除',104,4,'','','',1,0,'F','0','0','system:post:remove','#','admin','2021-10-12 11:26:30','',null,''); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(1025,'岗位导出',104,5,'','','',1,0,'F','0','0','system:post:export','#','admin','2021-10-12 11:26:30','',null,''); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(1026,'字典查询',105,1,'#','','',1,0,'F','0','0','system:dict:query','#','admin','2021-10-12 11:26:30','',null,''); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(1027,'字典新增',105,2,'#','','',1,0,'F','0','0','system:dict:add','#','admin','2021-10-12 11:26:30','',null,''); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(1028,'字典修改',105,3,'#','','',1,0,'F','0','0','system:dict:edit','#','admin','2021-10-12 11:26:30','',null,''); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(1029,'字典删除',105,4,'#','','',1,0,'F','0','0','system:dict:remove','#','admin','2021-10-12 11:26:30','',null,''); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(1030,'字典导出',105,5,'#','','',1,0,'F','0','0','system:dict:export','#','admin','2021-10-12 11:26:30','',null,''); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(1031,'参数查询',106,1,'#','','',1,0,'F','0','0','system:config:query','#','admin','2021-10-12 11:26:30','',null,''); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(1032,'参数新增',106,2,'#','','',1,0,'F','0','0','system:config:add','#','admin','2021-10-12 11:26:30','',null,''); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(1033,'参数修改',106,3,'#','','',1,0,'F','0','0','system:config:edit','#','admin','2021-10-12 11:26:30','',null,''); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(1034,'参数删除',106,4,'#','','',1,0,'F','0','0','system:config:remove','#','admin','2021-10-12 11:26:30','',null,''); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(1035,'参数导出',106,5,'#','','',1,0,'F','0','0','system:config:export','#','admin','2021-10-12 11:26:30','',null,''); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(1040,'操作查询',500,1,'#','','',1,0,'F','0','0','system:log:query','#','admin','2021-10-12 11:26:30','','2021-10-29 13:27:44',''); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(1041,'操作删除',500,2,'#','','',1,0,'F','0','0','system:log:remove','#','admin','2021-10-12 11:26:30','','2021-10-29 13:27:49',''); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(1042,'日志导出',500,3,'#','','',1,0,'F','0','0','system:log:export','#','admin','2021-10-12 11:26:30','','2021-11-02 10:55:10',''); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(2002,'黑名单管理',1,10,'blacklist','system/blacklist/index',null,1,1,'C','0','0','','user','','2021-11-01 16:08:18','','2021-11-01 17:30:08',''); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(2003,'黑名单查询',2002,1,'',null,null,1,0,'F','0','0','system:blacklist:query','#','','2021-11-02 10:52:47','',null,''); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(2004,'黑名单删除',2002,2,'',null,null,1,0,'F','0','0','system:blacklist:remove','#','','2021-11-02 10:53:51','',null,''); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(2005,'黑名单导出',2002,3,'',null,null,1,0,'F','0','0','system:blacklist:export','#','','2021-11-02 10:54:21','',null,''); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(2006,'异常监控',2,1,'exception','monitor/exception/index',null,1,1,'C','0','0','','bug','','2021-11-02 21:51:00','','2021-11-03 09:16:54',''); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(2007,'回收站',100,10,'',null,null,1,0,'F','0','0','system:user:recovery','#','','2021-11-03 17:00:17','','2021-11-03 17:00:38',''); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(2008,'驾驶舱总览',2014,1,'/bigScreen/drivingCabin','',null,0,0,'C','0','0','','druid','admin','2021-11-19 20:01:17','admin','2021-12-03 16:52:27',''); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(2009,'科研生产',2014,2,'/bigScreen/scientific',null,null,0,0,'C','0','0','','nested','admin','2021-11-19 20:17:35','admin','2021-12-03 17:10:50',''); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(2010,'经营管理',2014,3,'/bigScreen/management',null,null,0,0,'C','0','0','','monitor','admin','2021-11-19 20:18:17','admin','2021-12-03 17:13:37',''); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(2011,'质量管理',2014,4,'/bigScreen/qualityManage',null,null,0,0,'C','0','0','','validCode','admin','2021-11-19 20:20:38','admin','2021-12-03 17:19:18',''); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(2012,'安全管理',2014,5,'/bigScreen/securityManage',null,null,0,0,'C','0','0','','international','admin','2021-11-19 20:21:35','admin','2021-12-03 17:25:18',''); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(2013,'信息化管理',2014,6,'/bigScreen/information',null,null,0,0,'C','0','0','','redis','admin','2021-11-19 20:33:02','admin','2021-12-03 17:25:27',''); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(2014,'科研生产驾驶舱',0,1,'bigScreen',null,null,1,0,'M','0','0','','guide','admin','2021-11-19 21:03:46','admin','2021-12-03 17:02:53',''); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(2015,'用户字典',2014,7,'bigScreen','bigScreen/userDictionary/index',null,1,0,'C','0','0','','clipboard','admin','2021-12-06 09:08:53','admin','2021-12-06 09:11:45',''); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(2023,'数据管理',0,2,'chartList',null,null,1,0,'M','0','0','','list','admin','2021-12-16 09:23:15','admin','2021-12-22 16:15:41',''); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(2024,'驾驶舱总览',2023,1,'page1','chartList/page1/index',null,1,0,'C','0','0','','chart','admin','2021-12-16 09:24:06','admin','2021-12-16 11:11:50',''); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(2032,'质量管理',2023,4,'page4','chartList/page4/index',null,1,0,'C','0','0','','chart','admin','2021-12-16 11:09:15','admin','2021-12-16 16:07:35',''); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(2035,'科研生产',2023,2,'page2',null,null,1,0,'M','0','0','','list','admin','2021-12-16 11:18:30','admin','2021-12-22 16:14:58',''); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(2036,'作业动态',2035,1,'one','chartList/page2/one/index',null,1,0,'C','0','0','','chart','admin','2021-12-16 11:18:54','admin','2021-12-16 11:21:30',''); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(2037,'生产管理',2035,2,'two','chartList/page2/two/index',null,1,0,'C','0','0','','chart','admin','2021-12-16 11:19:56','admin','2021-12-16 11:21:43',''); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(2038,'项目管理',2035,3,'three','chartList/page2/three/index',null,1,0,'C','0','0','','chart','admin','2021-12-16 11:20:15','admin','2021-12-16 11:21:55',''); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(2039,'安全管理',2023,5,'page5','chartList/page5/index',null,1,0,'C','0','0',null,'chart','admin','2021-12-16 16:11:23','',null,''); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(2040,'经营管理',2023,3,'page3','chartList/page3/index',null,1,0,'C','0','0','','chart','admin','2021-12-16 17:06:38','admin','2021-12-17 14:41:53',''); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(2041,'信息化管理',2023,6,'page6','chartList/page6/index',null,1,0,'C','0','0','','chart','admin','2021-12-16 17:07:38','admin','2021-12-17 10:00:59',''); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(2042,'车辆管理',0,3,'vehicleMent',null,null,1,0,'M','0','0','','example','admin','2022-01-15 09:48:02','admin','2022-01-15 09:50:29',''); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(2043,'日志管理',2042,5,'journal','vehicleMent/journal',null,1,0,'C','0','0','business:hxCarLocationLog:list','chart','admin','2022-01-15 09:54:27','admin','2022-01-17 15:36:16',''); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(2044,'车辆列表',2042,4,'add','vehicleMent/add',null,1,0,'C','0','0','business:hxCarLocation:list','chart','admin','2022-01-15 09:56:08','admin','2022-01-17 15:34:50',''); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(2045,'地图管理',2042,2,'map','vehicleMent/map',null,1,0,'C','0','0','business:hxCarLocationMap:list','chart','admin','2022-01-15 09:57:01','admin','2022-01-17 15:36:36',''); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(2046,'读卡器管理',2042,3,'reader','vehicleMent/reader',null,1,0,'C','0','0','business:hxReaderInfo:list','chart','admin','2022-01-15 10:08:48','admin','2022-01-17 15:36:26',''); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(2048,'车辆总览',2042,1,'overview','vehicleMent/overview',null,1,0,'C','0','0','','chart','admin','2022-01-15 16:30:06','admin','2022-01-15 17:27:32',''); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(2049,'车辆新增',2044,1,'',null,null,1,0,'F','0','0','business:hxCarLocation:add','#','admin','2022-01-17 15:25:15','admin','2022-01-17 15:25:50',''); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(2050,'车辆修改',2044,2,'',null,null,1,0,'F','0','0','business:hxCarLocation:edit','#','admin','2022-01-17 15:26:27','',null,''); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(2052,'删除车辆',2044,4,'',null,null,1,0,'F','0','0','business:hxCarLocation:remove','#','admin','2022-01-17 15:27:24','',null,''); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(2053,'读卡器新增',2046,1,'',null,null,1,0,'F','0','0','business:hxReaderInfo:add','#','admin','2022-01-17 15:29:03','',null,''); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(2054,'读卡器修改',2046,2,'',null,null,1,0,'F','0','0','business:hxReaderInfo:edit','#','admin','2022-01-17 15:29:25','',null,''); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(2056,'读卡器删除',2046,4,'',null,null,1,0,'F','0','0','business:hxReaderInfo:remove','#','admin','2022-01-17 15:30:11','',null,''); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(2058,'日志删除',2043,2,'',null,null,1,0,'F','0','0','business:hxCarLocationLog:remove','#','admin','2022-01-17 15:31:31','',null,''); +INSERT INTO "ROOT"."sys_menu"("menu_id","menu_name","parent_id","order_num","path","component","query","is_frame","is_cache","menu_type","visible","status","perms","icon","create_by","create_time","update_by","update_time","remark") VALUES(2060,'地图信息修改',2045,2,'',null,null,1,0,'F','0','0','business:hxCarLocationMap:edit','#','admin','2022-01-17 15:33:59','',null,''); + +SET IDENTITY_INSERT "ROOT"."sys_menu" OFF; \ No newline at end of file diff --git a/ailanyin-admin/src/main/resources/sql/sys_role_menu_0.sql.bak b/ailanyin-admin/src/main/resources/sql/sys_role_menu_0.sql.bak new file mode 100644 index 0000000..a7a0626 --- /dev/null +++ b/ailanyin-admin/src/main/resources/sql/sys_role_menu_0.sql.bak @@ -0,0 +1,145 @@ +delete from "ROOT"."sys_role_menu"; + +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,1); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,2); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,100); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,101); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,102); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,103); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,104); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,105); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,106); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,112); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,113); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,500); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,1001); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,1002); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,1003); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,1004); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,1005); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,1006); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,1007); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,1008); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,1009); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,1010); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,1011); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,1012); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,1013); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,1014); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,1015); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,1016); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,1017); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,1018); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,1019); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,1020); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,1021); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,1022); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,1023); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,1024); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,1025); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,1026); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,1027); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,1028); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,1029); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,1030); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,1031); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,1032); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,1033); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,1034); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,1035); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,1040); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,1041); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,1042); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,2002); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,2003); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,2004); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,2005); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,2006); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,2007); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,2008); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,2009); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,2010); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,2011); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,2012); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,2013); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,2014); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,2015); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,2023); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,2024); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,2032); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,2035); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,2036); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,2037); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,2038); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,2039); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,2040); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,2041); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,2042); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,2043); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,2044); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,2045); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,2046); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,2048); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,2049); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,2050); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,2052); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,2053); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,2054); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,2056); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,2058); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(1,2060); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(2,1); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(2,2); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(2,100); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(2,101); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(2,102); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(2,103); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(2,104); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(2,105); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(2,106); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(2,112); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(2,113); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(2,500); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(2,1001); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(2,1002); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(2,1003); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(2,1004); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(2,1005); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(2,1006); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(2,1007); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(2,1008); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(2,1009); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(2,1010); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(2,1011); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(2,1012); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(2,1013); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(2,1014); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(2,1015); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(2,1016); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(2,1017); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(2,1018); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(2,1019); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(2,1020); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(2,1021); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(2,1022); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(2,1023); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(2,1024); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(2,1025); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(2,1026); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(2,1027); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(2,1028); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(2,1029); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(2,1030); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(2,1031); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(2,1032); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(2,1033); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(2,1034); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(2,1035); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(2,1040); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(2,1041); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(2,1042); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(2,2002); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(2,2003); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(2,2004); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(2,2005); +INSERT INTO "ROOT"."sys_role_menu"("role_id","menu_id") VALUES(2,2006); \ No newline at end of file diff --git a/ailanyin-admin/src/test/java/com/ailanyin/test/RoleTest.java b/ailanyin-admin/src/test/java/com/ailanyin/test/RoleTest.java index 5f8c7b9..94d018b 100644 --- a/ailanyin-admin/src/test/java/com/ailanyin/test/RoleTest.java +++ b/ailanyin-admin/src/test/java/com/ailanyin/test/RoleTest.java @@ -1,11 +1,16 @@ package com.ailanyin.test; +import cn.hutool.core.io.FileUtil; import com.ailanyin.admin.AdminApplication; import com.ailanyin.admin.service.SysRoleService; +import com.ailanyin.mapper.SysLogMapper; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; +import javax.annotation.Resource; +import java.util.List; + /** * @author ailanyin * @version 1.0 @@ -16,8 +21,11 @@ public class RoleTest { @Autowired private SysRoleService roleService; + @Resource + private SysLogMapper sysLogMapper; @Test public void testRefreshRole() { - roleService.refreshRole(); + List list = sysLogMapper.getAllHxTable(); + FileUtil.writeLines(list,"D:\\opt\\tables.txt","UTF-8"); } } diff --git a/ailanyin-common/src/main/java/com/ailanyin/common/utils/CaptchaUtil.java b/ailanyin-common/src/main/java/com/ailanyin/common/utils/CaptchaUtil.java index 8cc0dd4..9ccc6d0 100644 --- a/ailanyin-common/src/main/java/com/ailanyin/common/utils/CaptchaUtil.java +++ b/ailanyin-common/src/main/java/com/ailanyin/common/utils/CaptchaUtil.java @@ -79,4 +79,6 @@ public class CaptchaUtil { return new Object[]{sb.toString(), image}; } + //public static String getRandom + } diff --git a/ailanyin-common/src/main/java/com/ailanyin/common/utils/ConvertUtil.java b/ailanyin-common/src/main/java/com/ailanyin/common/utils/ConvertUtil.java index 11d30b6..10af892 100644 --- a/ailanyin-common/src/main/java/com/ailanyin/common/utils/ConvertUtil.java +++ b/ailanyin-common/src/main/java/com/ailanyin/common/utils/ConvertUtil.java @@ -798,4 +798,82 @@ public class ConvertUtil { return head + s.replaceAll("(零.)*零元", "元").replaceFirst("(零.)+", "").replaceAll("(零.)+", "零").replaceAll("^整$", "零元整"); } + /** + * 16进制转2进制 + * + * @param hexString + * @return + */ + public static String hex2Binary(String hexString) { + if (hexString == null || hexString.length() % 2 != 0) { + return null; + } + String bString = "", tmp; + + for (int i = 0; i < hexString.length(); i++) { + tmp = "0000" + Integer.toBinaryString(Integer.parseInt(hexString.substring(i, i + 1), 16)); + bString += tmp.substring(tmp.length() - 4); + } + return bString; + + } + + /** + * 二进制相加 + * + * @param a + * @param b + * @return + */ + public static String binaryAdd(String a, String b) { + StringBuilder sb = new StringBuilder(); + int x = 0; + int y = 0; + int pre = 0; + int sum = 0; + + while (a.length() != b.length()) { + if (a.length() > b.length()) { + b = "0" + b; + } else { + a = "0" + a; + } + } + for (int i = a.length() - 1; i >= 0; i--) { + x = a.charAt(i) - '0'; + y = b.charAt(i) - '0'; + sum = x + y + pre; + if (sum >= 2) { + pre = 1; + sb.append(sum - 2); + } else { + pre = 0; + sb.append(sum); + } + } + if (pre == 1) { + sb.append("1"); + } + return sb.reverse().toString(); + } + + /** + * 二进制取反 0->1 1-> + * + * @param binary + * @return + */ + public static String binaryReverse(String binary) { + String[] split = binary.split(""); + String result = ""; + for (String s : split) { + if ("0".equals(s)) { + s = "1"; + } else { + s = "0"; + } + result = result + (s); + } + return result; + } } diff --git a/ailanyin-common/src/main/java/com/ailanyin/common/utils/DbUtil.java b/ailanyin-common/src/main/java/com/ailanyin/common/utils/DbUtil.java new file mode 100644 index 0000000..04e5dcb --- /dev/null +++ b/ailanyin-common/src/main/java/com/ailanyin/common/utils/DbUtil.java @@ -0,0 +1,60 @@ +package com.ailanyin.common.utils; + +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.SQLException; +import java.sql.Statement; + +/** + * 操作数据库 + * + * @author ailanyin + * @version 1.0 + * @since 2022-1-7 11:12:01 + */ +public class DbUtil { + + private static Statement stmt = null; + private static Connection connection = null; + + public static void runSql(String sql) { + try { + //1.加载jdbc驱动类 + Class.forName("dm.jdbc.driver.DmDriver"); + //2.获取远程mysql连接 + String url = "jdbc:dm://192.168.0.153:5236/AITEST?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8"; + String user = "SYSDBA"; + connection = DriverManager.getConnection(url, user, "root12345"); + //3.开启sql称述,(Statement,PreparedStatement(?占位符形式)),执行sql语句 + stmt = connection.createStatement(); + String[] split = sql.split(";"); + for (String s : split) { + if (EmptyUtil.isNotEmpty(s)) { + stmt.addBatch(s); + } + } + stmt.executeBatch(); + //4.获取结果集(只有查询有) + //5.对结果集进行操作(只有查询有) + } catch (Exception e) { + e.printStackTrace(); + } finally { + try { + if (stmt != null) { + stmt.close(); + } + } catch (SQLException e) { + e.printStackTrace(); + } + try { + if (connection != null) { + connection.close(); + } + } catch (SQLException e) { + e.printStackTrace(); + } + } + + } + +} diff --git a/ailanyin-common/src/main/java/com/ailanyin/common/utils/FileUtil.java b/ailanyin-common/src/main/java/com/ailanyin/common/utils/FileUtil.java index ecc74fb..2934544 100644 --- a/ailanyin-common/src/main/java/com/ailanyin/common/utils/FileUtil.java +++ b/ailanyin-common/src/main/java/com/ailanyin/common/utils/FileUtil.java @@ -255,4 +255,19 @@ public class FileUtil { String contextPath = request.getServletContext().getContextPath(); return url.delete(url.length() - request.getRequestURI().length(), url.length()).append(contextPath).toString(); } + + public static String getJarPath() { + try { + String filePath = FileUtil.class.getProtectionDomain().getCodeSource().getLocation().getFile(); + String jarPath = filePath.split(".jar!")[0]; + jarPath = jarPath.split("file:")[1]; + return jarPath.substring(0,jarPath.lastIndexOf("/")); + } catch (Exception e) { + File desc = new File("/opt/jar"); + if (!desc.exists()) { + desc.mkdir(); + } + return "/opt/jar"; + } + } } diff --git a/ailanyin-common/src/main/java/com/ailanyin/common/utils/IpUtil.java b/ailanyin-common/src/main/java/com/ailanyin/common/utils/IpUtil.java index 5772e63..6e6956b 100644 --- a/ailanyin-common/src/main/java/com/ailanyin/common/utils/IpUtil.java +++ b/ailanyin-common/src/main/java/com/ailanyin/common/utils/IpUtil.java @@ -6,6 +6,8 @@ import com.alibaba.fastjson.JSONObject; import javax.servlet.http.HttpServletRequest; import java.net.InetAddress; import java.net.UnknownHostException; +import java.util.regex.Matcher; +import java.util.regex.Pattern; /** * 获取IP工具类 @@ -25,7 +27,12 @@ public class IpUtil { private final static String X_REAL_IP = "X-Real-IP"; private final static String LOCALHOST = "127.0.0.1"; private final static String LOCALHOST_IPV6 = "0:0:0:0:0:0:0:1"; - public static final String IP_URL = "http://whois.pconline.com.cn/ipJson.jsp"; + private static final String IP_URL = "http://whois.pconline.com.cn/ipJson.jsp"; + private static final String CHECK_IP = "^(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|[1-9])\\." + + "(00?\\d|1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\." + + "(00?\\d|1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\." + + "(00?\\d|1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)$"; + private static Pattern pattern = Pattern.compile(CHECK_IP); /** * 获取请求的ip地址 @@ -97,4 +104,9 @@ public class IpUtil { } return CHINESE_UNKNOWN; } + + public static boolean checkIpIsTrue(String ipStr) { + Matcher matcher = pattern.matcher(ipStr); + return matcher.matches(); + } } diff --git a/ailanyin-common/src/main/java/com/ailanyin/common/utils/LinuxUtil.java b/ailanyin-common/src/main/java/com/ailanyin/common/utils/LinuxUtil.java new file mode 100644 index 0000000..1cd651a --- /dev/null +++ b/ailanyin-common/src/main/java/com/ailanyin/common/utils/LinuxUtil.java @@ -0,0 +1,125 @@ +package com.ailanyin.common.utils; + +import cn.hutool.core.io.FileUtil; + +import java.io.File; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/** + * @author ailanyin + * @version 1.0 + * @since 2022/1/6 0006 上午 10:03 + */ +public class LinuxUtil { + + public static void createJarService(String jarName,String filePath) { + + if (checkFileIsExist(jarName)) { + System.out.println("/etc/systemd/system/"+jarName+".Service 文件已存在,无需重新创建"); + return; + } + jarName = filePath + "/" + jarName; + createFiles(jarName); + createStartShell(jarName); + createStopShell(jarName); + addPersmission(jarName); + createServiceShell(jarName); + handleService(jarName); + } + + private static void createStartShell(String jarName) { + List list = new ArrayList<>(); + list.add("#!/bin/bash"); + list.add("export JAVA_HOME=/opt/jdk1.8"); + list.add("export JRE_HOME=/opt/jdk1.8/jre"); + list.add("export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH"); + list.add("export PATH=$JAVA_HOME/bin:$PATH"); + list.add("nohup java -jar "+ jarName + ".jar >" + jarName + ".out 2>&1 &"); + list.add("echo $! > /var/run/" + jarName.substring(jarName.lastIndexOf("/") + 1) + ".pid"); + cn.hutool.core.io.FileUtil.writeLines(list, jarName + "-start.sh", "UTF-8", false); + } + + private static void createStopShell(String jarName) { + List list = new ArrayList<>(); + list.add("#!/bin/bash"); + list.add("PID=$(cat /var/run/" + jarName.substring(jarName.lastIndexOf("/") + 1) + ".pid)"); + list.add("kill -9 $PID"); + cn.hutool.core.io.FileUtil.writeLines(list, jarName + "-stop.sh", "UTF-8", false); + } + + private static void createServiceShell(String jarName) { + List list = new ArrayList<>(); + list.add("[Unit]"); + list.add("Description=service for description"); + list.add("After=syslog.target network.target remote-fs.target nss-lookup.target"); + list.add(""); + list.add("[Service]"); + list.add("User=root"); + list.add("Type=forking"); + list.add("ExecStart=/bin/sh " + jarName + "-start.sh"); + list.add("ExecStop=/bin/sh " + jarName + "-stop.sh"); + list.add(""); + list.add("[Install]"); + list.add("WantedBy=multi-user.target"); + FileUtil.writeLines(list, jarName + ".service", "UTF-8", false); + } + + private static void addPersmission(String jarName) { + shell("chmod +x " + jarName + "-start.sh"); + shell("chmod +x " + jarName + "-stop.sh"); + shell("chmod +x " + jarName + ".service"); + } + + private static void handleService(String jarName) { + String projectName = jarName.substring(jarName.lastIndexOf("/") + 1); + shell("mv " + jarName + ".service /etc/systemd/system/" + projectName + ".service"); + shell("chmod +x " + "/etc/systemd/system/" + projectName + ".service"); + shell("systemctl daemon-reload"); + shell("systemctl enable " + projectName); + shell("systemctl daemon-reload"); + } + + private static void createFiles(String jarName) { + createFile( jarName + "-start.sh"); + createFile( jarName + "-stop.sh"); + createFile( jarName + ".service"); + } + + private static void createFile(String path) { + // 新建文件 + File newFile = new File(path); + if (!newFile.exists()) { + try { + if (!newFile.createNewFile()) { + System.out.println(path + "创建失败!"); + } else { + System.out.println("成功创建文件: " + path); + } + } catch (IOException e) { + e.printStackTrace(); + } + } + } + + /** + * linux执行shell + * + * ("sh", "-c" 可以执行复杂命令) + * @param shell 命令 + */ + public static void shell(String shell) { + String[] cmd = new String[]{"sh", "-c", shell}; + try { + Runtime.getRuntime().exec(cmd); + } catch (IOException e) { + e.printStackTrace(); + } + } + + private static boolean checkFileIsExist(String jarName) { + String path = "/etc/systemd/system/"+jarName+".Service"; + return cn.hutool.core.io.FileUtil.isFile(path); + } +} diff --git a/ailanyin-common/src/main/java/com/ailanyin/common/utils/ReaderUtil.java b/ailanyin-common/src/main/java/com/ailanyin/common/utils/ReaderUtil.java new file mode 100644 index 0000000..bf1626b --- /dev/null +++ b/ailanyin-common/src/main/java/com/ailanyin/common/utils/ReaderUtil.java @@ -0,0 +1,116 @@ +package com.ailanyin.common.utils; + +/** + * 阅读器工具类 + * + * @author ailanyin + * @version 1.0 + * @since 2022/1/14 0014 上午 9:49 + */ +public class ReaderUtil { + + /** + * 阅读器主动上报帧头 5A + */ + private static final String ACTIVE_INITIATIVE_HEAD = "5A"; + /** + * 阅读器主动上报长度 08 + */ + private static final String ACTIVE_INITIATIVE_LENGTH = "08"; + /** + * 阅读器操作执行的结果 00 表示正常 + */ + private static final String ACTIVE_INITIATIVE_STATUS_OK = "00"; + + /** + * 检查阅读器主动上报数据的真实性 + * + * @param data + * @return + */ + public static boolean checkActiveInitiative(String data) { + // 5A FF 08 00 00 01 60 7B 00 00 C3 + // 5A FF 08 00 00 01 62 87 00 2C 89 + if (!ACTIVE_INITIATIVE_HEAD.equals(data.substring(0, 2))) { + return false; + } + + if (!ACTIVE_INITIATIVE_LENGTH.equals(data.substring(6, 8))) { + return false; + } + + if (!ACTIVE_INITIATIVE_STATUS_OK.equals(data.substring(9, 11))) { + return false; + } + + if (!checkActiveInitiativeData(data)) { + return false; + } + + return true; + } + + private static boolean checkActiveInitiativeData(String data) { + // 5A FF 08 00 00 01 60 7B 00 00 C3 + // (5A+FF+08+00+00+01+60+7B+00+00) 相加取反加1,取最后两个字节位 和 最后C3比较 + String result = ""; + String[] s1 = data.split(" "); + for (int i = 0; i < s1.length - 1; i++) { + if (EmptyUtil.isNotEmpty(s1[i])) { + result = ConvertUtil.binaryAdd(result, ConvertUtil.hex2Binary(s1[i])); + } + } + String s2 = ConvertUtil.binaryAdd(ConvertUtil.binaryReverse(result), "1"); + return s2.substring(s2.length() - 8).equals(ConvertUtil.hex2Binary(s1[s1.length - 1])); + } + + public static Integer calculateDistance(String rssi) { + //十六进制 -> 十进制 + int distance = Integer.parseInt(rssi, 16); + + // 2A-2C + if (distance >= 42 && distance <= 44) { + return 0; + } + // 2D-2E + if (distance >= 45 && distance <= 46) { + return 5; + } + // 2F-32 + if (distance >= 47 && distance <= 50) { + return 10; + } + // 33-36 + if (distance >= 51 && distance <= 54) { + return 15; + } + // 38-3E + if (distance >= 56 && distance <= 62) { + return 25; + } + // 3F-42 + if (distance >= 63 && distance <= 66) { + return 50; + } + // 43-47 + if (distance >= 67 && distance <= 71) { + return 80; + } + // 48-50 + if (distance >= 72 && distance <= 80) { + return 110; + } + // 51-59 + if (distance >= 81 && distance <= 89) { + return 150; + } + + // 异常情况 + return 200; + } + + public static void main(String[] args) { + + System.out.println(checkActiveInitiativeData("5A FF 08 00 00 01 60 7B 00 00 C3")); + } +} diff --git a/ailanyin-model-mapper/src/main/java/com/ailanyin/mapper/HxBigPicMapper.java b/ailanyin-model-mapper/src/main/java/com/ailanyin/mapper/HxBigPicMapper.java new file mode 100644 index 0000000..c779a6a --- /dev/null +++ b/ailanyin-model-mapper/src/main/java/com/ailanyin/mapper/HxBigPicMapper.java @@ -0,0 +1,59 @@ +package com.ailanyin.mapper; + +import com.ailanyin.model.HxBigPic; + +import java.util.List; + +/** + * @author ailanyin + * @version 1.0 + * @since 2021/12/24 0024 上午 11:14 + */ +public interface HxBigPicMapper { + + int deleteByPrimaryKey(Long id); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table hx_big_pic + * + * @mbg.generated Fri Dec 24 03:12:17 UTC 2021 + */ + int insert(HxBigPic record); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table hx_big_pic + * + * @mbg.generated Fri Dec 24 03:12:17 UTC 2021 + */ + int insertSelective(HxBigPic record); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table hx_big_pic + * + * @mbg.generated Fri Dec 24 03:12:17 UTC 2021 + */ + HxBigPic selectByPrimaryKey(Long id); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table hx_big_pic + * + * @mbg.generated Fri Dec 24 03:12:17 UTC 2021 + */ + int updateByPrimaryKeySelective(HxBigPic record); + + /** + * This method was generated by MyBatis Generator. + * This method corresponds to the database table hx_big_pic + * + * @mbg.generated Fri Dec 24 03:12:17 UTC 2021 + */ + int updateByPrimaryKey(HxBigPic record); + + List selectList(HxBigPic hxBigPic); + + HxBigPic getByType(String type); +} diff --git a/ailanyin-model-mapper/src/main/java/com/ailanyin/mapper/HxCarLocationConfigMapper.java b/ailanyin-model-mapper/src/main/java/com/ailanyin/mapper/HxCarLocationConfigMapper.java new file mode 100644 index 0000000..fc8b0cf --- /dev/null +++ b/ailanyin-model-mapper/src/main/java/com/ailanyin/mapper/HxCarLocationConfigMapper.java @@ -0,0 +1,25 @@ +package com.ailanyin.mapper; + +import com.ailanyin.model.HxCarLocationConfig; + +/** + * @author ailanyin + * @version 1.0 + * @since 2022/1/17 0017 上午 9:10 + */ +public interface HxCarLocationConfigMapper { + + /** + * 查询上传的配置 + * + * @return hxCarLocationConfig + */ + HxCarLocationConfig selectConfig(); + + /** + * 添加配置 + * + * @param hxCarLocationConfig hxCarLocationConfig + */ + void insertConfig(HxCarLocationConfig hxCarLocationConfig); +} diff --git a/ailanyin-model-mapper/src/main/java/com/ailanyin/mapper/HxCarLocationLogMapper.java b/ailanyin-model-mapper/src/main/java/com/ailanyin/mapper/HxCarLocationLogMapper.java new file mode 100644 index 0000000..0393843 --- /dev/null +++ b/ailanyin-model-mapper/src/main/java/com/ailanyin/mapper/HxCarLocationLogMapper.java @@ -0,0 +1,61 @@ +package com.ailanyin.mapper; + +import com.ailanyin.model.HxCarLocationLog; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** +* @author ailanyin +* @version 1.0 +* @since 2022-01-15 09:50:40 +*/ +@Mapper +public interface HxCarLocationLogMapper{ + + /** + * 条件查询列表 + * + * @param hxCarLocationLog hxCarLocationLog + * @return list + */ + List selectList(HxCarLocationLog hxCarLocationLog); + + /** + * 新增 + * + * @param hxCarLocationLog hxCarLocationLog + */ + void insertSelective(HxCarLocationLog hxCarLocationLog); + + /** + * 修改 + * + * @param hxCarLocationLog hxCarLocationLog + */ + void updateByPrimaryKeySelective(HxCarLocationLog hxCarLocationLog); + + /** + * 批量删除 + * + * @param ids ids + */ + void deleteByIds(@Param("list") Long[] ids); + + /** + * 主键查询 + * + * @param id id + * @return hxCarLocationLog + */ + HxCarLocationLog selectByPrimaryKey(Long id); + + /** + * 获取大图数据 + * + * @return list + */ + List getBigPicData(); + +} diff --git a/ailanyin-model-mapper/src/main/java/com/ailanyin/mapper/HxCarLocationMapMapper.java b/ailanyin-model-mapper/src/main/java/com/ailanyin/mapper/HxCarLocationMapMapper.java new file mode 100644 index 0000000..6b0e927 --- /dev/null +++ b/ailanyin-model-mapper/src/main/java/com/ailanyin/mapper/HxCarLocationMapMapper.java @@ -0,0 +1,32 @@ +package com.ailanyin.mapper; + +import com.ailanyin.model.HxCarLocationMap; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** +* @author ailanyin +* @version 1.0 +* @since 2022-01-17 02:12:26 +*/ +@Mapper +public interface HxCarLocationMapMapper{ + + /** + * 条件查询列表 + * + * @param hxCarLocationMap hxCarLocationMap + * @return list + */ + List selectList(HxCarLocationMap hxCarLocationMap); + + /** + * 修改 + * + * @param hxCarLocationMap hxCarLocationMap + */ + void updateByPrimaryKeySelective(HxCarLocationMap hxCarLocationMap); + + +} diff --git a/ailanyin-model-mapper/src/main/java/com/ailanyin/mapper/HxCarLocationMapper.java b/ailanyin-model-mapper/src/main/java/com/ailanyin/mapper/HxCarLocationMapper.java new file mode 100644 index 0000000..d3f383d --- /dev/null +++ b/ailanyin-model-mapper/src/main/java/com/ailanyin/mapper/HxCarLocationMapper.java @@ -0,0 +1,84 @@ +package com.ailanyin.mapper; + +import com.ailanyin.model.HxCarLocation; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** +* @author ailanyin +* @version 1.0 +* @since 2022-01-11 01:36:18 +*/ +@Mapper +public interface HxCarLocationMapper{ + + /** + * 条件查询列表 + * + * @param hxCarLocation hxCarLocation + * @return list + */ + List selectList(HxCarLocation hxCarLocation); + + /** + * 新增 + * + * @param hxCarLocation hxCarLocation + */ + void insertSelective(HxCarLocation hxCarLocation); + + /** + * 修改 + * + * @param hxCarLocation hxCarLocation + */ + void updateByPrimaryKeySelective(HxCarLocation hxCarLocation); + + /** + * 批量删除 + * + * @param ids ids + */ + void deleteByIds(@Param("list") Long[] ids); + + /** + * 主键查询 + * + * @param id id + * @return hxCarLocation + */ + HxCarLocation selectByPrimaryKey(Long id); + + /** + * 检查识别卡是否已经绑定其他汽车 + * + * @param hxCarLocation hxCarLocation + * @return hxCarLocation + */ + HxCarLocation checkIsBind(HxCarLocation hxCarLocation); + + /** + * 将车和定位卡解绑 + * + * @param hxCarLocation hxCarLocation + */ + void notBindCarAndLocation(HxCarLocation hxCarLocation); + + /** + * 检查车牌号是否已经存在 + * + * @param hxCarLocation hxCarLocation + * @return hxCarLocation + */ + HxCarLocation checkCarIdIsExist(HxCarLocation hxCarLocation); + + /** + * 通过卡查询车 + * + * @param cardNumber cardNumber + * @return hxCarLocation + */ + HxCarLocation selectByCardNumber(int cardNumber); +} diff --git a/ailanyin-model-mapper/src/main/java/com/ailanyin/mapper/HxChargeDeliverMapper.java b/ailanyin-model-mapper/src/main/java/com/ailanyin/mapper/HxChargeDeliverMapper.java new file mode 100644 index 0000000..f23b463 --- /dev/null +++ b/ailanyin-model-mapper/src/main/java/com/ailanyin/mapper/HxChargeDeliverMapper.java @@ -0,0 +1,20 @@ +package com.ailanyin.mapper; + +import com.ailanyin.model.HxChargeDeliver; + +import java.util.List; + +/** + * @author ailanyin + * @version 1.0 + * @since 2021/12/23 0023 下午 13:18 + */ +public interface HxChargeDeliverMapper { + List selectList(HxChargeDeliver hxChargeDeliver); + + void updateSelective(HxChargeDeliver hxChargeDeliver); + + void insertSelective(HxChargeDeliver hxChargeDeliver); + + int checkIsExist(HxChargeDeliver hxChargeDeliver); +} diff --git a/ailanyin-model-mapper/src/main/java/com/ailanyin/mapper/HxCivilContractMapper.java b/ailanyin-model-mapper/src/main/java/com/ailanyin/mapper/HxCivilContractMapper.java index 6c0a437..3ed1473 100644 --- a/ailanyin-model-mapper/src/main/java/com/ailanyin/mapper/HxCivilContractMapper.java +++ b/ailanyin-model-mapper/src/main/java/com/ailanyin/mapper/HxCivilContractMapper.java @@ -22,4 +22,8 @@ public interface HxCivilContractMapper { Map selectTotalAndAmountByYear(String year); List selectCategoryTotalByYear(String year); + + List getAllMonth(); + + List selectCategoryByMonth(String month); } diff --git a/ailanyin-model-mapper/src/main/java/com/ailanyin/mapper/HxJobDetailsMapper.java b/ailanyin-model-mapper/src/main/java/com/ailanyin/mapper/HxJobDetailsMapper.java new file mode 100644 index 0000000..f077a6b --- /dev/null +++ b/ailanyin-model-mapper/src/main/java/com/ailanyin/mapper/HxJobDetailsMapper.java @@ -0,0 +1,18 @@ +package com.ailanyin.mapper; + +import com.ailanyin.model.HxJobDetails; + +import java.util.List; + +/** + * @author ailanyin + * @version 1.0 + * @since 2021/12/23 0023 下午 19:08 + */ +public interface HxJobDetailsMapper { + List selectList(HxJobDetails hxJobDetails); + + void insertSelective(HxJobDetails hxJobDetails); + + int checkIsExist(HxJobDetails hxJobDetails); +} diff --git a/ailanyin-model-mapper/src/main/java/com/ailanyin/mapper/HxMaterialsAccessoriesMapper.java b/ailanyin-model-mapper/src/main/java/com/ailanyin/mapper/HxMaterialsAccessoriesMapper.java index 57f0eab..e1f082a 100644 --- a/ailanyin-model-mapper/src/main/java/com/ailanyin/mapper/HxMaterialsAccessoriesMapper.java +++ b/ailanyin-model-mapper/src/main/java/com/ailanyin/mapper/HxMaterialsAccessoriesMapper.java @@ -3,6 +3,7 @@ package com.ailanyin.mapper; import com.ailanyin.model.HxMaterialsAccessories; import java.util.List; +import java.util.Map; /** * @author ailanyin @@ -18,4 +19,9 @@ public interface HxMaterialsAccessoriesMapper { void insertSelective(HxMaterialsAccessories hxMaterialsAccessories); + void updateByCategory(HxMaterialsAccessories hxMaterialsAccessories); + + List getAllNameByType(String type); + + List getTotalByTypeGroupByName(String type); } diff --git a/ailanyin-model-mapper/src/main/java/com/ailanyin/mapper/HxMonthDynamicMapper.java b/ailanyin-model-mapper/src/main/java/com/ailanyin/mapper/HxMonthDynamicMapper.java new file mode 100644 index 0000000..14e32ff --- /dev/null +++ b/ailanyin-model-mapper/src/main/java/com/ailanyin/mapper/HxMonthDynamicMapper.java @@ -0,0 +1,35 @@ +package com.ailanyin.mapper; + +import com.ailanyin.model.HxMonthDynamic; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** +* @author ailanyin +* @version 1.0 +* @since 2022-01-19 04:52:05 +*/ +@Mapper +public interface HxMonthDynamicMapper{ + + /** + * 条件查询列表 + * + * @param hxMonthDynamic hxMonthDynamic + * @return list + */ + List selectList(HxMonthDynamic hxMonthDynamic); + + /** + * 新增 + * + * @param hxMonthDynamic hxMonthDynamic + */ + void insertSelective(HxMonthDynamic hxMonthDynamic); + + int checkIsExist(HxMonthDynamic hxMonthDynamic); + + void updateByMonthSelective(HxMonthDynamic hxMonthDynamic); +} diff --git a/ailanyin-model-mapper/src/main/java/com/ailanyin/mapper/HxMonthFactoryPlanMapper.java b/ailanyin-model-mapper/src/main/java/com/ailanyin/mapper/HxMonthFactoryPlanMapper.java new file mode 100644 index 0000000..61ebb54 --- /dev/null +++ b/ailanyin-model-mapper/src/main/java/com/ailanyin/mapper/HxMonthFactoryPlanMapper.java @@ -0,0 +1,20 @@ +package com.ailanyin.mapper; + +import com.ailanyin.model.HxMonthFactoryPlan; + +import java.util.List; + +/** + * @author ailanyin + * @version 1.0 + * @since 2021/12/22 0022 下午 16:30 + */ +public interface HxMonthFactoryPlanMapper { + List selectList(HxMonthFactoryPlan hxMonthFactoryPlan); + + void updateSelective(HxMonthFactoryPlan hxMonthFactoryPlan); + + void insertSelective(HxMonthFactoryPlan hxMonthFactoryPlan); + + int checkIsExist(HxMonthFactoryPlan hxMonthFactoryPlan); +} diff --git a/ailanyin-model-mapper/src/main/java/com/ailanyin/mapper/HxMonthPlanMapper.java b/ailanyin-model-mapper/src/main/java/com/ailanyin/mapper/HxMonthPlanMapper.java new file mode 100644 index 0000000..7f13c3c --- /dev/null +++ b/ailanyin-model-mapper/src/main/java/com/ailanyin/mapper/HxMonthPlanMapper.java @@ -0,0 +1,20 @@ +package com.ailanyin.mapper; + +import com.ailanyin.model.HxMonthPlan; + +import java.util.List; + +/** + * @author ailanyin + * @version 1.0 + * @since 2021/12/22 0022 下午 15:42 + */ +public interface HxMonthPlanMapper { + int checkIsExist(HxMonthPlan hxMonthPlan); + + List selectList(HxMonthPlan hxMonthPlan); + + void updateSelective(HxMonthPlan hxMonthPlan); + + void insertSelective(HxMonthPlan hxMonthPlan); +} diff --git a/ailanyin-model-mapper/src/main/java/com/ailanyin/mapper/HxProductionIndexMapper.java b/ailanyin-model-mapper/src/main/java/com/ailanyin/mapper/HxProductionIndexMapper.java new file mode 100644 index 0000000..042c8b1 --- /dev/null +++ b/ailanyin-model-mapper/src/main/java/com/ailanyin/mapper/HxProductionIndexMapper.java @@ -0,0 +1,16 @@ +package com.ailanyin.mapper; + +import com.ailanyin.model.HxProductionIndex; + +import java.util.List; + +/** + * @author ailanyin + * @version 1.0 + * @since 2021/12/23 0023 下午 14:05 + */ +public interface HxProductionIndexMapper { + List selectList(HxProductionIndex hxProductionIndex); + + void updateSelective(HxProductionIndex hxProductionIndex); +} diff --git a/ailanyin-model-mapper/src/main/java/com/ailanyin/mapper/HxProductionPlanMapper.java b/ailanyin-model-mapper/src/main/java/com/ailanyin/mapper/HxProductionPlanMapper.java index e6c1c12..d51181f 100644 --- a/ailanyin-model-mapper/src/main/java/com/ailanyin/mapper/HxProductionPlanMapper.java +++ b/ailanyin-model-mapper/src/main/java/com/ailanyin/mapper/HxProductionPlanMapper.java @@ -21,6 +21,8 @@ public interface HxProductionPlanMapper { List getAllMonth(); + List getAllModel(); + List getModelProductionStatisticPic(String year); } diff --git a/ailanyin-model-mapper/src/main/java/com/ailanyin/mapper/HxProductionSituationMapper.java b/ailanyin-model-mapper/src/main/java/com/ailanyin/mapper/HxProductionSituationMapper.java index 15b7ff1..a9fdbec 100644 --- a/ailanyin-model-mapper/src/main/java/com/ailanyin/mapper/HxProductionSituationMapper.java +++ b/ailanyin-model-mapper/src/main/java/com/ailanyin/mapper/HxProductionSituationMapper.java @@ -13,4 +13,8 @@ public interface HxProductionSituationMapper { List selectList(HxProductionSituation hxProductionSituation); void insertSelective(HxProductionSituation hxProductionSituation); + + int checkIsExist(HxProductionSituation hxProductionSituation); + + void updateSelective(HxProductionSituation hxProductionSituation); } diff --git a/ailanyin-model-mapper/src/main/java/com/ailanyin/mapper/HxReaderInfoMapper.java b/ailanyin-model-mapper/src/main/java/com/ailanyin/mapper/HxReaderInfoMapper.java new file mode 100644 index 0000000..8a2a441 --- /dev/null +++ b/ailanyin-model-mapper/src/main/java/com/ailanyin/mapper/HxReaderInfoMapper.java @@ -0,0 +1,61 @@ +package com.ailanyin.mapper; + +import com.ailanyin.model.HxReaderInfo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** +* @author ailanyin +* @version 1.0 +* @since 2022-01-15 08:59:27 +*/ +@Mapper +public interface HxReaderInfoMapper{ + + /** + * 条件查询列表 + * + * @param hxReaderInfo hxReaderInfo + * @return list + */ + List selectList(HxReaderInfo hxReaderInfo); + + /** + * 新增 + * + * @param hxReaderInfo hxReaderInfo + */ + void insertSelective(HxReaderInfo hxReaderInfo); + + /** + * 修改 + * + * @param hxReaderInfo hxReaderInfo + */ + void updateByPrimaryKeySelective(HxReaderInfo hxReaderInfo); + + /** + * 批量删除 + * + * @param ids ids + */ + void deleteByIds(@Param("list") Long[] ids); + + /** + * 主键查询 + * + * @param id id + * @return hxReaderInfo + */ + HxReaderInfo selectByPrimaryKey(Long id); + + /** + * 查询 ip 是否存在 + * + * @param hxReaderInfo hxReaderInfo + * @return 个数 + */ + int checkIsExist(HxReaderInfo hxReaderInfo); +} diff --git a/ailanyin-model-mapper/src/main/java/com/ailanyin/mapper/HxResponsibilityStatusMapper.java b/ailanyin-model-mapper/src/main/java/com/ailanyin/mapper/HxResponsibilityStatusMapper.java index 3ce72fe..5a3e51b 100644 --- a/ailanyin-model-mapper/src/main/java/com/ailanyin/mapper/HxResponsibilityStatusMapper.java +++ b/ailanyin-model-mapper/src/main/java/com/ailanyin/mapper/HxResponsibilityStatusMapper.java @@ -33,4 +33,8 @@ public interface HxResponsibilityStatusMapper { * @return */ Map getTotalAndRate(); + + int checkIsExist(HxResponsibilityStatus hxResponsibilityStatus); + + void updateSelective(HxResponsibilityStatus responsibilityStatus); } diff --git a/ailanyin-model-mapper/src/main/java/com/ailanyin/mapper/HxSpcInfoMapper.java b/ailanyin-model-mapper/src/main/java/com/ailanyin/mapper/HxSpcInfoMapper.java index ac3513f..af60b18 100644 --- a/ailanyin-model-mapper/src/main/java/com/ailanyin/mapper/HxSpcInfoMapper.java +++ b/ailanyin-model-mapper/src/main/java/com/ailanyin/mapper/HxSpcInfoMapper.java @@ -40,4 +40,8 @@ public interface HxSpcInfoMapper { * @return */ List getHxSpcPic(String category); + + int checkIsExist(HxSpcInfo hxSpcInfo); + + void updateSelective(HxSpcInfo hxSpcInfo); } diff --git a/ailanyin-model-mapper/src/main/java/com/ailanyin/mapper/HxSpcProductMapper.java b/ailanyin-model-mapper/src/main/java/com/ailanyin/mapper/HxSpcProductMapper.java new file mode 100644 index 0000000..d109234 --- /dev/null +++ b/ailanyin-model-mapper/src/main/java/com/ailanyin/mapper/HxSpcProductMapper.java @@ -0,0 +1,20 @@ +package com.ailanyin.mapper; + +import com.ailanyin.model.HxSpcProduct; + +import java.util.List; + +/** + * @author ailanyin + * @version 1.0 + * @since 2021/12/23 0023 上午 9:40 + */ +public interface HxSpcProductMapper { + List selectList(HxSpcProduct hxSpcProduct); + + void updateSelective(HxSpcProduct hxSpcProduct); + + void insertSelective(HxSpcProduct hxSpcProduct); + + int checkIsExist(HxSpcProduct hxSpcProduct); +} diff --git a/ailanyin-model-mapper/src/main/java/com/ailanyin/mapper/HxStockDetailedMapper.java b/ailanyin-model-mapper/src/main/java/com/ailanyin/mapper/HxStockDetailedMapper.java new file mode 100644 index 0000000..859d101 --- /dev/null +++ b/ailanyin-model-mapper/src/main/java/com/ailanyin/mapper/HxStockDetailedMapper.java @@ -0,0 +1,20 @@ +package com.ailanyin.mapper; + +import com.ailanyin.model.HxStockDetailed; + +import java.util.List; + +/** + * @author ailanyin + * @version 1.0 + * @since 2021/12/22 0022 下午 17:15 + */ +public interface HxStockDetailedMapper { + List selectList(HxStockDetailed hxStockDetailed); + + int checkIsExist(HxStockDetailed hxStockDetailed); + + void updateSelective(HxStockDetailed hxStockDetailed); + + void insertSelective(HxStockDetailed hxStockDetailed); +} diff --git a/ailanyin-model-mapper/src/main/java/com/ailanyin/mapper/HxVideo.java b/ailanyin-model-mapper/src/main/java/com/ailanyin/mapper/HxVideo.java new file mode 100644 index 0000000..6dab8e9 --- /dev/null +++ b/ailanyin-model-mapper/src/main/java/com/ailanyin/mapper/HxVideo.java @@ -0,0 +1,9 @@ +package com.ailanyin.mapper; + +/** + * @author ailanyin + * @version 1.0 + * @since 2021/12/23 0023 下午 15:16 + */ +public interface HxVideo { +} diff --git a/ailanyin-model-mapper/src/main/java/com/ailanyin/mapper/HxVideoMapper.java b/ailanyin-model-mapper/src/main/java/com/ailanyin/mapper/HxVideoMapper.java new file mode 100644 index 0000000..0383332 --- /dev/null +++ b/ailanyin-model-mapper/src/main/java/com/ailanyin/mapper/HxVideoMapper.java @@ -0,0 +1,22 @@ +package com.ailanyin.mapper; + +import com.ailanyin.model.HxVideo; + +import java.util.List; + +/** + * @author ailanyin + * @version 1.0 + * @since 2021/12/23 0023 下午 15:17 + */ +public interface HxVideoMapper { + List selectList(HxVideo hxVideo); + + int deleteByPrimaryKey(Long id); + + int insertSelective(HxVideo record); + + int updateByPrimaryKeySelective(HxVideo record); + + List selectFileByCategory(String category); +} diff --git a/ailanyin-model-mapper/src/main/java/com/ailanyin/mapper/HxWorkHomeInfoMapper.java b/ailanyin-model-mapper/src/main/java/com/ailanyin/mapper/HxWorkHomeInfoMapper.java new file mode 100644 index 0000000..d719f5f --- /dev/null +++ b/ailanyin-model-mapper/src/main/java/com/ailanyin/mapper/HxWorkHomeInfoMapper.java @@ -0,0 +1,23 @@ +package com.ailanyin.mapper; + +import com.ailanyin.model.HxWorkHomeInfo; + +import java.util.List; +import java.util.Map; + +/** + * @author ailanyin + * @version 1.0 + * @since 2021/12/23 0023 下午 18:38 + */ +public interface HxWorkHomeInfoMapper { + int checkIsExist(HxWorkHomeInfo hxWorkHomeInfo); + + void insertSelective(HxWorkHomeInfo hxWorkHomeInfo); + + List selectList(HxWorkHomeInfo hxWorkHomeInfo); + + void updateSelective(HxWorkHomeInfo hxWorkHomeInfo); + + List getWorkshopAllUserByName(String workshop); +} diff --git a/ailanyin-model-mapper/src/main/java/com/ailanyin/mapper/SysLogMapper.java b/ailanyin-model-mapper/src/main/java/com/ailanyin/mapper/SysLogMapper.java index aef640e..1510286 100644 --- a/ailanyin-model-mapper/src/main/java/com/ailanyin/mapper/SysLogMapper.java +++ b/ailanyin-model-mapper/src/main/java/com/ailanyin/mapper/SysLogMapper.java @@ -2,7 +2,9 @@ package com.ailanyin.mapper; import com.ailanyin.model.SysLog; +import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; import java.util.List; @@ -35,4 +37,10 @@ public interface SysLogMapper { */ void insertLog(SysLog sysLog); + @Select("select table_name from dba_tables where owner= 'ROOT' and table_name like 'hx%'") + List getAllHxTable(); + + @Delete("delete from ${name}") + void deleteByName(String name); + } diff --git a/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxBigPic.java b/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxBigPic.java new file mode 100644 index 0000000..27b6d8f --- /dev/null +++ b/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxBigPic.java @@ -0,0 +1,53 @@ +package com.ailanyin.model; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @author ailanyin + * @version 1.0 + * @since 2021/12/24 0024 上午 11:12 + */ + +@Data +public class HxBigPic implements Serializable { + /** + * + * This field was generated by MyBatis Generator. + * This field corresponds to the database column hx_big_pic.id + * + * @mbg.generated Fri Dec 24 03:12:17 UTC 2021 + */ + private Long id; + + /** + * + * This field was generated by MyBatis Generator. + * This field corresponds to the database column hx_big_pic.type + * + * @mbg.generated Fri Dec 24 03:12:17 UTC 2021 + */ + @ApiModelProperty(value = "1=危险点图,2=工房图") + @Excel(name = "1=危险点图,2=工房图", width = 20) + private String type; + + /** + * + * This field was generated by MyBatis Generator. + * This field corresponds to the database column hx_big_pic.pic + * + * @mbg.generated Fri Dec 24 03:12:17 UTC 2021 + */ + private String pic; + + /** + * This field was generated by MyBatis Generator. + * This field corresponds to the database table hx_big_pic + * + * @mbg.generated Fri Dec 24 03:12:17 UTC 2021 + */ + private static final long serialVersionUID = 1L; +} diff --git a/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxCarLocation.java b/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxCarLocation.java new file mode 100644 index 0000000..bcbdb6c --- /dev/null +++ b/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxCarLocation.java @@ -0,0 +1,58 @@ +package com.ailanyin.model; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** +* +* +* @author ailanyin +* @version 1.0 +* @since 2022-01-15 10:48:21 +*/ +@Data +public class HxCarLocation implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "ID") + @Excel(name = "ID", width = 20) + private Long id; + + @ApiModelProperty(value = "车牌号") + @Excel(name = "车牌号", width = 20) + private String carId; + + @ApiModelProperty(value = "车子型号") + @Excel(name = "车子型号", width = 20) + private String carModel; + + @ApiModelProperty(value = "车子图片") + @Excel(name = "车子图片", width = 20) + private String carPic; + + @ApiModelProperty(value = "驾驶人姓名") + @Excel(name = "驾驶人姓名", width = 20) + private String driverName; + + @ApiModelProperty(value = "驾驶人手机号") + @Excel(name = "驾驶人手机号", width = 20) + private String driverPhone; + + @ApiModelProperty(value = "车辆定位卡编号") + @Excel(name = "车辆定位卡编号", width = 20) + private String locationCardNum; + + @ApiModelProperty(value = "车辆定位卡去0编号(前端用不到)") + @Excel(name = "车辆定位卡去0编号(前端用不到)", width = 20) + private Integer locationCardNumber; + + @ApiModelProperty(value = "创建时间") + @Excel(name = "创建时间", format = "yyyy-MM-dd HH:mm:ss", width = 30) + private Date createTime; + +} diff --git a/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxCarLocationConfig.java b/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxCarLocationConfig.java new file mode 100644 index 0000000..7f57331 --- /dev/null +++ b/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxCarLocationConfig.java @@ -0,0 +1,18 @@ +package com.ailanyin.model; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @author ailanyin + * @version 1.0 + * @since 2022/1/17 0017 上午 9:11 + */ +@Data +public class HxCarLocationConfig implements Serializable { + + private static final long serialVersionUID = 1L; + + private Integer uploadInterval; +} diff --git a/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxCarLocationLog.java b/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxCarLocationLog.java new file mode 100644 index 0000000..6d16889 --- /dev/null +++ b/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxCarLocationLog.java @@ -0,0 +1,73 @@ +package com.ailanyin.model; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; +import java.util.Map; + +/** +* 汽车位置记录日志 +* +* @author ailanyin +* @version 1.0 +* @since 2022-01-15 09:50:40 +*/ +@Data +public class HxCarLocationLog implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "ID") + @Excel(name = "ID", width = 20) + private Long id; + + @ApiModelProperty(value = "卡片编号") + @Excel(name = "卡片编号", width = 20) + private String cardNumber; + + @ApiModelProperty(value = "距离") + @Excel(name = "距离", width = 20) + private Integer distance; + + @ApiModelProperty(value = "低电压(1->是,0->否)") + @Excel(name = "低电压(1->是,0->否)", width = 20) + private String lowVoltage; + + @ApiModelProperty(value = "读卡器ID") + @Excel(name = "读卡器ID", width = 20) + private Long readId; + + @ApiModelProperty(value = "与正北夹角") + @Excel(name = "与正北夹角", width = 20) + private Integer northAngle; + + @ApiModelProperty(value = "汽车横坐标") + @Excel(name = "汽车横坐标", width = 20) + private String carAbscissa; + + @ApiModelProperty(value = "汽车纵坐标") + @Excel(name = "汽车纵坐标", width = 20) + private String carOrdinate; + + @ApiModelProperty(value = "车牌号") + @Excel(name = "车牌号", width = 20) + private String carId; + + @ApiModelProperty(value = "驾驶人姓名") + @Excel(name = "驾驶人姓名", width = 20) + private String driverName; + + @ApiModelProperty(value = "驾驶人手机号") + @Excel(name = "驾驶人手机号", width = 20) + private String driverPhone; + + @ApiModelProperty(value = "录入时间") + @Excel(name = "录入时间", format = "yyyy-MM-dd HH:mm:ss", width = 30) + private Date createTime; + + @ApiModelProperty(value = "查询参数(beginTime,endTime)") + private Map params; +} diff --git a/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxCarLocationMap.java b/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxCarLocationMap.java new file mode 100644 index 0000000..df252ff --- /dev/null +++ b/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxCarLocationMap.java @@ -0,0 +1,38 @@ +package com.ailanyin.model; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** +* +* +* @author ailanyin +* @version 1.0 +* @since 2022-01-17 02:12:25 +*/ +@Data +public class HxCarLocationMap implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "图片地址") + @Excel(name = "图片地址", width = 20) + private String pic; + + @ApiModelProperty(value = "X轴像素") + @Excel(name = "X轴像素", width = 20) + private Integer xPixel; + + @ApiModelProperty(value = "Y轴像素") + @Excel(name = "Y轴像素", width = 20) + private Integer yPixel; + + @ApiModelProperty(value = "比例尺") + @Excel(name = "比例尺", width = 20) + private Integer scale; + +} diff --git a/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxChargeDeliver.java b/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxChargeDeliver.java new file mode 100644 index 0000000..486efb0 --- /dev/null +++ b/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxChargeDeliver.java @@ -0,0 +1,49 @@ +package com.ailanyin.model; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @author ailanyin + * @version 1.0 + * @since 2021/12/23 0023 下午 13:15 + */ + +@Data +public class HxChargeDeliver implements Serializable { + + private Long id; + + @ApiModelProperty(value = "月份") + @Excel(name = "月份", width = 20) + private String month; + + @ApiModelProperty(value = "大型装药量数量") + @Excel(name = "大型装药量数量", width = 20) + private String bigCharge; + + @ApiModelProperty(value = "中型装药量数量") + @Excel(name = "中型装药量数量", width = 20) + private String mediumCharge; + + @ApiModelProperty(value = "小型装药量数量") + @Excel(name = "小型装药量数量", width = 20) + private String smallCharge; + + @ApiModelProperty(value = "目标装药量") + @Excel(name = "目标装药量", width = 20) + private String targetCharge; + + @ApiModelProperty(value = "交付数量") + @Excel(name = "交付数量", width = 20) + private String realDeliver; + + @ApiModelProperty(value = "目标交付数量") + @Excel(name = "目标交付数量", width = 20) + private String targetDeliver; + + private static final long serialVersionUID = 1L; +} diff --git a/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxJobDetails.java b/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxJobDetails.java new file mode 100644 index 0000000..b7fd3d3 --- /dev/null +++ b/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxJobDetails.java @@ -0,0 +1,42 @@ +package com.ailanyin.model; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @author ailanyin + * @version 1.0 + * @since 2021/12/23 0023 下午 19:06 + */ + +@Data +public class HxJobDetails implements Serializable { + + private Long id; + + @ApiModelProperty(value = "工房名称") + @Excel(name = "工房名称", width = 20) + private String workHome; + + @ApiModelProperty(value = "车间名称") + @Excel(name = "车间名称", width = 20) + private String workshop; + + @ApiModelProperty(value = "产品") + @Excel(name = "产品", width = 20) + private String product; + + @ApiModelProperty(value = "工序名称") + @Excel(name = "工序名称", width = 20) + private String procedure; + + @ApiModelProperty(value = "危险级别") + @Excel(name = "危险级别", width = 20) + private String dangerLevel; + + + private static final long serialVersionUID = 1L; +} diff --git a/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxMaterialsAccessories.java b/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxMaterialsAccessories.java index 9584232..cec8b31 100644 --- a/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxMaterialsAccessories.java +++ b/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxMaterialsAccessories.java @@ -16,17 +16,16 @@ import java.io.Serializable; public class HxMaterialsAccessories implements Serializable { private Long id; - - @ApiModelProperty(value = "日期") - @Excel(name = "日期", width = 20) + @ApiModelProperty(value = "前端不要显示这个字段") + //@Excel(name = "日期", width = 20) private String todayDate; @ApiModelProperty(value = "类型(原材料/配套件)") @Excel(name = "类型(原材料/配套件)", width = 20) private String category; - @ApiModelProperty(value = "名称") - @Excel(name = "名称", width = 20) + @ApiModelProperty(value = "型号名称") + @Excel(name = "型号名称", width = 20) private String name; @ApiModelProperty(value = "现有可满足生产台数") diff --git a/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxModelStation.java b/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxModelStation.java index b2c0af1..aa24863 100644 --- a/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxModelStation.java +++ b/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxModelStation.java @@ -40,5 +40,7 @@ public class HxModelStation implements Serializable { @Excel(name = "空闲工位数", width = 20) private String freeNumber; + private String total; + private static final long serialVersionUID = 1L; } diff --git a/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxMonthDynamic.java b/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxMonthDynamic.java new file mode 100644 index 0000000..9aac169 --- /dev/null +++ b/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxMonthDynamic.java @@ -0,0 +1,52 @@ +package com.ailanyin.model; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** +* 本月动态 +* +* @author ailanyin +* @version 1.0 +* @since 2022-01-19 04:55:45 +*/ +@Data +public class HxMonthDynamic implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "ID") + private Long id; + + @ApiModelProperty(value = "月份") + @Excel(name = "月份", width = 20) + private String month; + + @ApiModelProperty(value = "本月收入") + @Excel(name = "本月收入", width = 20) + private String income; + + @ApiModelProperty(value = "本月支出") + @Excel(name = "本月支出", width = 20) + private String expenditure; + + @ApiModelProperty(value = "本月新签合同数") + @Excel(name = "本月新签合同数", width = 20) + private String newContract; + + @ApiModelProperty(value = "本月安全问题数") + @Excel(name = "本月安全问题数", width = 20) + private String safetyProblem; + + @ApiModelProperty(value = "本月质量问题") + @Excel(name = "本月质量问题", width = 20) + private String qualityProblem; + + @ApiModelProperty(value = "录入时间") + private Date createTime; + +} diff --git a/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxMonthFactoryPlan.java b/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxMonthFactoryPlan.java new file mode 100644 index 0000000..f4ce582 --- /dev/null +++ b/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxMonthFactoryPlan.java @@ -0,0 +1,58 @@ +package com.ailanyin.model; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @author ailanyin + * @version 1.0 + * @since 2021/12/22 0022 下午 16:26 + */ + +@Data +public class HxMonthFactoryPlan implements Serializable { + + private Long id; + + @ApiModelProperty(value = "月份") + @Excel(name = "月份", width = 20) + private String month; + + @ApiModelProperty(value = "隔热完成数量") + @Excel(name = "隔热完成数量", width = 20) + private String realInsulate; + + @ApiModelProperty(value = "隔热计划数量") + @Excel(name = "隔热计划数量", width = 20) + private String targetInsulate; + + @ApiModelProperty(value = "装药完成数量") + @Excel(name = "装药完成数量", width = 20) + private String realCharge; + + @ApiModelProperty(value = "装药计划数量") + @Excel(name = "装药计划数量", width = 20) + private String targetCharge; + + @ApiModelProperty(value = "总装完成数量") + @Excel(name = "总装完成数量", width = 20) + private String realAssemble; + + @ApiModelProperty(value = "总装计划数量") + @Excel(name = "总装计划数量", width = 20) + private String targetAssemble; + + @ApiModelProperty(value = "未完成原因") + private String badReason; + + private String insulateRate; + + private String chargeRate; + + private String assembleRate; + + private static final long serialVersionUID = 1L; +} diff --git a/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxMonthPlan.java b/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxMonthPlan.java new file mode 100644 index 0000000..f3a83a5 --- /dev/null +++ b/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxMonthPlan.java @@ -0,0 +1,63 @@ +package com.ailanyin.model; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @author ailanyin + * @version 1.0 + * @since 2021/12/22 0022 下午 15:38 + */ + +@Data +public class HxMonthPlan implements Serializable { + + private Long id; + + @ApiModelProperty(value = "月份") + @Excel(name = "月份", width = 20) + private String month; + + @ApiModelProperty(value = "归属(厂计划/六院计划)") + @Excel(name = "归属(厂计划/六院计划)", width = 20) + private String ascription; + + @ApiModelProperty(value = "型号") + @Excel(name = "型号", width = 20) + private String model; + + @ApiModelProperty(value = "装药完成数") + @Excel(name = "装药完成数", width = 20) + private String realCharge; + + @ApiModelProperty(value = "装药计划数") + @Excel(name = "装药计划数", width = 20) + private String targetCharge; + + @ApiModelProperty(value = "总装完成数") + @Excel(name = "总装完成数", width = 20) + private String realAssemble; + + @ApiModelProperty(value = "总装计划数") + @Excel(name = "总装计划数", width = 20) + private String targetAssemble; + + @ApiModelProperty(value = "交付完成数") + @Excel(name = "交付完成数", width = 20) + private String realDeliver; + + @ApiModelProperty(value = "交付计划数") + @Excel(name = "交付计划数", width = 20) + private String targetDeliver; + + private String chargeRate; + + private String assembleRate; + + private String deliverRate; + + private static final long serialVersionUID = 1L; +} diff --git a/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxProductCompletionOverview.java b/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxProductCompletionOverview.java index cf19c1d..4b6d6df 100644 --- a/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxProductCompletionOverview.java +++ b/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxProductCompletionOverview.java @@ -20,6 +20,10 @@ public class HxProductCompletionOverview implements Serializable { private Long id; + + @Excel(name = "月份", width = 20) + private String month; + @ApiModelProperty(value = "产品型号名称") @Excel(name = "产品型号名称", width = 20) private String productName; @@ -32,8 +36,6 @@ public class HxProductCompletionOverview implements Serializable { @ApiModelProperty(value = "交付完成率") @Excel(name = "交付完成率", width = 20) private String completionRate; - @Excel(name = "月份", width = 20) - private String month; private Date createTime; diff --git a/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxProductionIndex.java b/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxProductionIndex.java new file mode 100644 index 0000000..e7fa3a2 --- /dev/null +++ b/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxProductionIndex.java @@ -0,0 +1,62 @@ +package com.ailanyin.model; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @author ailanyin + * @version 1.0 + * @since 2021/12/23 0023 下午 14:00 + */ + +@Data +public class HxProductionIndex implements Serializable { + + private Long id; + + @ApiModelProperty(value = "实际军品收入累计数") + @Excel(name = "实际军品收入累计数", width = 20) + private String realMilitaryIncome; + + @ApiModelProperty(value = "目标军品收入数") + @Excel(name = "目标军品收入数", width = 20) + private String targetMilitaryIncome; + + @ApiModelProperty(value = "实际装药量累计数") + @Excel(name = "实际装药量累计数", width = 20) + private String realCharge; + + @ApiModelProperty(value = "装药量目标数") + @Excel(name = "装药量目标数", width = 20) + private String targetCharge; + + @ApiModelProperty(value = "大型产品实际累计数") + @Excel(name = "大型产品实际累计数", width = 20) + private String realBigProduct; + + @ApiModelProperty(value = "大型产品年目标数") + @Excel(name = "大型产品年目标数", width = 20) + private String targetBigProduct; + + @ApiModelProperty(value = "中型产品实际累计数") + @Excel(name = "中型产品实际累计数", width = 20) + private String realMediumProduct; + + @ApiModelProperty(value = "中型产品年目标数") + @Excel(name = "中型产品年目标数", width = 20) + private String targetMediumProduct; + + @ApiModelProperty(value = "小型产品实际累计数") + @Excel(name = "小型产品实际累计数", width = 20) + private String realSmallProduct; + + @ApiModelProperty(value = "小型产品年目标数") + @Excel(name = "小型产品年目标数", width = 20) + private String targetSmallProduct; + + private static final long serialVersionUID = 1L; + +} diff --git a/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxProductionResponsibility.java b/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxProductionResponsibility.java index b79a39c..2c3a7ad 100644 --- a/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxProductionResponsibility.java +++ b/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxProductionResponsibility.java @@ -19,6 +19,10 @@ public class HxProductionResponsibility implements Serializable { private Long id; + @ApiModelProperty(value = "月份") + @Excel(name = "月份", width = 20) + private String month; + @ApiModelProperty(value = "型号名称") @Excel(name = "型号名称", width = 20) private String translateName; @@ -35,9 +39,6 @@ public class HxProductionResponsibility implements Serializable { @Excel(name = "完成率", width = 20) private String completionRate; - @ApiModelProperty(value = "月份") - @Excel(name = "月份", width = 20) - private String month; private Date createTime; diff --git a/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxProductionSituation.java b/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxProductionSituation.java index 8740491..11d662e 100644 --- a/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxProductionSituation.java +++ b/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxProductionSituation.java @@ -21,53 +21,26 @@ public class HxProductionSituation implements Serializable { @Excel(name = "月份", width = 20) private String month; - @ApiModelProperty(value = "型号") - @Excel(name = "型号", width = 20) - private String model; - - @ApiModelProperty(value = "类型") - @Excel(name = "类型(填大/中/小)", width = 20) - private String category; - - @ApiModelProperty(value = "生产计划名称") - @Excel(name = "生产计划名称", width = 20) - private String planName; - - @ApiModelProperty(value = "绝热计划数量") - @Excel(name = "绝热计划数量", width = 20) - private String targetAdiabat; @ApiModelProperty(value = "绝热完成数量") @Excel(name = "绝热完成数量", width = 20) private String realAdiabat; - @ApiModelProperty(value = "装药计划数") - @Excel(name = "装药计划数", width = 20) - private String targetCharge; @ApiModelProperty(value = "装药完成数") @Excel(name = "装药完成数", width = 20) private String realCharge; - @ApiModelProperty(value = "总装计划数") - @Excel(name = "总装计划数", width = 20) - private String targetAssemble; @ApiModelProperty(value = "总装完成数") @Excel(name = "总装完成数", width = 20) private String realAssemble; - @ApiModelProperty(value = "交付计划数") - @Excel(name = "交付计划数", width = 20) - private String targetDeliver; @ApiModelProperty(value = "实际交付数") @Excel(name = "实际交付数", width = 20) private String realDeliver; - @ApiModelProperty(value = "酯计划数") - @Excel(name = "酯计划数", width = 20) - private String targetEster; @ApiModelProperty(value = "酯实际产量") @Excel(name = "酯实际产量", width = 20) diff --git a/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxQualityManage.java b/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxQualityManage.java index 86e1b8a..ce469c0 100644 --- a/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxQualityManage.java +++ b/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxQualityManage.java @@ -37,13 +37,13 @@ public class HxQualityManage implements Serializable { @Excel(name = "低层次质量问题数", width = 20) private String lowProblemTotal; - @ApiModelProperty(value = "产品错检率") - @Excel(name = "产品错检率", width = 20) - private String errorCheckTotal; + @ApiModelProperty(value = "产品目标错漏检率") + //@Excel(name = "产品目标错漏检率(填数字,不要%)", width = 26) + private String targetErrorCheck; - @ApiModelProperty(value = "产品漏检率") - @Excel(name = "产品漏检率", width = 20) - private String leakCheckTotal; + @ApiModelProperty(value = "产品实际错漏检率(填数字,不要%)") + @Excel(name = "产品实际错漏检率(填数字,不要%)", width = 26) + private String realErrorCheck; @ApiModelProperty(value = "质量计划总数") @Excel(name = "质量计划总数", width = 20) diff --git a/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxReaderInfo.java b/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxReaderInfo.java new file mode 100644 index 0000000..c01098e --- /dev/null +++ b/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxReaderInfo.java @@ -0,0 +1,54 @@ +package com.ailanyin.model; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** +* 读卡器 +* +* @author ailanyin +* @version 1.0 +* @since 2022-01-15 08:59:27 +*/ +@Data +public class HxReaderInfo implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "ID") + @Excel(name = "ID", width = 20) + private Long id; + + @ApiModelProperty(value = "读卡器名称") + @Excel(name = "读卡器名称", width = 20) + private String readerName; + + @ApiModelProperty(value = "横坐标") + @Excel(name = "横坐标", width = 20) + private Integer abscissa; + + @ApiModelProperty(value = "纵坐标") + @Excel(name = "纵坐标", width = 20) + private Integer ordinate; + + @ApiModelProperty(value = "与正北夹角") + @Excel(name = "与正北夹角", width = 20) + private Integer northAngle; + + @ApiModelProperty(value = "读卡器静态ip") + @Excel(name = "读卡器静态ip", width = 20) + private String readerIp; + + @ApiModelProperty(value = "读卡器端口") + @Excel(name = "读卡器端口", width = 20) + private Integer readerPort; + + @ApiModelProperty(value = "录入时间") + @Excel(name = "录入时间", format = "yyyy-MM-dd HH:mm:ss", width = 30) + private Date createTime; + +} diff --git a/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxSpcInfo.java b/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxSpcInfo.java index 4708c4a..82f0611 100644 --- a/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxSpcInfo.java +++ b/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxSpcInfo.java @@ -23,14 +23,6 @@ public class HxSpcInfo implements Serializable { @Excel(name = "SPC参数", width = 20) private String spcName; - @ApiModelProperty(value = "关键参数类别") - @Excel(name = "关键参数类别", width = 20) - private String paramCategory; - - @ApiModelProperty(value = "产品实物") - @Excel(name = "产品实物", width = 20) - private String product; - @ApiModelProperty(value = "控制上限") @Excel(name = "控制上限", width = 20) private String upperLimit; diff --git a/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxSpcProduct.java b/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxSpcProduct.java new file mode 100644 index 0000000..6451ccd --- /dev/null +++ b/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxSpcProduct.java @@ -0,0 +1,33 @@ +package com.ailanyin.model; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @author ailanyin + * @version 1.0 + * @since 2021/12/23 0023 上午 9:37 + */ + +@Data +public class HxSpcProduct implements Serializable { + + private Long id; + + @ApiModelProperty(value = "SPC参数") + @Excel(name = "SPC参数", width = 20) + private String spcName; + + @ApiModelProperty(value = "产品实物名称") + @Excel(name = "产品实物名称", width = 20) + private String productName; + + @ApiModelProperty(value = "实际值") + @Excel(name = "实际值", width = 20) + private String realValue; + + private static final long serialVersionUID = 1L; +} diff --git a/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxStockDetailed.java b/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxStockDetailed.java new file mode 100644 index 0000000..7be9a4e --- /dev/null +++ b/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxStockDetailed.java @@ -0,0 +1,45 @@ +package com.ailanyin.model; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @author ailanyin + * @version 1.0 + * @since 2021/12/22 0022 下午 17:13 + */ + +@Data +public class HxStockDetailed implements Serializable { + + private Long id; + + @ApiModelProperty(value = "分类(原材料/配套件)") + @Excel(name = "分类(原材料/配套件)", width = 20) + private String category; + + @ApiModelProperty(value = "项目名称") + @Excel(name = "项目名称", width = 20) + private String projectName; + + @ApiModelProperty(value = "原材料或配套件的名称") + @Excel(name = "原材料或配套件的名称", width = 20) + private String name; + + @ApiModelProperty(value = "数量") + @Excel(name = "数量", width = 20) + private String total; + + @ApiModelProperty(value = "到货数量") + @Excel(name = "到货数量", width = 20) + private String arrivalTotal; + + @ApiModelProperty(value = "已用数量") + @Excel(name = "已用数量", width = 20) + private String usedTotal; + + private static final long serialVersionUID = 1L; +} diff --git a/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxSynthesizeIndex.java b/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxSynthesizeIndex.java index 293d005..a62e122 100644 --- a/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxSynthesizeIndex.java +++ b/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxSynthesizeIndex.java @@ -29,7 +29,7 @@ public class HxSynthesizeIndex implements Serializable { private String projectName; @ApiModelProperty(value = "完成状态") - @Excel(name = "完成状态", width = 20) + @Excel(name = "完成状态(已完成/进行中/未完成)", width = 35) private String completedStatus; private static final long serialVersionUID = 1L; diff --git a/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxTodayDynamic.java b/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxTodayDynamic.java index 6c376ac..7bd13d8 100644 --- a/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxTodayDynamic.java +++ b/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxTodayDynamic.java @@ -18,24 +18,18 @@ public class HxTodayDynamic implements Serializable { private Long id; - @ApiModelProperty(value = "今日收入") - @Excel(name = "今日收入", width = 20) + @ApiModelProperty(value = "今日日期") + @Excel(name = "今日日期", width = 20) + private String todayDate; + private String income; - @ApiModelProperty(value = "今日支出") - @Excel(name = "今日支出", width = 20) private String expenditure; - @ApiModelProperty(value = "今日新签合同数") - @Excel(name = "今日新签合同数", width = 20) private String newContract; - @ApiModelProperty(value = "今日安全问题数") - @Excel(name = "今日安全问题数", width = 20) private String safetyProblem; - @ApiModelProperty(value = "今日质量问题数") - @Excel(name = "今日质量问题数", width = 20) private String qualityProblem; @ApiModelProperty(value = "今日运行设备数") @@ -63,20 +57,13 @@ public class HxTodayDynamic implements Serializable { private String totalTask; @ApiModelProperty(value = "设备运行率") - @Excel(name = "设备运行率", width = 20) private String equipmentRate; @ApiModelProperty(value = "员工出勤率") - @Excel(name = "员工出勤率", width = 20) private String workerRate; @ApiModelProperty(value = "任务完成率") - @Excel(name = "任务完成率", width = 20) private String taskRate; - @ApiModelProperty(value = "今日日期") - @Excel(name = "今日日期", width = 20) - private String todayDate; - private static final long serialVersionUID = 1L; } diff --git a/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxVideo.java b/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxVideo.java new file mode 100644 index 0000000..05220da --- /dev/null +++ b/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxVideo.java @@ -0,0 +1,27 @@ +package com.ailanyin.model; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @author ailanyin + * @version 1.0 + * @since 2021/12/23 0023 下午 15:15 + */ + +@Data +public class HxVideo implements Serializable { + + private Long id; + + private String category; + + private String videoName; + + private String videoFileName; + + private String remark; + + private static final long serialVersionUID = 1L; +} diff --git a/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxWorkHomeInfo.java b/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxWorkHomeInfo.java new file mode 100644 index 0000000..3fbcf08 --- /dev/null +++ b/ailanyin-model-mapper/src/main/java/com/ailanyin/model/HxWorkHomeInfo.java @@ -0,0 +1,55 @@ +package com.ailanyin.model; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.util.List; +import java.util.Map; + +/** + * @author ailanyin + * @version 1.0 + * @since 2021/12/23 0023 下午 18:21 + */ + +@Data +public class HxWorkHomeInfo implements Serializable { + + private Long id; + + @ApiModelProperty(value = "工房名称") + @Excel(name = "工房名称", width = 20) + private String workHomeName; + + @ApiModelProperty(value = "横坐标百分比(不要%号)") + @Excel(name = "横坐标百分比(不要%号)", width = 20) + private String abscissa; + + @ApiModelProperty(value = "纵坐标百分比(不要%号)") + @Excel(name = "纵坐标百分比(不要%号)", width = 20) + private String ordinate; + + @ApiModelProperty(value = "车间名称") + @Excel(name = "车间名称", width = 20) + private String workshop; + + @ApiModelProperty(value = "作业内容") + @Excel(name = "作业内容", width = 20) + private String jobContent; + + @ApiModelProperty(value = "故障信息") + @Excel(name = "故障信息", width = 20) + private String errorInfo; + + @ApiModelProperty(value = "视频地址") + @Excel(name = "视频地址", width = 20) + private String avAddress; + + private boolean flag = false; + + private List userList; + + private static final long serialVersionUID = 1L; +} diff --git a/ailanyin-model-mapper/src/main/resources/com/ailanyin/mapper/HxBigPicMapper.xml b/ailanyin-model-mapper/src/main/resources/com/ailanyin/mapper/HxBigPicMapper.xml new file mode 100644 index 0000000..52790ef --- /dev/null +++ b/ailanyin-model-mapper/src/main/resources/com/ailanyin/mapper/HxBigPicMapper.xml @@ -0,0 +1,133 @@ + + + + + + + + + + + + "id", "type", "pic" + + + + + + + + + delete from ROOT."hx_big_pic" + where "id" = #{id,jdbcType=BIGINT} + + + + insert into ROOT."hx_big_pic" ("id", "type", "pic") + values (#{id,jdbcType=BIGINT}, #{type,jdbcType=VARCHAR}, #{pic,jdbcType=VARCHAR}) + + + + insert into ROOT."hx_big_pic" + + + "id", + + + "type", + + + "pic", + + + + + #{id,jdbcType=BIGINT}, + + + #{type,jdbcType=VARCHAR}, + + + #{pic,jdbcType=VARCHAR}, + + + + + + update ROOT."hx_big_pic" + + + "type" = #{type,jdbcType=VARCHAR}, + + + "pic" = #{pic,jdbcType=VARCHAR}, + + + where "id" = #{id,jdbcType=BIGINT} + + + + update ROOT."hx_big_pic" + set "type" = #{type,jdbcType=VARCHAR}, + "pic" = #{pic,jdbcType=VARCHAR} + where "id" = #{id,jdbcType=BIGINT} + + diff --git a/ailanyin-model-mapper/src/main/resources/com/ailanyin/mapper/HxCarLocationConfigMapper.xml b/ailanyin-model-mapper/src/main/resources/com/ailanyin/mapper/HxCarLocationConfigMapper.xml new file mode 100644 index 0000000..afecc7a --- /dev/null +++ b/ailanyin-model-mapper/src/main/resources/com/ailanyin/mapper/HxCarLocationConfigMapper.xml @@ -0,0 +1,14 @@ + + + + + + + + diff --git a/ailanyin-model-mapper/src/main/resources/com/ailanyin/mapper/HxCarLocationLogMapper.xml b/ailanyin-model-mapper/src/main/resources/com/ailanyin/mapper/HxCarLocationLogMapper.xml new file mode 100644 index 0000000..f06e61a --- /dev/null +++ b/ailanyin-model-mapper/src/main/resources/com/ailanyin/mapper/HxCarLocationLogMapper.xml @@ -0,0 +1,229 @@ + + + + + + + + + + + + + + + + + + + + + "id", + "card_number", + "distance", + "low_voltage", + "read_id", + "north_angle", + "car_abscissa", + "car_ordinate", + "car_id", + "driver_name", + "driver_phone", + "create_time" + + + + + + insert into ROOT."hx_car_location_log" + + + "id", + + + "card_number", + + + "distance", + + + "low_voltage", + + + "read_id", + + + "north_angle", + + + "car_abscissa", + + + "car_ordinate", + + + "car_id", + + + "driver_name", + + + "driver_phone", + + + "create_time", + + + + + #{id,jdbcType=BIGINT}, + + + #{cardNumber,jdbcType=VARCHAR}, + + + #{distance,jdbcType=INTEGER}, + + + #{lowVoltage,jdbcType=INTEGER}, + + + #{readId,jdbcType=INTEGER}, + + + #{northAngle,jdbcType=INTEGER}, + + + #{carAbscissa,jdbcType=VARCHAR}, + + + #{carOrdinate,jdbcType=VARCHAR}, + + + #{carId,jdbcType=VARCHAR}, + + + #{driverName,jdbcType=VARCHAR}, + + + #{driverPhone,jdbcType=VARCHAR}, + + + #{createTime,jdbcType=TIMESTAMP}, + + + + + + + + update ROOT."hx_car_location_log" + + + "card_number" = #{cardNumber,jdbcType=VARCHAR}, + + + "distance" = #{distance,jdbcType=INTEGER}, + + + "low_voltage" = #{lowVoltage,jdbcType=INTEGER}, + + + "read_id" = #{readId,jdbcType=INTEGER}, + + + "north_angle" = #{northAngle,jdbcType=INTEGER}, + + + "car_abscissa" = #{carAbscissa,jdbcType=VARCHAR}, + + + "car_ordinate" = #{carOrdinate,jdbcType=VARCHAR}, + + + "car_id" = #{carId,jdbcType=VARCHAR}, + + + "driver_name" = #{driverName,jdbcType=VARCHAR}, + + + "driver_phone" = #{driverPhone,jdbcType=VARCHAR}, + + + "create_time" = #{createTime,jdbcType=TIMESTAMP}, + + + where "id" = #{id} + + + + delete from ROOT."hx_car_location_log" where "id" in + + #{item} + + + + + diff --git a/ailanyin-model-mapper/src/main/resources/com/ailanyin/mapper/HxCarLocationMapMapper.xml b/ailanyin-model-mapper/src/main/resources/com/ailanyin/mapper/HxCarLocationMapMapper.xml new file mode 100644 index 0000000..82f3b44 --- /dev/null +++ b/ailanyin-model-mapper/src/main/resources/com/ailanyin/mapper/HxCarLocationMapMapper.xml @@ -0,0 +1,45 @@ + + + + + + + + + + + + + "pic", + "x_pixel", + "y_pixel", + "scale" + + + + + + update ROOT."hx_car_location_map" + + + "pic" = #{pic,jdbcType=VARCHAR}, + + + "x_pixel" = #{xPixel,jdbcType=INTEGER}, + + + "y_pixel" = #{yPixel,jdbcType=INTEGER}, + + + "scale" = #{scale,jdbcType=INTEGER}, + + + where 1=1 + + diff --git a/ailanyin-model-mapper/src/main/resources/com/ailanyin/mapper/HxCarLocationMapper.xml b/ailanyin-model-mapper/src/main/resources/com/ailanyin/mapper/HxCarLocationMapper.xml new file mode 100644 index 0000000..c24311d --- /dev/null +++ b/ailanyin-model-mapper/src/main/resources/com/ailanyin/mapper/HxCarLocationMapper.xml @@ -0,0 +1,214 @@ + + + + + + + + + + + + + + + + + + "id", + "car_id", + "car_model", + "car_pic", + "driver_name", + "driver_phone", + "location_card_num", + "location_card_number", + "create_time" + + + + + + insert into ROOT."hx_car_location" + + + "id", + + + "car_id", + + + "car_model", + + + "car_pic", + + + "driver_name", + + + "driver_phone", + + + "location_card_num", + + + "location_card_number", + + + "create_time", + + + + + #{id,jdbcType=BIGINT}, + + + #{carId,jdbcType=VARCHAR}, + + + #{carModel,jdbcType=VARCHAR}, + + + #{carPic,jdbcType=VARCHAR}, + + + #{driverName,jdbcType=VARCHAR}, + + + #{driverPhone,jdbcType=VARCHAR}, + + + #{locationCardNum,jdbcType=VARCHAR}, + + + #{locationCardNumber,jdbcType=INTEGER}, + + + #{createTime,jdbcType=TIMESTAMP}, + + + + + + + + update ROOT."hx_car_location" + + + "car_id" = #{carId,jdbcType=VARCHAR}, + + + "car_model" = #{carModel,jdbcType=VARCHAR}, + + + "car_pic" = #{carPic,jdbcType=VARCHAR}, + + + "driver_name" = #{driverName,jdbcType=VARCHAR}, + + + "driver_phone" = #{driverPhone,jdbcType=VARCHAR}, + + + "location_card_num" = #{locationCardNum,jdbcType=VARCHAR}, + + + "location_card_number" = #{locationCardNumber,jdbcType=INTEGER}, + + + "create_time" = #{createTime,jdbcType=TIMESTAMP}, + + + where "id" = #{id} + + + + delete from ROOT."hx_car_location" where "id" in + + #{item} + + + + + + + update ROOT."hx_car_location" + set "location_card_num" = null,"location_card_number" = null + where "id" = #{id} + + + + + + diff --git a/ailanyin-model-mapper/src/main/resources/com/ailanyin/mapper/HxChargeDeliverMapper.xml b/ailanyin-model-mapper/src/main/resources/com/ailanyin/mapper/HxChargeDeliverMapper.xml new file mode 100644 index 0000000..0fab5ba --- /dev/null +++ b/ailanyin-model-mapper/src/main/resources/com/ailanyin/mapper/HxChargeDeliverMapper.xml @@ -0,0 +1,171 @@ + + + + + + + + + + + + + + + + + "id", "month", "big_charge", "medium_charge", "small_charge", "target_charge", "real_deliver", + "target_deliver" + + + + + delete from hx_charge_deliver + where `id` = #{id,jdbcType=BIGINT} + + + + insert into hx_charge_deliver (`id`, `month`, `big_charge`, + `medium_charge`, `small_charge`, `target_charge`, + `real_deliver`, `target_deliver`) + values (#{id,jdbcType=BIGINT}, #{month,jdbcType=VARCHAR}, #{bigCharge,jdbcType=VARCHAR}, + #{mediumCharge,jdbcType=VARCHAR}, #{smallCharge,jdbcType=VARCHAR}, #{targetCharge,jdbcType=VARCHAR}, + #{realDeliver,jdbcType=VARCHAR}, #{targetDeliver,jdbcType=VARCHAR}) + + + + insert into ROOT."hx_charge_deliver" + + + "id", + + + "month", + + + "big_charge", + + + "medium_charge", + + + "small_charge", + + + "target_charge", + + + "real_deliver", + + + "target_deliver", + + + + + #{id,jdbcType=BIGINT}, + + + #{month,jdbcType=VARCHAR}, + + + #{bigCharge,jdbcType=VARCHAR}, + + + #{mediumCharge,jdbcType=VARCHAR}, + + + #{smallCharge,jdbcType=VARCHAR}, + + + #{targetCharge,jdbcType=VARCHAR}, + + + #{realDeliver,jdbcType=VARCHAR}, + + + #{targetDeliver,jdbcType=VARCHAR}, + + + + + + update ROOT."hx_charge_deliver" + + + "big_charge" = #{bigCharge,jdbcType=VARCHAR}, + + + "medium_charge" = #{mediumCharge,jdbcType=VARCHAR}, + + + "small_charge" = #{smallCharge,jdbcType=VARCHAR}, + + + "target_charge" = #{targetCharge,jdbcType=VARCHAR}, + + + "real_deliver" = #{realDeliver,jdbcType=VARCHAR}, + + + "target_deliver" = #{targetDeliver,jdbcType=VARCHAR}, + + + where "month" = #{month,jdbcType=VARCHAR} + + + + update hx_charge_deliver + set `month` = #{month,jdbcType=VARCHAR}, + `big_charge` = #{bigCharge,jdbcType=VARCHAR}, + `medium_charge` = #{mediumCharge,jdbcType=VARCHAR}, + `small_charge` = #{smallCharge,jdbcType=VARCHAR}, + `target_charge` = #{targetCharge,jdbcType=VARCHAR}, + `real_deliver` = #{realDeliver,jdbcType=VARCHAR}, + `target_deliver` = #{targetDeliver,jdbcType=VARCHAR} + where `id` = #{id,jdbcType=BIGINT} + + + + diff --git a/ailanyin-model-mapper/src/main/resources/com/ailanyin/mapper/HxCivilContractMapper.xml b/ailanyin-model-mapper/src/main/resources/com/ailanyin/mapper/HxCivilContractMapper.xml index 46549a5..57f1ab6 100644 --- a/ailanyin-model-mapper/src/main/resources/com/ailanyin/mapper/HxCivilContractMapper.xml +++ b/ailanyin-model-mapper/src/main/resources/com/ailanyin/mapper/HxCivilContractMapper.xml @@ -40,6 +40,14 @@ + + + + + + + + + + + + "id", "work_home", "workshop", "product", "procedure", "danger_level" + + + + + delete from hx_job_details + where `id` = #{id,jdbcType=BIGINT} + + + + insert into hx_job_details (`id`, `work_home`, `workshop`, + `product`, `procedure`, `danger_level` + ) + values (#{id,jdbcType=BIGINT}, #{workHome,jdbcType=VARCHAR}, #{workshop,jdbcType=VARCHAR}, + #{product,jdbcType=VARCHAR}, #{procedure,jdbcType=VARCHAR}, #{dangerLevel,jdbcType=VARCHAR} + ) + + + + insert into ROOT."hx_job_details" + + + "id", + + + "work_home", + + + "workshop", + + + "product", + + + "procedure", + + + "danger_level", + + + + + #{id,jdbcType=BIGINT}, + + + #{workHome,jdbcType=VARCHAR}, + + + #{workshop,jdbcType=VARCHAR}, + + + #{product,jdbcType=VARCHAR}, + + + #{procedure,jdbcType=VARCHAR}, + + + #{dangerLevel,jdbcType=VARCHAR}, + + + + + + update ROOT."hx_job_details" + + + "work_home" = #{workHome,jdbcType=VARCHAR}, + + + "workshop" = #{workshop,jdbcType=VARCHAR}, + + + "product" = #{product,jdbcType=VARCHAR}, + + + "procedure" = #{procedure,jdbcType=VARCHAR}, + + + "danger_level" = #{dangerLevel,jdbcType=VARCHAR}, + + + where `id` = #{id,jdbcType=BIGINT} + + + + update hx_job_details + set `work_home` = #{workHome,jdbcType=VARCHAR}, + `workshop` = #{workshop,jdbcType=VARCHAR}, + `product` = #{product,jdbcType=VARCHAR}, + `procedure` = #{procedure,jdbcType=VARCHAR}, + `danger_level` = #{dangerLevel,jdbcType=VARCHAR} + where `id` = #{id,jdbcType=BIGINT} + + + + diff --git a/ailanyin-model-mapper/src/main/resources/com/ailanyin/mapper/HxMaterialsAccessoriesMapper.xml b/ailanyin-model-mapper/src/main/resources/com/ailanyin/mapper/HxMaterialsAccessoriesMapper.xml index 1454f8a..4dace3f 100644 --- a/ailanyin-model-mapper/src/main/resources/com/ailanyin/mapper/HxMaterialsAccessoriesMapper.xml +++ b/ailanyin-model-mapper/src/main/resources/com/ailanyin/mapper/HxMaterialsAccessoriesMapper.xml @@ -22,8 +22,30 @@ This element is automatically generated by MyBatis Generator, do not modify. This element was generated on Tue Dec 21 02:52:36 UTC 2021. --> - "id", "today_date", "category", "name", "existing", "arrival", "used", "lack" + "id", "category", "name","existing", "arrival", "used", "lack" + + + + + + select + + from ROOT."hx_month_factory_plan" + + + and "month" = #{month} + + + order by "id" desc + + + + + delete from hx_month_factory_plan + where `id` = #{id,jdbcType=BIGINT} + + + + insert into hx_month_factory_plan (`id`, `month`, `real_insulate`, + `target_insulate`, `real_charge`, `target_charge`, + `real_assemble`, `target_assemble`, `bad_reason`, + `insulate_rate`, `charge_rate`, `assemble_rate` + ) + values (#{id,jdbcType=BIGINT}, #{month,jdbcType=VARCHAR}, #{realInsulate,jdbcType=VARCHAR}, + #{targetInsulate,jdbcType=VARCHAR}, #{realCharge,jdbcType=VARCHAR}, #{targetCharge,jdbcType=VARCHAR}, + #{realAssemble,jdbcType=VARCHAR}, #{targetAssemble,jdbcType=VARCHAR}, #{badReason,jdbcType=VARCHAR}, + #{insulateRate,jdbcType=VARCHAR}, #{chargeRate,jdbcType=VARCHAR}, #{assembleRate,jdbcType=VARCHAR} + ) + + + + insert into ROOT."hx_month_factory_plan" + + + "id", + + + "month", + + + "real_insulate", + + + "target_insulate", + + + "real_charge", + + + "target_charge", + + + "real_assemble", + + + "target_assemble", + + + "bad_reason", + + + "insulate_rate", + + + "charge_rate", + + + "assemble_rate", + + + + + #{id,jdbcType=BIGINT}, + + + #{month,jdbcType=VARCHAR}, + + + #{realInsulate,jdbcType=VARCHAR}, + + + #{targetInsulate,jdbcType=VARCHAR}, + + + #{realCharge,jdbcType=VARCHAR}, + + + #{targetCharge,jdbcType=VARCHAR}, + + + #{realAssemble,jdbcType=VARCHAR}, + + + #{targetAssemble,jdbcType=VARCHAR}, + + + #{badReason,jdbcType=VARCHAR}, + + + #{insulateRate,jdbcType=VARCHAR}, + + + #{chargeRate,jdbcType=VARCHAR}, + + + #{assembleRate,jdbcType=VARCHAR}, + + + + + + update ROOT."hx_month_factory_plan" + + + "real_insulate" = #{realInsulate,jdbcType=VARCHAR}, + + + "target_insulate" = #{targetInsulate,jdbcType=VARCHAR}, + + + "real_charge" = #{realCharge,jdbcType=VARCHAR}, + + + "target_charge" = #{targetCharge,jdbcType=VARCHAR}, + + + "real_assemble" = #{realAssemble,jdbcType=VARCHAR}, + + + "target_assemble" = #{targetAssemble,jdbcType=VARCHAR}, + + + "bad_reason" = #{badReason,jdbcType=VARCHAR}, + + + "insulate_rate" = #{insulateRate,jdbcType=VARCHAR}, + + + "charge_rate" = #{chargeRate,jdbcType=VARCHAR}, + + + "assemble_rate" = #{assembleRate,jdbcType=VARCHAR}, + + + where "month" = #{month,jdbcType=VARCHAR} + + + + update hx_month_factory_plan + set `month` = #{month,jdbcType=VARCHAR}, + `real_insulate` = #{realInsulate,jdbcType=VARCHAR}, + `target_insulate` = #{targetInsulate,jdbcType=VARCHAR}, + `real_charge` = #{realCharge,jdbcType=VARCHAR}, + `target_charge` = #{targetCharge,jdbcType=VARCHAR}, + `real_assemble` = #{realAssemble,jdbcType=VARCHAR}, + `target_assemble` = #{targetAssemble,jdbcType=VARCHAR}, + `bad_reason` = #{badReason,jdbcType=VARCHAR}, + `insulate_rate` = #{insulateRate,jdbcType=VARCHAR}, + `charge_rate` = #{chargeRate,jdbcType=VARCHAR}, + `assemble_rate` = #{assembleRate,jdbcType=VARCHAR} + where `id` = #{id,jdbcType=BIGINT} + + + + diff --git a/ailanyin-model-mapper/src/main/resources/com/ailanyin/mapper/HxMonthPlanMapper.xml b/ailanyin-model-mapper/src/main/resources/com/ailanyin/mapper/HxMonthPlanMapper.xml new file mode 100644 index 0000000..9bc550e --- /dev/null +++ b/ailanyin-model-mapper/src/main/resources/com/ailanyin/mapper/HxMonthPlanMapper.xml @@ -0,0 +1,238 @@ + + + + + + + + + + + + + + + + + + + + + + "id", "month", "ascription", "model", "real_charge", "target_charge", "real_assemble", + "target_assemble", "real_deliver", "target_deliver", "charge_rate", "assemble_rate", + "deliver_rate" + + + + + delete from hx_month_plan + where `id` = #{id,jdbcType=BIGINT} + + + + insert into hx_month_plan (`id`, `month`, `ascription`, + `model`, `real_charge`, `target_charge`, + `real_assemble`, `target_assemble`, `real_deliver`, + `target_deliver`, `charge_rate`, `assemble_rate`, + `deliver_rate`) + values (#{id,jdbcType=BIGINT}, #{month,jdbcType=VARCHAR}, #{ascription,jdbcType=VARCHAR}, + #{model,jdbcType=VARCHAR}, #{realCharge,jdbcType=VARCHAR}, #{targetCharge,jdbcType=VARCHAR}, + #{realAssemble,jdbcType=VARCHAR}, #{targetAssemble,jdbcType=VARCHAR}, #{realDeliver,jdbcType=VARCHAR}, + #{targetDeliver,jdbcType=VARCHAR}, #{chargeRate,jdbcType=VARCHAR}, #{assembleRate,jdbcType=VARCHAR}, + #{deliverRate,jdbcType=VARCHAR}) + + + + insert into ROOT."hx_month_plan" + + + "id", + + + "month", + + + "ascription", + + + "model", + + + "real_charge", + + + "target_charge", + + + "real_assemble", + + + "target_assemble", + + + "real_deliver", + + + "target_deliver", + + + "charge_rate", + + + "assemble_rate", + + + "deliver_rate", + + + + + #{id,jdbcType=BIGINT}, + + + #{month,jdbcType=VARCHAR}, + + + #{ascription,jdbcType=VARCHAR}, + + + #{model,jdbcType=VARCHAR}, + + + #{realCharge,jdbcType=VARCHAR}, + + + #{targetCharge,jdbcType=VARCHAR}, + + + #{realAssemble,jdbcType=VARCHAR}, + + + #{targetAssemble,jdbcType=VARCHAR}, + + + #{realDeliver,jdbcType=VARCHAR}, + + + #{targetDeliver,jdbcType=VARCHAR}, + + + #{chargeRate,jdbcType=VARCHAR}, + + + #{assembleRate,jdbcType=VARCHAR}, + + + #{deliverRate,jdbcType=VARCHAR}, + + + + + + update ROOT."hx_month_plan" + + + "real_charge" = #{realCharge,jdbcType=VARCHAR}, + + + "target_charge" = #{targetCharge,jdbcType=VARCHAR}, + + + "real_assemble" = #{realAssemble,jdbcType=VARCHAR}, + + + "target_assemble" = #{targetAssemble,jdbcType=VARCHAR}, + + + "real_deliver" = #{realDeliver,jdbcType=VARCHAR}, + + + "target_deliver" = #{targetDeliver,jdbcType=VARCHAR}, + + + "charge_rate" = #{chargeRate,jdbcType=VARCHAR}, + + + "assemble_rate" = #{assembleRate,jdbcType=VARCHAR}, + + + "deliver_rate" = #{deliverRate,jdbcType=VARCHAR}, + + + where "month" = #{month,jdbcType=VARCHAR} + and "ascription" = #{ascription,jdbcType=VARCHAR} + and "model" = #{model,jdbcType=VARCHAR} + + + + update hx_month_plan + set `month` = #{month,jdbcType=VARCHAR}, + `ascription` = #{ascription,jdbcType=VARCHAR}, + `model` = #{model,jdbcType=VARCHAR}, + `real_charge` = #{realCharge,jdbcType=VARCHAR}, + `target_charge` = #{targetCharge,jdbcType=VARCHAR}, + `real_assemble` = #{realAssemble,jdbcType=VARCHAR}, + `target_assemble` = #{targetAssemble,jdbcType=VARCHAR}, + `real_deliver` = #{realDeliver,jdbcType=VARCHAR}, + `target_deliver` = #{targetDeliver,jdbcType=VARCHAR}, + `charge_rate` = #{chargeRate,jdbcType=VARCHAR}, + `assemble_rate` = #{assembleRate,jdbcType=VARCHAR}, + `deliver_rate` = #{deliverRate,jdbcType=VARCHAR} + where `id` = #{id,jdbcType=BIGINT} + + + + diff --git a/ailanyin-model-mapper/src/main/resources/com/ailanyin/mapper/HxProductCompletionOverviewMapper.xml b/ailanyin-model-mapper/src/main/resources/com/ailanyin/mapper/HxProductCompletionOverviewMapper.xml index 1f340d8..3c4d9eb 100644 --- a/ailanyin-model-mapper/src/main/resources/com/ailanyin/mapper/HxProductCompletionOverviewMapper.xml +++ b/ailanyin-model-mapper/src/main/resources/com/ailanyin/mapper/HxProductCompletionOverviewMapper.xml @@ -91,9 +91,6 @@ "completion_rate" = #{completionRate,jdbcType=VARCHAR}, - - "month" = #{completionRate,jdbcType=VARCHAR}, - "create_time" = #{createTime,jdbcType=TIMESTAMP}, diff --git a/ailanyin-model-mapper/src/main/resources/com/ailanyin/mapper/HxProductionIndexMapper.xml b/ailanyin-model-mapper/src/main/resources/com/ailanyin/mapper/HxProductionIndexMapper.xml new file mode 100644 index 0000000..f6e169b --- /dev/null +++ b/ailanyin-model-mapper/src/main/resources/com/ailanyin/mapper/HxProductionIndexMapper.xml @@ -0,0 +1,204 @@ + + + + + + + + + + + + + + + + + + + + "id", "real_military_income", "target_military_income", "real_charge", "target_charge", + "real_big_product", "target_big_product", "real_medium_product", "target_medium_product", + "real_small_product", "target_small_product" + + + + + delete from hx_production_index + where `id` = #{id,jdbcType=BIGINT} + + + + insert into hx_production_index (`id`, `real_military_income`, `target_military_income`, + `real_charge`, `target_charge`, `real_big_product`, + `target_big_product`, `real_medium_product`, `target_medium_product`, + `real_small_product`, `target_small_product`) + values (#{id,jdbcType=BIGINT}, #{realMilitaryIncome,jdbcType=VARCHAR}, #{targetMilitaryIncome,jdbcType=VARCHAR}, + #{realCharge,jdbcType=VARCHAR}, #{targetCharge,jdbcType=VARCHAR}, #{realBigProduct,jdbcType=VARCHAR}, + #{targetBigProduct,jdbcType=VARCHAR}, #{realMediumProduct,jdbcType=VARCHAR}, #{targetMediumProduct,jdbcType=VARCHAR}, + #{realSmallProduct,jdbcType=VARCHAR}, #{targetSmallProduct,jdbcType=VARCHAR}) + + + + insert into hx_production_index + + + `id`, + + + `real_military_income`, + + + `target_military_income`, + + + `real_charge`, + + + `target_charge`, + + + `real_big_product`, + + + `target_big_product`, + + + `real_medium_product`, + + + `target_medium_product`, + + + `real_small_product`, + + + `target_small_product`, + + + + + #{id,jdbcType=BIGINT}, + + + #{realMilitaryIncome,jdbcType=VARCHAR}, + + + #{targetMilitaryIncome,jdbcType=VARCHAR}, + + + #{realCharge,jdbcType=VARCHAR}, + + + #{targetCharge,jdbcType=VARCHAR}, + + + #{realBigProduct,jdbcType=VARCHAR}, + + + #{targetBigProduct,jdbcType=VARCHAR}, + + + #{realMediumProduct,jdbcType=VARCHAR}, + + + #{targetMediumProduct,jdbcType=VARCHAR}, + + + #{realSmallProduct,jdbcType=VARCHAR}, + + + #{targetSmallProduct,jdbcType=VARCHAR}, + + + + + + update ROOT."hx_production_index" + + + "real_military_income" = #{realMilitaryIncome,jdbcType=VARCHAR}, + + + "target_military_income" = #{targetMilitaryIncome,jdbcType=VARCHAR}, + + + "real_charge" = #{realCharge,jdbcType=VARCHAR}, + + + "target_charge" = #{targetCharge,jdbcType=VARCHAR}, + + + "real_big_product" = #{realBigProduct,jdbcType=VARCHAR}, + + + "target_big_product" = #{targetBigProduct,jdbcType=VARCHAR}, + + + "real_medium_product" = #{realMediumProduct,jdbcType=VARCHAR}, + + + "target_medium_product" = #{targetMediumProduct,jdbcType=VARCHAR}, + + + "real_small_product" = #{realSmallProduct,jdbcType=VARCHAR}, + + + "target_small_product" = #{targetSmallProduct,jdbcType=VARCHAR}, + + + where "id" = '1' + + + + update hx_production_index + set `real_military_income` = #{realMilitaryIncome,jdbcType=VARCHAR}, + `target_military_income` = #{targetMilitaryIncome,jdbcType=VARCHAR}, + `real_charge` = #{realCharge,jdbcType=VARCHAR}, + `target_charge` = #{targetCharge,jdbcType=VARCHAR}, + `real_big_product` = #{realBigProduct,jdbcType=VARCHAR}, + `target_big_product` = #{targetBigProduct,jdbcType=VARCHAR}, + `real_medium_product` = #{realMediumProduct,jdbcType=VARCHAR}, + `target_medium_product` = #{targetMediumProduct,jdbcType=VARCHAR}, + `real_small_product` = #{realSmallProduct,jdbcType=VARCHAR}, + `target_small_product` = #{targetSmallProduct,jdbcType=VARCHAR} + where `id` = #{id,jdbcType=BIGINT} + + diff --git a/ailanyin-model-mapper/src/main/resources/com/ailanyin/mapper/HxProductionPlanMapper.xml b/ailanyin-model-mapper/src/main/resources/com/ailanyin/mapper/HxProductionPlanMapper.xml index 1c599a3..468dcff 100644 --- a/ailanyin-model-mapper/src/main/resources/com/ailanyin/mapper/HxProductionPlanMapper.xml +++ b/ailanyin-model-mapper/src/main/resources/com/ailanyin/mapper/HxProductionPlanMapper.xml @@ -197,10 +197,18 @@ + + select from ROOT."hx_production_situation" + order by "month" asc delete from hx_production_situation where `id` = #{id,jdbcType=BIGINT} @@ -56,26 +47,20 @@ - insert into hx_production_situation (`id`, `month`, `model`, - `category`, `plan_name`, `target_adiabat`, - `real_adiabat`, `target_charge`, `real_charge`, - `target_assemble`, `real_assemble`, `target_deliver`, - `real_deliver`, `target_ester`, `real_ester` - ) - values (#{id,jdbcType=BIGINT}, #{month,jdbcType=VARCHAR}, #{model,jdbcType=VARCHAR}, - #{category,jdbcType=VARCHAR}, #{planName,jdbcType=VARCHAR}, #{targetAdiabat,jdbcType=VARCHAR}, - #{realAdiabat,jdbcType=VARCHAR}, #{targetCharge,jdbcType=VARCHAR}, #{realCharge,jdbcType=VARCHAR}, - #{targetAssemble,jdbcType=VARCHAR}, #{realAssemble,jdbcType=VARCHAR}, #{targetDeliver,jdbcType=VARCHAR}, - #{realDeliver,jdbcType=VARCHAR}, #{targetEster,jdbcType=VARCHAR}, #{realEster,jdbcType=VARCHAR} - ) + insert into hx_production_situation (`id`, `month`, `real_adiabat`, + `real_charge`, `real_assemble`, `real_deliver`, + `real_ester`) + values (#{id,jdbcType=BIGINT}, #{month,jdbcType=VARCHAR}, #{realAdiabat,jdbcType=VARCHAR}, + #{realCharge,jdbcType=VARCHAR}, #{realAssemble,jdbcType=VARCHAR}, #{realDeliver,jdbcType=VARCHAR}, + #{realEster,jdbcType=VARCHAR}) insert into ROOT."hx_production_situation" @@ -85,42 +70,18 @@ "month", - - "model", - - - "category", - - - "plan_name", - - - "target_adiabat", - "real_adiabat", - - "target_charge", - "real_charge", - - "target_assemble", - "real_assemble", - - "target_deliver", - "real_deliver", - - "target_ester", - "real_ester", @@ -132,121 +93,67 @@ #{month,jdbcType=VARCHAR}, - - #{model,jdbcType=VARCHAR}, - - - #{category,jdbcType=VARCHAR}, - - - #{planName,jdbcType=VARCHAR}, - - - #{targetAdiabat,jdbcType=VARCHAR}, - #{realAdiabat,jdbcType=VARCHAR}, - - #{targetCharge,jdbcType=VARCHAR}, - #{realCharge,jdbcType=VARCHAR}, - - #{targetAssemble,jdbcType=VARCHAR}, - #{realAssemble,jdbcType=VARCHAR}, - - #{targetDeliver,jdbcType=VARCHAR}, - #{realDeliver,jdbcType=VARCHAR}, - - #{targetEster,jdbcType=VARCHAR}, - #{realEster,jdbcType=VARCHAR}, - + - update hx_production_situation + update ROOT."hx_production_situation" - - `month` = #{month,jdbcType=VARCHAR}, - - - `model` = #{model,jdbcType=VARCHAR}, - - - `category` = #{category,jdbcType=VARCHAR}, - - - `plan_name` = #{planName,jdbcType=VARCHAR}, - - - `target_adiabat` = #{targetAdiabat,jdbcType=VARCHAR}, - - `real_adiabat` = #{realAdiabat,jdbcType=VARCHAR}, - - - `target_charge` = #{targetCharge,jdbcType=VARCHAR}, + "real_adiabat" = #{realAdiabat,jdbcType=VARCHAR}, - `real_charge` = #{realCharge,jdbcType=VARCHAR}, - - - `target_assemble` = #{targetAssemble,jdbcType=VARCHAR}, + "real_charge" = #{realCharge,jdbcType=VARCHAR}, - `real_assemble` = #{realAssemble,jdbcType=VARCHAR}, - - - `target_deliver` = #{targetDeliver,jdbcType=VARCHAR}, + "real_assemble" = #{realAssemble,jdbcType=VARCHAR}, - `real_deliver` = #{realDeliver,jdbcType=VARCHAR}, - - - `target_ester` = #{targetEster,jdbcType=VARCHAR}, + "real_deliver" = #{realDeliver,jdbcType=VARCHAR}, - `real_ester` = #{realEster,jdbcType=VARCHAR}, + "real_ester" = #{realEster,jdbcType=VARCHAR}, - where `id` = #{id,jdbcType=BIGINT} + where "month" = #{month,jdbcType=VARCHAR} update hx_production_situation set `month` = #{month,jdbcType=VARCHAR}, - `model` = #{model,jdbcType=VARCHAR}, - `category` = #{category,jdbcType=VARCHAR}, - `plan_name` = #{planName,jdbcType=VARCHAR}, - `target_adiabat` = #{targetAdiabat,jdbcType=VARCHAR}, `real_adiabat` = #{realAdiabat,jdbcType=VARCHAR}, - `target_charge` = #{targetCharge,jdbcType=VARCHAR}, `real_charge` = #{realCharge,jdbcType=VARCHAR}, - `target_assemble` = #{targetAssemble,jdbcType=VARCHAR}, `real_assemble` = #{realAssemble,jdbcType=VARCHAR}, - `target_deliver` = #{targetDeliver,jdbcType=VARCHAR}, `real_deliver` = #{realDeliver,jdbcType=VARCHAR}, - `target_ester` = #{targetEster,jdbcType=VARCHAR}, `real_ester` = #{realEster,jdbcType=VARCHAR} where `id` = #{id,jdbcType=BIGINT} + + diff --git a/ailanyin-model-mapper/src/main/resources/com/ailanyin/mapper/HxQualityManageMapper.xml b/ailanyin-model-mapper/src/main/resources/com/ailanyin/mapper/HxQualityManageMapper.xml index 1b2b004..e40db13 100644 --- a/ailanyin-model-mapper/src/main/resources/com/ailanyin/mapper/HxQualityManageMapper.xml +++ b/ailanyin-model-mapper/src/main/resources/com/ailanyin/mapper/HxQualityManageMapper.xml @@ -13,8 +13,8 @@ - - + + @@ -27,7 +27,7 @@ This element was generated on Mon Dec 20 01:06:39 UTC 2021. --> "id", "month", "factory_problem_total", "factory_problem_rectification_total", "commonly_problem_total", - "low_problem_total", "error_check_total", "leak_check_total", "quality_plan_total", + "low_problem_total", "target_error_check", "real_error_check", "quality_plan_total", "quality_plan_complete_total", "quality_notification_total", "quality_notification_complete_total" + select + + from ROOT."hx_reader_info" + + + and "reader_name" like concat(concat('%',#{readerName}),'%') + + + and "abscissa" = #{abscissa,jdbcType=INTEGER} + + + and "ordinate" = #{ordinate,jdbcType=INTEGER} + + + and "north_angle" = #{northAngle,jdbcType=INTEGER} + + + and "reader_ip" like concat(concat('%',#{readerIp}),'%') + + + and "reader_port" = #{readerPort,jdbcType=INTEGER} + + + and "create_time" = #{createTime,jdbcType=TIMESTAMP} + + + order by "id" desc + + + + insert into ROOT."hx_reader_info" + + + "id", + + + "reader_name", + + + "abscissa", + + + "ordinate", + + + "north_angle", + + + "reader_ip", + + + "reader_port", + + + "create_time", + + + + + #{id,jdbcType=BIGINT}, + + + #{readerName,jdbcType=VARCHAR}, + + + #{abscissa,jdbcType=INTEGER}, + + + #{ordinate,jdbcType=INTEGER}, + + + #{northAngle,jdbcType=INTEGER}, + + + #{readerIp,jdbcType=VARCHAR}, + + + #{readerPort,jdbcType=INTEGER}, + + + #{createTime,jdbcType=TIMESTAMP}, + + + + + + + + update ROOT."hx_reader_info" + + + "id" = #{id,jdbcType=VARCHAR}, + + + "reader_name" = #{readerName,jdbcType=VARCHAR}, + + + "abscissa" = #{abscissa,jdbcType=INTEGER}, + + + "ordinate" = #{ordinate,jdbcType=INTEGER}, + + + "north_angle" = #{northAngle,jdbcType=INTEGER}, + + + "reader_ip" = #{readerIp,jdbcType=VARCHAR}, + + + "reader_port" = #{readerPort,jdbcType=INTEGER}, + + + "create_time" = #{createTime,jdbcType=TIMESTAMP}, + + + where "id" = #{id} + + + + delete from ROOT."hx_reader_info" where "id" in + + #{item} + + + + + diff --git a/ailanyin-model-mapper/src/main/resources/com/ailanyin/mapper/HxResponsibilityStatusMapper.xml b/ailanyin-model-mapper/src/main/resources/com/ailanyin/mapper/HxResponsibilityStatusMapper.xml index f94be06..8701310 100644 --- a/ailanyin-model-mapper/src/main/resources/com/ailanyin/mapper/HxResponsibilityStatusMapper.xml +++ b/ailanyin-model-mapper/src/main/resources/com/ailanyin/mapper/HxResponsibilityStatusMapper.xml @@ -88,28 +88,22 @@ - + - update hx_responsibility_status + update "hx_responsibility_status" - - `responsibility_content` = #{responsibilityContent,jdbcType=VARCHAR}, - - `progress_status` = #{progressStatus,jdbcType=VARCHAR}, + "progress_status" = #{progressStatus,jdbcType=VARCHAR}, - `completion_status` = #{completionStatus,jdbcType=VARCHAR}, - - - `dept_name` = #{deptName,jdbcType=VARCHAR}, + "completion_status" = #{completionStatus,jdbcType=VARCHAR}, - where `id` = #{id,jdbcType=BIGINT} + where "dept_name" = #{deptName} and "responsibility_content" = #{responsibilityContent} - update hx_spc_info + update ROOT."hx_spc_info" - - `spc_name` = #{spcName,jdbcType=VARCHAR}, - - - `param_category` = #{paramCategory,jdbcType=VARCHAR}, - - - `product` = #{product,jdbcType=VARCHAR}, - - `upper_limit` = #{upperLimit,jdbcType=VARCHAR}, + "upper_limit" = #{upperLimit,jdbcType=VARCHAR}, - `lower_limit` = #{lowerLimit,jdbcType=VARCHAR}, + "lower_limit" = #{lowerLimit,jdbcType=VARCHAR}, - `center_line` = #{centerLine,jdbcType=VARCHAR}, + "center_line" = #{centerLine,jdbcType=VARCHAR}, - where `id` = #{id,jdbcType=BIGINT} + where "spc_name" = #{spcName,jdbcType=VARCHAR} + + + + + + + + + + "id", "spc_name", "product_name", "real_value" + + + + + delete from hx_spc_product + where `id` = #{id,jdbcType=BIGINT} + + + + insert into hx_spc_product (`id`, `spc_name`, `product_name`, + `real_value`) + values (#{id,jdbcType=BIGINT}, #{spcName,jdbcType=VARCHAR}, #{productName,jdbcType=VARCHAR}, + #{realValue,jdbcType=VARCHAR}) + + + + insert into ROOT."hx_spc_product" + + + "id", + + + "spc_name", + + + "product_name", + + + "real_value", + + + + + #{id,jdbcType=BIGINT}, + + + #{spcName,jdbcType=VARCHAR}, + + + #{productName,jdbcType=VARCHAR}, + + + #{realValue,jdbcType=VARCHAR}, + + + + + + update ROOT."hx_spc_product" + + + "real_value" = #{realValue,jdbcType=VARCHAR}, + + + where "spc_name" = #{spcName,jdbcType=VARCHAR} + and "product_name" = #{productName,jdbcType=VARCHAR} + + + + update hx_spc_product + set `spc_name` = #{spcName,jdbcType=VARCHAR}, + `product_name` = #{productName,jdbcType=VARCHAR}, + `real_value` = #{realValue,jdbcType=VARCHAR} + where `id` = #{id,jdbcType=BIGINT} + + + + diff --git a/ailanyin-model-mapper/src/main/resources/com/ailanyin/mapper/HxStockDetailedMapper.xml b/ailanyin-model-mapper/src/main/resources/com/ailanyin/mapper/HxStockDetailedMapper.xml new file mode 100644 index 0000000..e8bbdf8 --- /dev/null +++ b/ailanyin-model-mapper/src/main/resources/com/ailanyin/mapper/HxStockDetailedMapper.xml @@ -0,0 +1,164 @@ + + + + + + + + + + + + + + + + "id", "category", "project_name", "name", "total", "arrival_total", "used_total" + + + + + delete from hx_stock_detailed + where `id` = #{id,jdbcType=BIGINT} + + + + insert into hx_stock_detailed (`id`, `category`, `project_name`, + `name`, `total`, `arrival_total`, + `used_total`) + values (#{id,jdbcType=BIGINT}, #{category,jdbcType=VARCHAR}, #{projectName,jdbcType=VARCHAR}, + #{name,jdbcType=VARCHAR}, #{total,jdbcType=VARCHAR}, #{arrivalTotal,jdbcType=VARCHAR}, + #{usedTotal,jdbcType=VARCHAR}) + + + + insert into ROOT."hx_stock_detailed" + + + "id", + + + "category", + + + "project_name", + + + "name", + + + "total", + + + "arrival_total", + + + "used_total", + + + + + #{id,jdbcType=BIGINT}, + + + #{category,jdbcType=VARCHAR}, + + + #{projectName,jdbcType=VARCHAR}, + + + #{name,jdbcType=VARCHAR}, + + + #{total,jdbcType=VARCHAR}, + + + #{arrivalTotal,jdbcType=VARCHAR}, + + + #{usedTotal,jdbcType=VARCHAR}, + + + + + + update ROOT."hx_stock_detailed" + + + "total" = #{total,jdbcType=VARCHAR}, + + + "arrival_total" = #{arrivalTotal,jdbcType=VARCHAR}, + + + "used_total" = #{usedTotal,jdbcType=VARCHAR}, + + + where "category" = #{category,jdbcType=VARCHAR} + and "project_name" = #{projectName,jdbcType=VARCHAR} + and "name" = #{name,jdbcType=VARCHAR} + + + + update hx_stock_detailed + set `category` = #{category,jdbcType=VARCHAR}, + `project_name` = #{projectName,jdbcType=VARCHAR}, + `name` = #{name,jdbcType=VARCHAR}, + `total` = #{total,jdbcType=VARCHAR}, + `arrival_total` = #{arrivalTotal,jdbcType=VARCHAR}, + `used_total` = #{usedTotal,jdbcType=VARCHAR} + where `id` = #{id,jdbcType=BIGINT} + + + + diff --git a/ailanyin-model-mapper/src/main/resources/com/ailanyin/mapper/HxVideoMapper.xml b/ailanyin-model-mapper/src/main/resources/com/ailanyin/mapper/HxVideoMapper.xml new file mode 100644 index 0000000..2867c35 --- /dev/null +++ b/ailanyin-model-mapper/src/main/resources/com/ailanyin/mapper/HxVideoMapper.xml @@ -0,0 +1,140 @@ + + + + + + + + + + + + + + "id", "category", "video_name", "video_file_name", "remark" + + + + + + + delete from ROOT."hx_video" + where "id" = #{id,jdbcType=BIGINT} + + + + insert into ROOT."hx_video" ("id", "category", "video_name", + "video_file_name", "remark") + values (#{id,jdbcType=BIGINT}, #{category,jdbcType=VARCHAR}, #{videoName,jdbcType=VARCHAR}, + #{videoFileName,jdbcType=VARCHAR}, #{remark,jdbcType=VARCHAR}) + + + + insert into ROOT."hx_video" + + + "id", + + + "category", + + + "video_name", + + + "video_file_name", + + + "remark", + + + + + #{id,jdbcType=BIGINT}, + + + #{category,jdbcType=VARCHAR}, + + + #{videoName,jdbcType=VARCHAR}, + + + #{videoFileName,jdbcType=VARCHAR}, + + + #{remark,jdbcType=VARCHAR}, + + + + + + update ROOT."hx_video" + + + "category" = #{category,jdbcType=VARCHAR}, + + + "video_name" = #{videoName,jdbcType=VARCHAR}, + + + "video_file_name" = #{videoFileName,jdbcType=VARCHAR}, + + + "remark" = #{remark,jdbcType=VARCHAR}, + + + where "id" = #{id,jdbcType=BIGINT} + + + + update ROOT."hx_video" + set "category" = #{category,jdbcType=VARCHAR}, + "video_name" = #{videoName,jdbcType=VARCHAR}, + "video_file_name" = #{videoFileName,jdbcType=VARCHAR}, + "remark" = #{remark,jdbcType=VARCHAR} + where "id" = #{id,jdbcType=BIGINT} + + diff --git a/ailanyin-model-mapper/src/main/resources/com/ailanyin/mapper/HxWorkHomeInfoMapper.xml b/ailanyin-model-mapper/src/main/resources/com/ailanyin/mapper/HxWorkHomeInfoMapper.xml new file mode 100644 index 0000000..3dfe913 --- /dev/null +++ b/ailanyin-model-mapper/src/main/resources/com/ailanyin/mapper/HxWorkHomeInfoMapper.xml @@ -0,0 +1,183 @@ + + + + + + + + + + + + + + + + + "id", "work_home_name", "abscissa", "ordinate", "workshop", "job_content", "error_info", + "av_address" + + + + + delete from hx_work_home_info + where `id` = #{id,jdbcType=BIGINT} + + + + + + insert into hx_work_home_info (`id`, `work_home_name`, `abscissa`, + `ordinate`, `workshop`, `job_content`, + `error_info`, `av_address`) + values (#{id,jdbcType=BIGINT}, #{workHomeName,jdbcType=VARCHAR}, #{abscissa,jdbcType=VARCHAR}, + #{ordinate,jdbcType=VARCHAR}, #{workshop,jdbcType=VARCHAR}, #{jobContent,jdbcType=VARCHAR}, + #{errorInfo,jdbcType=VARCHAR}, #{avAddress,jdbcType=VARCHAR}) + + + + insert into ROOT."hx_work_home_info" + + + "id", + + + "work_home_name", + + + "abscissa", + + + "ordinate", + + + "workshop", + + + "job_content", + + + "error_info", + + + "av_address", + + + + + #{id,jdbcType=BIGINT}, + + + #{workHomeName,jdbcType=VARCHAR}, + + + #{abscissa,jdbcType=VARCHAR}, + + + #{ordinate,jdbcType=VARCHAR}, + + + #{workshop,jdbcType=VARCHAR}, + + + #{jobContent,jdbcType=VARCHAR}, + + + #{errorInfo,jdbcType=VARCHAR}, + + + #{avAddress,jdbcType=VARCHAR}, + + + + + + update ROOT."hx_work_home_info" + + + "work_home_name" = #{workHomeName,jdbcType=VARCHAR}, + + + "abscissa" = #{abscissa,jdbcType=VARCHAR}, + + + "ordinate" = #{ordinate,jdbcType=VARCHAR}, + + + "workshop" = #{workshop,jdbcType=VARCHAR}, + + + "job_content" = #{jobContent,jdbcType=VARCHAR}, + + + "error_info" = #{errorInfo,jdbcType=VARCHAR}, + + + "av_address" = #{avAddress,jdbcType=VARCHAR}, + + + where "work_home_name" = #{workHomeName,jdbcType=VARCHAR} + + + + + + update hx_work_home_info + set `work_home_name` = #{workHomeName,jdbcType=VARCHAR}, + `abscissa` = #{abscissa,jdbcType=VARCHAR}, + `ordinate` = #{ordinate,jdbcType=VARCHAR}, + `workshop` = #{workshop,jdbcType=VARCHAR}, + `job_content` = #{jobContent,jdbcType=VARCHAR}, + `error_info` = #{errorInfo,jdbcType=VARCHAR}, + `av_address` = #{avAddress,jdbcType=VARCHAR} + where `id` = #{id,jdbcType=BIGINT} + + diff --git a/ailanyin-model-mapper/src/main/resources/com/ailanyin/mapper/HxYearDutyMapper.xml b/ailanyin-model-mapper/src/main/resources/com/ailanyin/mapper/HxYearDutyMapper.xml index 4a95a8b..12398cd 100644 --- a/ailanyin-model-mapper/src/main/resources/com/ailanyin/mapper/HxYearDutyMapper.xml +++ b/ailanyin-model-mapper/src/main/resources/com/ailanyin/mapper/HxYearDutyMapper.xml @@ -31,6 +31,11 @@ select from ROOT."hx_year_duty" + + + and "year" = #{year} + + order by "id" desc diff --git a/ailanyin-security/pom.xml b/ailanyin-security/pom.xml index 441f939..85643ab 100644 --- a/ailanyin-security/pom.xml +++ b/ailanyin-security/pom.xml @@ -37,5 +37,10 @@ io.jsonwebtoken jjwt-jackson + + + org.springframework.boot + spring-boot-starter-websocket + diff --git a/ailanyin-security/src/main/java/com/ailanyin/security/config/BaseSecurityConfig.java b/ailanyin-security/src/main/java/com/ailanyin/security/config/BaseSecurityConfig.java index e4a37b2..8b48ba9 100644 --- a/ailanyin-security/src/main/java/com/ailanyin/security/config/BaseSecurityConfig.java +++ b/ailanyin-security/src/main/java/com/ailanyin/security/config/BaseSecurityConfig.java @@ -5,6 +5,7 @@ import com.ailanyin.security.filter.XssFilter; import com.ailanyin.security.handle.NoPermissionResult; import com.ailanyin.security.handle.NoTokenResult; import com.ailanyin.security.service.SecurityUserService; +import com.ailanyin.security.service.WebSocketService; import com.ailanyin.security.utils.JwtTokenUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; @@ -12,11 +13,13 @@ import org.springframework.http.HttpMethod; import org.springframework.security.authentication.AuthenticationManager; import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder; import org.springframework.security.config.annotation.web.builders.HttpSecurity; +import org.springframework.security.config.annotation.web.builders.WebSecurity; import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; import org.springframework.security.config.http.SessionCreationPolicy; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter; +import org.springframework.web.socket.server.standard.ServerEndpointExporter; /** * @author ailanyin @@ -47,7 +50,7 @@ public class BaseSecurityConfig extends WebSecurityConfigurerAdapter { .and() .authorizeRequests() // 允许对于网站静态资源的无授权访问 - .antMatchers(HttpMethod.GET, + .antMatchers( "/", "/*.*", "/favicon.ico", @@ -56,14 +59,12 @@ public class BaseSecurityConfig extends WebSecurityConfigurerAdapter { "/**/*.js", "/swagger-resources/**", "/v2/api-docs/**", - "/druid/**" - ) - .permitAll() - // 对以下允许匿名访问(不带token) - .antMatchers("/login", + "/druid/**", + "/login", "/register", "/captchaImage", - "/getRouters") + "/getRouters" + ) .permitAll() //跨域请求会先进行一次options请求 .antMatchers(HttpMethod.OPTIONS) @@ -78,6 +79,15 @@ public class BaseSecurityConfig extends WebSecurityConfigurerAdapter { } + //忽略websocket拦截 + @Override + public void configure(WebSecurity webSecurity){ + webSecurity.ignoring().antMatchers( + "/ws/asset" + ); + } + + @Override protected void configure(AuthenticationManagerBuilder auth) throws Exception { auth.userDetailsService(userDetailsService()) @@ -125,4 +135,14 @@ public class BaseSecurityConfig extends WebSecurityConfigurerAdapter { public XssFilter xssFilter() { return new XssFilter(); } + + @Bean + public WebSocketService webSocketService() { + return new WebSocketService(); + } + + @Bean + public ServerEndpointExporter serverEndpointExporter(){ + return new ServerEndpointExporter(); + } } diff --git a/ailanyin-security/src/main/java/com/ailanyin/security/filter/JwtAuthenticationTokenFilter.java b/ailanyin-security/src/main/java/com/ailanyin/security/filter/JwtAuthenticationTokenFilter.java index d444069..e35e2d7 100644 --- a/ailanyin-security/src/main/java/com/ailanyin/security/filter/JwtAuthenticationTokenFilter.java +++ b/ailanyin-security/src/main/java/com/ailanyin/security/filter/JwtAuthenticationTokenFilter.java @@ -1,5 +1,6 @@ package com.ailanyin.security.filter; +import com.ailanyin.security.service.WebSocketService; import com.ailanyin.security.utils.JwtTokenUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; @@ -36,6 +37,18 @@ public class JwtAuthenticationTokenFilter extends OncePerRequestFilter { protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain chain) throws ServletException, IOException { + + if (request.getRequestURI().endsWith("/importData")) { + try { + WebSocketService.BroadCastInfo("{\n" + + " \"isRefresh\":true\n" + + "}"); + } catch (IOException e) { + WebSocketService.BroadCastInfo("{\n" + + " \"isRefresh\":true\n" + + "}"); + } + } // The part after "Bearer " String authHeader = request.getHeader(this.tokenHeader); if (authHeader != null && authHeader.startsWith(this.tokenHead)) { diff --git a/ailanyin-security/src/main/java/com/ailanyin/security/service/WebSocketService.java b/ailanyin-security/src/main/java/com/ailanyin/security/service/WebSocketService.java new file mode 100644 index 0000000..b5a6bc5 --- /dev/null +++ b/ailanyin-security/src/main/java/com/ailanyin/security/service/WebSocketService.java @@ -0,0 +1,112 @@ +package com.ailanyin.security.service; + +import org.springframework.stereotype.Component; + +import javax.websocket.*; +import javax.websocket.server.ServerEndpoint; +import java.io.IOException; +import java.util.concurrent.CopyOnWriteArraySet; +import java.util.concurrent.atomic.AtomicInteger; + +/** + * @author ailanyin + * @version 1.0 + * @since 2021/12/24 0024 上午 11:47 + */ +@ServerEndpoint(value = "/ws/asset") +@Component +public class WebSocketService { + + private static final AtomicInteger OnlineCount = new AtomicInteger(0); + private static CopyOnWriteArraySet SessionSet = new CopyOnWriteArraySet(); + + + /** + * 连接建立成功调用的方法 + */ + @OnOpen + public void onOpen(Session session) { + SessionSet.add(session); + int cnt = OnlineCount.incrementAndGet(); + SendMessage(session, "{\n" + + " \"isConnect\":true\n" + + "}"); + } + + /** + * 连接关闭调用的方法 + */ + @OnClose + public void onClose(Session session) { + SessionSet.remove(session); + int cnt = OnlineCount.decrementAndGet(); + } + + /** + * 收到客户端消息后调用的方法 + * + * @param message + * 客户端发送过来的消息 + */ + @OnMessage + public void onMessage(String message, Session session) { + SendMessage(session, "收到消息,消息内容:"+message); + + } + + /** + * 出现错误 + * @param session + * @param error + */ + @OnError + public void onError(Session session, Throwable error) { + error.printStackTrace(); + } + + /** + * 发送消息,实践表明,每次浏览器刷新,session会发生变化。 + * @param session + * @param message + */ + public static void SendMessage(Session session, String message) { + try { + session.getBasicRemote().sendText(message); + } catch (IOException e) { + e.printStackTrace(); + } + } + + /** + * 群发消息 + * @param message + * @throws IOException + */ + public static void BroadCastInfo(String message) throws IOException { + for (Session session : SessionSet) { + if(session.isOpen()){ + SendMessage(session, message); + } + } + } + + /** + * 指定Session发送消息 + * @param sessionId + * @param message + * @throws IOException + */ + public static void SendMessage(String message,String sessionId) throws IOException { + Session session = null; + for (Session s : SessionSet) { + if(s.getId().equals(sessionId)){ + session = s; + break; + } + } + if(session!=null){ + SendMessage(session, message); + } + } + +}