diff --git a/jwtech-admin/src/main/resources/application-druid-test.yml b/jwtech-admin/src/main/resources/application-druid-test.yml index e56b2981..d0a12c80 100644 --- a/jwtech-admin/src/main/resources/application-druid-test.yml +++ b/jwtech-admin/src/main/resources/application-druid-test.yml @@ -15,7 +15,7 @@ spring: # url: jdbc:mysql://47.93.254.187:3306/shui_pro?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8&allowMultiQueries=true # username: shuili # password: wuxukgdvJ1!@! - url: jdbc:mysql://47.93.254.187:3306/shui_pro?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=GMT%2B8&allowMultiQueries=true + url: jdbc:mysql://47.93.254.187:3306/shui_pro?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8&allowMultiQueries=true username: shuili password: wuxukgdvJ1!@! # 从库数据源 diff --git a/jwtech-admin/src/main/resources/application-test.yml b/jwtech-admin/src/main/resources/application-test.yml index bcd9dde3..ce2252fb 100644 --- a/jwtech-admin/src/main/resources/application-test.yml +++ b/jwtech-admin/src/main/resources/application-test.yml @@ -132,7 +132,9 @@ spring: redis: # 地址 #host: 152.136.216.196 - host: 127.0.0.1 +# host: 127.0.0.1 + host: 192.168.2.189 + # host: 192.168.0.108 # 端口,默认为6379 port: 6379 diff --git a/jwtech-pc/src/main/resources/application-test.yml b/jwtech-pc/src/main/resources/application-test.yml index 5fab2e3b..d316071c 100644 --- a/jwtech-pc/src/main/resources/application-test.yml +++ b/jwtech-pc/src/main/resources/application-test.yml @@ -131,7 +131,7 @@ spring: # redis 配置 redis: # 地址 - host: 127.0.0.1 + host: 192.168.0.189 # host: 192.168.2.189 # cluster: # nodes: 192.168.1.20:7001,192.168.1.20:7002,192.168.1.20:7003,192.168.1.20:7004,192.168.1.20:7005,192.168.1.20:7006 diff --git a/jwtech-system/src/main/java/com/kms/site/controller/BsSgcBasicDeviceInformationController.java b/jwtech-system/src/main/java/com/kms/site/controller/BsSgcBasicDeviceInformationController.java index 3cfe6360..02aff01e 100644 --- a/jwtech-system/src/main/java/com/kms/site/controller/BsSgcBasicDeviceInformationController.java +++ b/jwtech-system/src/main/java/com/kms/site/controller/BsSgcBasicDeviceInformationController.java @@ -122,4 +122,15 @@ public class BsSgcBasicDeviceInformationController extends BaseController { return AjaxResult.success(bsSgcBasicDeviceInformationService.statisticsOfOverweightEquipment(proNo)); } + + + /** + * 超重设备统计 + */ + @ApiOperation("正异设备统计") + @GetMapping(value = "/statisticsOfNormal/{proNo}") + public AjaxResult statisticsOfNormal(@PathVariable("proNo") String proNo) + { + return AjaxResult.success(bsSgcBasicDeviceInformationService.statisticsOfNormal(proNo)); + } } diff --git a/jwtech-system/src/main/java/com/kms/site/controller/BsSgcEquipmentMonitoringController.java b/jwtech-system/src/main/java/com/kms/site/controller/BsSgcEquipmentMonitoringController.java index 9a529acb..d7f47c4a 100644 --- a/jwtech-system/src/main/java/com/kms/site/controller/BsSgcEquipmentMonitoringController.java +++ b/jwtech-system/src/main/java/com/kms/site/controller/BsSgcEquipmentMonitoringController.java @@ -12,14 +12,7 @@ import com.kms.common.utils.BaseEntityUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import com.baomidou.mybatisplus.core.metadata.IPage; import com.jianwei.common.mybaitsplus.BeanToWrapper; @@ -111,4 +104,17 @@ public class BsSgcEquipmentMonitoringController extends BaseController { return toAjax(bsSgcEquipmentMonitoringService.removeByIds(Arrays.asList(ids))); } + + + /** + * 查询生产物料产量统计 + */ + @GetMapping("/getMaterialOutputStatistics") + @ApiOperation("查询生产物料产量统计") + public AjaxResult getMaterialOutputStatistics(@RequestParam(required = false)String proNo, + @RequestParam(required = false)String timeType) + { + return AjaxResult.success(bsSgcEquipmentMonitoringService.getMaterialOutputStatistics(proNo,timeType)); + } + } diff --git a/jwtech-system/src/main/java/com/kms/site/controller/BsSgcProjectPersonnelController.java b/jwtech-system/src/main/java/com/kms/site/controller/BsSgcProjectPersonnelController.java index 632ec9ce..189525fa 100644 --- a/jwtech-system/src/main/java/com/kms/site/controller/BsSgcProjectPersonnelController.java +++ b/jwtech-system/src/main/java/com/kms/site/controller/BsSgcProjectPersonnelController.java @@ -12,14 +12,7 @@ import com.kms.common.utils.BaseEntityUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import com.baomidou.mybatisplus.core.metadata.IPage; import com.jianwei.common.mybaitsplus.BeanToWrapper; @@ -46,14 +39,14 @@ public class BsSgcProjectPersonnelController extends BaseController private BsSgcProjectPersonnelService bsSgcProjectPersonnelService; /** - * 查询项目人员名单信息列表 - */ - @PostMapping("/list") - @ApiOperation("项目人员名单信息列表") - public IPage list(@RequestBody SearchParam sp) - { - return bsSgcProjectPersonnelService.selectPage(sp); - } + * 查询项目人员名单信息列表 + */ +@PostMapping("/list") +@ApiOperation("项目人员名单信息列表") +public IPage list(@RequestBody SearchParam sp) +{ + return bsSgcProjectPersonnelService.selectPage(sp); +} /** * 导出项目人员名单信息列表 @@ -111,4 +104,16 @@ public class BsSgcProjectPersonnelController extends BaseController { return toAjax(bsSgcProjectPersonnelService.removeByIds(Arrays.asList(ids))); } + + + /** + * 查询项目人员类型统计 + */ + @PostMapping("/typeStatistics") + @ApiOperation("查询项目人员类型统计") + public AjaxResult typeStatistics(@RequestParam(required = false)String proNo, + @RequestParam(required = false)String type) + { + return AjaxResult.success(bsSgcProjectPersonnelService.typeStatistics(proNo,type)); + } } diff --git a/jwtech-system/src/main/java/com/kms/site/domain/BsSgcEquipmentMonitoring.java b/jwtech-system/src/main/java/com/kms/site/domain/BsSgcEquipmentMonitoring.java index 7ff5695f..9109f6be 100644 --- a/jwtech-system/src/main/java/com/kms/site/domain/BsSgcEquipmentMonitoring.java +++ b/jwtech-system/src/main/java/com/kms/site/domain/BsSgcEquipmentMonitoring.java @@ -1,5 +1,6 @@ package com.kms.site.domain; +import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -12,6 +13,9 @@ import com.baomidou.mybatisplus.annotation.TableName; import com.jianwei.common.core.domain.BaseEntity; +import java.time.LocalDateTime; +import java.util.Date; + /** * 生产物料监控对象 bs_sgc_equipment_monitoring * @@ -62,4 +66,7 @@ public class BsSgcEquipmentMonitoring extends BaseEntity @ApiModelProperty("用料偏差报警") private String updateUid; + @JsonFormat(pattern = "yyyy-MM-dd HH",timezone="GMT+8") + private Date materialTime; + } diff --git a/jwtech-system/src/main/java/com/kms/site/domain/BsSgcProjectPersonnel.java b/jwtech-system/src/main/java/com/kms/site/domain/BsSgcProjectPersonnel.java index 8a88321d..1f5ce7c2 100644 --- a/jwtech-system/src/main/java/com/kms/site/domain/BsSgcProjectPersonnel.java +++ b/jwtech-system/src/main/java/com/kms/site/domain/BsSgcProjectPersonnel.java @@ -82,4 +82,8 @@ public class BsSgcProjectPersonnel extends BaseEntity @ApiModelProperty("人员照片信息") private String updateUid; + + @ApiModelProperty("是否进场") + private String enterArena; + } diff --git a/jwtech-system/src/main/java/com/kms/site/mapper/BsSgcBasicDeviceInformationMapper.java b/jwtech-system/src/main/java/com/kms/site/mapper/BsSgcBasicDeviceInformationMapper.java index f8b7629e..5c3ff711 100644 --- a/jwtech-system/src/main/java/com/kms/site/mapper/BsSgcBasicDeviceInformationMapper.java +++ b/jwtech-system/src/main/java/com/kms/site/mapper/BsSgcBasicDeviceInformationMapper.java @@ -19,7 +19,12 @@ import java.util.List; public interface BsSgcBasicDeviceInformationMapper extends BaseMapper { @Select("SELECT model,count(*) total,\n" + - "SUM(CASE WHEN is_overweight = '0' THEN 1 ELSE 0 END) AS non_overweight_count\n" + + "SUM(CASE WHEN is_overweight = 'Y' THEN 1 ELSE 0 END) AS non_overweight_count\n" + " from bs_sgc_basic_device_information where pro_no = #{proNo} GROUP BY model") List statisticsOfOverweightEquipment(@Param("proNo") String proNo); + + @Select("SELECT model,SUM(CASE WHEN status = '2' THEN 1 ELSE 0 END) AS no_normal_count,\n" + + "SUM(CASE WHEN status = '1' THEN 1 ELSE 0 END) AS normal_count\n" + + " from bs_sgc_basic_device_information where pro_no = #{proNo} GROUP BY model") + List statisticsOfNormal(@Param("proNo") String proNo); } diff --git a/jwtech-system/src/main/java/com/kms/site/mapper/BsSgcEquipmentMonitoringMapper.java b/jwtech-system/src/main/java/com/kms/site/mapper/BsSgcEquipmentMonitoringMapper.java index dc2f9015..c8aca123 100644 --- a/jwtech-system/src/main/java/com/kms/site/mapper/BsSgcEquipmentMonitoringMapper.java +++ b/jwtech-system/src/main/java/com/kms/site/mapper/BsSgcEquipmentMonitoringMapper.java @@ -1,9 +1,17 @@ package com.kms.site.mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; import org.springframework.stereotype.Repository; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.kms.site.domain.BsSgcEquipmentMonitoring; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.util.Date; +import java.util.HashMap; +import java.util.List; + /** * 生产物料监控Mapper接口 * @@ -13,4 +21,9 @@ import com.kms.site.domain.BsSgcEquipmentMonitoring; @Repository public interface BsSgcEquipmentMonitoringMapper extends BaseMapper { + @Select("SELECT DATE_FORMAT(material_time,'%${timeType}') time,SUM(material_yield) materialYield from bs_sgc_equipment_monitoring \n" + + "WHERE material_time BETWEEN #{startTime} AND #{endTime} and pro_no = #{proNo} \n" + + "GROUP BY DATE_FORMAT(material_time,'%${timeType}')") + List getMaterialOutputStatisticsForTimeType(@Param("proNo") String proNo, @Param("timeType")String timeType, + @Param("startTime") Date startTime, @Param("endTime") Date endTime); } diff --git a/jwtech-system/src/main/java/com/kms/site/mapper/BsSgcProjectPersonnelMapper.java b/jwtech-system/src/main/java/com/kms/site/mapper/BsSgcProjectPersonnelMapper.java index 3ca01257..f4a2649a 100644 --- a/jwtech-system/src/main/java/com/kms/site/mapper/BsSgcProjectPersonnelMapper.java +++ b/jwtech-system/src/main/java/com/kms/site/mapper/BsSgcProjectPersonnelMapper.java @@ -1,9 +1,14 @@ package com.kms.site.mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; import org.springframework.stereotype.Repository; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.kms.site.domain.BsSgcProjectPersonnel; +import java.util.HashMap; +import java.util.List; + /** * 项目人员名单信息Mapper接口 * @@ -13,4 +18,9 @@ import com.kms.site.domain.BsSgcProjectPersonnel; @Repository public interface BsSgcProjectPersonnelMapper extends BaseMapper { + + @Select(" SELECT ${type},COUNT(*) count from bs_sgc_project_personnel \n" + + " WHERE pro_no = #{proNo}\n" + + " group by ${type}") + List typeStatistics(@Param("proNo") String proNo, @Param("type") String type); } diff --git a/jwtech-system/src/main/java/com/kms/site/service/BsSgcBasicDeviceInformationService.java b/jwtech-system/src/main/java/com/kms/site/service/BsSgcBasicDeviceInformationService.java index 0cebe7dd..898ebf27 100644 --- a/jwtech-system/src/main/java/com/kms/site/service/BsSgcBasicDeviceInformationService.java +++ b/jwtech-system/src/main/java/com/kms/site/service/BsSgcBasicDeviceInformationService.java @@ -26,4 +26,8 @@ public class BsSgcBasicDeviceInformationService extends BaseService statisticsOfOverweightEquipment(String proNo) { return bsSgcBasicDeviceInformationMapper.statisticsOfOverweightEquipment(proNo); } + + public List statisticsOfNormal(String proNo) { + return bsSgcBasicDeviceInformationMapper.statisticsOfNormal(proNo); + } } diff --git a/jwtech-system/src/main/java/com/kms/site/service/BsSgcEquipmentMonitoringService.java b/jwtech-system/src/main/java/com/kms/site/service/BsSgcEquipmentMonitoringService.java index 11cd2424..d2521780 100644 --- a/jwtech-system/src/main/java/com/kms/site/service/BsSgcEquipmentMonitoringService.java +++ b/jwtech-system/src/main/java/com/kms/site/service/BsSgcEquipmentMonitoringService.java @@ -1,10 +1,21 @@ package com.kms.site.service; +import com.jianwei.common.core.domain.AjaxResult; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.jianwei.common.core.service.BaseService; import com.kms.site.mapper.BsSgcEquipmentMonitoringMapper; import com.kms.site.domain.BsSgcEquipmentMonitoring; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.LocalTime; +import java.time.ZoneId; +import java.util.ArrayList; +import java.util.Date; +import java.util.HashMap; +import java.util.List; + /** * 生产物料监控Service接口 * @@ -14,4 +25,32 @@ import com.kms.site.domain.BsSgcEquipmentMonitoring; @Service public class BsSgcEquipmentMonitoringService extends BaseService{ + @Autowired + BsSgcEquipmentMonitoringMapper bsSgcEquipmentMonitoringMapper; + + + public List getMaterialOutputStatistics(String proNo, String timeType) { + LocalDateTime start = null; + LocalDateTime now = LocalDate.now().atStartOfDay(); + if(timeType.equals("1")){ //年 + start = LocalDate.now().withDayOfYear(1).atStartOfDay(); + timeType = "M"; + }else if(timeType.equals("2")){ //月 + start = LocalDate.now().withDayOfMonth(1).atStartOfDay(); + timeType = "d"; + }else if(timeType.equals("3")){ //日 + LocalDate today = LocalDate.now(); + // 当天的00:00:00 + start = today.atStartOfDay(); + // 当天的23:59:59 + now = today.atTime(LocalTime.MAX); + timeType = "HH"; + } + Date dstart = Date.from(start.atZone(ZoneId.systemDefault()).toInstant()); + Date dnow = Date.from(now.atZone(ZoneId.systemDefault()).toInstant()); + return bsSgcEquipmentMonitoringMapper.getMaterialOutputStatisticsForTimeType(proNo,timeType,dstart,dnow); + } + + + } diff --git a/jwtech-system/src/main/java/com/kms/site/service/BsSgcProjectPersonnelService.java b/jwtech-system/src/main/java/com/kms/site/service/BsSgcProjectPersonnelService.java index 21916104..32299723 100644 --- a/jwtech-system/src/main/java/com/kms/site/service/BsSgcProjectPersonnelService.java +++ b/jwtech-system/src/main/java/com/kms/site/service/BsSgcProjectPersonnelService.java @@ -1,10 +1,18 @@ package com.kms.site.service; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.aspectj.weaver.ast.Var; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.jianwei.common.core.service.BaseService; import com.kms.site.mapper.BsSgcProjectPersonnelMapper; import com.kms.site.domain.BsSgcProjectPersonnel; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + /** * 项目人员名单信息Service接口 * @@ -14,4 +22,16 @@ import com.kms.site.domain.BsSgcProjectPersonnel; @Service public class BsSgcProjectPersonnelService extends BaseService{ + @Autowired + BsSgcProjectPersonnelMapper bsSgcProjectPersonnelMapper; + + private static final String qType = "post,position,qualificationCertificate,enterArena"; + + + public List typeStatistics(String proNo, String type) { + if(qType.indexOf(type)<=-1){ + throw new RuntimeException("参数异常"); + } + return bsSgcProjectPersonnelMapper.typeStatistics(proNo,type); + } }