diff --git a/klp-crm/src/main/java/com/klp/crm/controller/CrmSalesReportController.java b/klp-crm/src/main/java/com/klp/crm/controller/CrmSalesReportController.java index 3a80b21c..bd10c311 100644 --- a/klp-crm/src/main/java/com/klp/crm/controller/CrmSalesReportController.java +++ b/klp-crm/src/main/java/com/klp/crm/controller/CrmSalesReportController.java @@ -85,6 +85,15 @@ public class CrmSalesReportController extends BaseController { return R.ok(stats); } + /** + * 查询省份统计数据 + */ + @GetMapping("/provinceStats") + public R> getProvinceStats(CrmSalesReportBo bo) { + List stats = iCrmSalesReportService.queryProvinceStats(bo); + return R.ok(stats); + } + /** * 导出销售报表订单明细 */ diff --git a/klp-crm/src/main/java/com/klp/crm/domain/vo/CrmSalesReportVo.java b/klp-crm/src/main/java/com/klp/crm/domain/vo/CrmSalesReportVo.java index 7ab5e978..ea578bca 100644 --- a/klp-crm/src/main/java/com/klp/crm/domain/vo/CrmSalesReportVo.java +++ b/klp-crm/src/main/java/com/klp/crm/domain/vo/CrmSalesReportVo.java @@ -290,4 +290,35 @@ public class CrmSalesReportVo { @ExcelProperty(value = "销售金额") private BigDecimal salesAmount; } + + /** + * 省份统计内部类 + */ + @Data + public static class ProvinceStat { + + /** + * 省份 + */ + @ExcelProperty(value = "省份") + private String province; + + /** + * 客户数量 + */ + @ExcelProperty(value = "客户数量") + private Integer customerCount; + + /** + * 订单数量 + */ + @ExcelProperty(value = "订单数量") + private Integer orderCount; + + /** + * 销售金额 + */ + @ExcelProperty(value = "销售金额") + private BigDecimal salesAmount; + } } diff --git a/klp-crm/src/main/java/com/klp/crm/mapper/CrmSalesReportMapper.java b/klp-crm/src/main/java/com/klp/crm/mapper/CrmSalesReportMapper.java index 580276c3..4622b9de 100644 --- a/klp-crm/src/main/java/com/klp/crm/mapper/CrmSalesReportMapper.java +++ b/klp-crm/src/main/java/com/klp/crm/mapper/CrmSalesReportMapper.java @@ -54,4 +54,12 @@ public interface CrmSalesReportMapper { * @return 行业统计列表 */ List selectIndustryStats(@Param("bo") CrmSalesReportBo bo); + + /** + * 查询省份统计数据 + * + * @param bo 查询条件 + * @return 省份统计列表 + */ + List selectProvinceStats(@Param("bo") CrmSalesReportBo bo); } \ No newline at end of file diff --git a/klp-crm/src/main/java/com/klp/crm/service/ICrmSalesReportService.java b/klp-crm/src/main/java/com/klp/crm/service/ICrmSalesReportService.java index 6be75d08..c863d240 100644 --- a/klp-crm/src/main/java/com/klp/crm/service/ICrmSalesReportService.java +++ b/klp-crm/src/main/java/com/klp/crm/service/ICrmSalesReportService.java @@ -72,4 +72,12 @@ public interface ICrmSalesReportService { * @return 行业统计列表 */ List queryIndustryStats(CrmSalesReportBo bo); + + /** + * 查询省份统计数据 + * + * @param bo 查询条件 + * @return 省份统计列表 + */ + List queryProvinceStats(CrmSalesReportBo bo); } \ No newline at end of file diff --git a/klp-crm/src/main/java/com/klp/crm/service/impl/CrmSalesReportServiceImpl.java b/klp-crm/src/main/java/com/klp/crm/service/impl/CrmSalesReportServiceImpl.java index 3fadda9c..feb1669a 100644 --- a/klp-crm/src/main/java/com/klp/crm/service/impl/CrmSalesReportServiceImpl.java +++ b/klp-crm/src/main/java/com/klp/crm/service/impl/CrmSalesReportServiceImpl.java @@ -136,4 +136,12 @@ public class CrmSalesReportServiceImpl implements ICrmSalesReportService { public List queryIndustryStats(CrmSalesReportBo bo) { return baseMapper.selectIndustryStats(bo); } + + /** + * 查询省份统计数据 + */ + @Override + public List queryProvinceStats(CrmSalesReportBo bo) { + return baseMapper.selectProvinceStats(bo); + } } diff --git a/klp-crm/src/main/resources/mapper/CrmSalesReportMapper.xml b/klp-crm/src/main/resources/mapper/CrmSalesReportMapper.xml index 625ee60f..242fa843 100644 --- a/klp-crm/src/main/resources/mapper/CrmSalesReportMapper.xml +++ b/klp-crm/src/main/resources/mapper/CrmSalesReportMapper.xml @@ -268,4 +268,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ORDER BY salesAmount DESC + + + diff --git a/klp-mes/src/main/java/com/klp/mes/qc/domain/QcCertificateItem.java b/klp-mes/src/main/java/com/klp/mes/qc/domain/QcCertificateItem.java index 73e105d4..4c60e36c 100644 --- a/klp-mes/src/main/java/com/klp/mes/qc/domain/QcCertificateItem.java +++ b/klp-mes/src/main/java/com/klp/mes/qc/domain/QcCertificateItem.java @@ -37,6 +37,10 @@ public class QcCertificateItem extends BaseEntity { * 钢卷号 */ private String coilNo; + /** + * 原料卷号 + */ + private String rawCoilNo; /** * 炉号 */ @@ -145,6 +149,10 @@ public class QcCertificateItem extends BaseEntity { * 表面结构 */ private String surfaceStructure; + /** + * 表面处理 + */ + private String surfaceTreatment; /** * 镀层表面结构 */ @@ -161,6 +169,10 @@ public class QcCertificateItem extends BaseEntity { * 备注 */ private String remark; + /** + * 调质度 + */ + private String temperDegree; /** * 删除标志(0=正常,1=已删除) */ diff --git a/klp-mes/src/main/java/com/klp/mes/qc/domain/bo/QcCertificateItemBo.java b/klp-mes/src/main/java/com/klp/mes/qc/domain/bo/QcCertificateItemBo.java index 333662da..ef8f320a 100644 --- a/klp-mes/src/main/java/com/klp/mes/qc/domain/bo/QcCertificateItemBo.java +++ b/klp-mes/src/main/java/com/klp/mes/qc/domain/bo/QcCertificateItemBo.java @@ -38,6 +38,11 @@ public class QcCertificateItemBo extends BaseEntity { */ private String coilNo; + /** + * 原料卷号 + */ + private String rawCoilNo; + /** * 炉号 */ @@ -173,6 +178,11 @@ public class QcCertificateItemBo extends BaseEntity { */ private String surfaceStructure; + /** + * 表面处理 + */ + private String surfaceTreatment; + /** * 镀层表面结构 */ @@ -193,5 +203,10 @@ public class QcCertificateItemBo extends BaseEntity { */ private String remark; + /** + * 调质度 + */ + private String temperDegree; + } diff --git a/klp-mes/src/main/java/com/klp/mes/qc/domain/vo/QcCertificateItemVo.java b/klp-mes/src/main/java/com/klp/mes/qc/domain/vo/QcCertificateItemVo.java index df77b86a..563419a9 100644 --- a/klp-mes/src/main/java/com/klp/mes/qc/domain/vo/QcCertificateItemVo.java +++ b/klp-mes/src/main/java/com/klp/mes/qc/domain/vo/QcCertificateItemVo.java @@ -43,6 +43,12 @@ public class QcCertificateItemVo { @ExcelProperty(value = "钢卷号") private String coilNo; + /** + * 原料卷号 + */ + @ExcelProperty(value = "原料卷号") + private String rawCoilNo; + /** * 炉号 */ @@ -205,6 +211,12 @@ public class QcCertificateItemVo { @ExcelProperty(value = "表面结构") private String surfaceStructure; + /** + * 表面处理 + */ + @ExcelProperty(value = "表面处理") + private String surfaceTreatment; + /** * 镀层表面结构 */ @@ -229,5 +241,11 @@ public class QcCertificateItemVo { @ExcelProperty(value = "备注") private String remark; + /** + * 调质度 + */ + @ExcelProperty(value = "调质度") + private String temperDegree; + } diff --git a/klp-mes/src/main/java/com/klp/mes/qc/service/impl/QcCertificateItemServiceImpl.java b/klp-mes/src/main/java/com/klp/mes/qc/service/impl/QcCertificateItemServiceImpl.java index 2ab259e0..9ea67432 100644 --- a/klp-mes/src/main/java/com/klp/mes/qc/service/impl/QcCertificateItemServiceImpl.java +++ b/klp-mes/src/main/java/com/klp/mes/qc/service/impl/QcCertificateItemServiceImpl.java @@ -64,6 +64,7 @@ public class QcCertificateItemServiceImpl implements IQcCertificateItemService { lqw.eq(bo.getCertificateId() != null, QcCertificateItem::getCertificateId, bo.getCertificateId()); lqw.eq(bo.getCoilId() != null, QcCertificateItem::getCoilId, bo.getCoilId()); lqw.eq(StringUtils.isNotBlank(bo.getCoilNo()), QcCertificateItem::getCoilNo, bo.getCoilNo()); + lqw.eq(StringUtils.isNotBlank(bo.getRawCoilNo()), QcCertificateItem::getRawCoilNo, bo.getRawCoilNo()); lqw.eq(StringUtils.isNotBlank(bo.getHeatNo()), QcCertificateItem::getHeatNo, bo.getHeatNo()); lqw.eq(StringUtils.isNotBlank(bo.getMaterialType()), QcCertificateItem::getMaterialType, bo.getMaterialType()); lqw.eq(StringUtils.isNotBlank(bo.getSize()), QcCertificateItem::getSize, bo.getSize()); @@ -91,9 +92,11 @@ public class QcCertificateItemServiceImpl implements IQcCertificateItemService { lqw.eq(StringUtils.isNotBlank(bo.getBendingTest()), QcCertificateItem::getBendingTest, bo.getBendingTest()); lqw.eq(StringUtils.isNotBlank(bo.getSurfaceQuality()), QcCertificateItem::getSurfaceQuality, bo.getSurfaceQuality()); lqw.eq(StringUtils.isNotBlank(bo.getSurfaceStructure()), QcCertificateItem::getSurfaceStructure, bo.getSurfaceStructure()); + lqw.eq(StringUtils.isNotBlank(bo.getSurfaceTreatment()), QcCertificateItem::getSurfaceTreatment, bo.getSurfaceTreatment()); lqw.eq(StringUtils.isNotBlank(bo.getCoatingSurfaceStructure()), QcCertificateItem::getCoatingSurfaceStructure, bo.getCoatingSurfaceStructure()); lqw.eq(bo.getCoatingMass() != null, QcCertificateItem::getCoatingMass, bo.getCoatingMass()); lqw.eq(StringUtils.isNotBlank(bo.getEdgeStatus()), QcCertificateItem::getEdgeStatus, bo.getEdgeStatus()); + lqw.eq(StringUtils.isNotBlank(bo.getTemperDegree()), QcCertificateItem::getTemperDegree, bo.getTemperDegree()); return lqw; } diff --git a/klp-mes/src/main/java/com/klp/mes/roll/controller/MesRollGrindController.java b/klp-mes/src/main/java/com/klp/mes/roll/controller/MesRollGrindController.java index 3ce46758..f68a79e8 100644 --- a/klp-mes/src/main/java/com/klp/mes/roll/controller/MesRollGrindController.java +++ b/klp-mes/src/main/java/com/klp/mes/roll/controller/MesRollGrindController.java @@ -26,17 +26,19 @@ public class MesRollGrindController extends BaseController { private final IMesRollGrindService iMesRollGrindService; - /** 查询磨削记录列表(不传 rollId 时返回全部,支持时间范围和产线筛选) */ + /** 查询磨削记录列表(不传 rollId 时返回全部,支持时间范围、产线、班组、轧辊类型筛选) */ @GetMapping("/list") public R> list( @RequestParam(required = false) Long rollId, @RequestParam(required = false) Long lineId, @RequestParam(required = false) String beginTime, - @RequestParam(required = false) String endTime) { + @RequestParam(required = false) String endTime, + @RequestParam(required = false) String team, + @RequestParam(required = false) String rollType) { if (rollId != null) { return R.ok(iMesRollGrindService.listByRoll(rollId)); } - return R.ok(iMesRollGrindService.listByQuery(null, lineId, beginTime, endTime)); + return R.ok(iMesRollGrindService.listByQuery(null, lineId, beginTime, endTime, team, rollType)); } /** 按年份查询月度汇总 */ diff --git a/klp-mes/src/main/java/com/klp/mes/roll/domain/vo/MesRollGrindVo.java b/klp-mes/src/main/java/com/klp/mes/roll/domain/vo/MesRollGrindVo.java index e5ce4d24..d8469fb2 100644 --- a/klp-mes/src/main/java/com/klp/mes/roll/domain/vo/MesRollGrindVo.java +++ b/klp-mes/src/main/java/com/klp/mes/roll/domain/vo/MesRollGrindVo.java @@ -20,6 +20,7 @@ public class MesRollGrindVo { private Date grindTime; private String team; + private String rollType; private BigDecimal diaBefore; private BigDecimal diaAfter; private BigDecimal grindAmount; diff --git a/klp-mes/src/main/java/com/klp/mes/roll/mapper/MesRollGrindMapper.java b/klp-mes/src/main/java/com/klp/mes/roll/mapper/MesRollGrindMapper.java index 013c61d8..f5997af9 100644 --- a/klp-mes/src/main/java/com/klp/mes/roll/mapper/MesRollGrindMapper.java +++ b/klp-mes/src/main/java/com/klp/mes/roll/mapper/MesRollGrindMapper.java @@ -20,7 +20,9 @@ public interface MesRollGrindMapper extends BaseMapperPlus selectList(@Param("rollId") Long rollId, @Param("lineId") Long lineId, @Param("beginTime") String beginTime, - @Param("endTime") String endTime); + @Param("endTime") String endTime, + @Param("team") String team, + @Param("rollType") String rollType); /** 按年份统计每月磨削量 { month, grindCount, totalGrindAmount } */ List> selectMonthlyStats(@Param("rollId") Long rollId, @Param("year") int year); diff --git a/klp-mes/src/main/java/com/klp/mes/roll/service/IMesRollGrindService.java b/klp-mes/src/main/java/com/klp/mes/roll/service/IMesRollGrindService.java index 9b2336e2..be541b8e 100644 --- a/klp-mes/src/main/java/com/klp/mes/roll/service/IMesRollGrindService.java +++ b/klp-mes/src/main/java/com/klp/mes/roll/service/IMesRollGrindService.java @@ -15,7 +15,7 @@ public interface IMesRollGrindService { List listByRoll(Long rollId); /** 通用查询(所有参数可选) */ - List listByQuery(Long rollId, Long lineId, String beginTime, String endTime); + List listByQuery(Long rollId, Long lineId, String beginTime, String endTime, String team, String rollType); /** 新增磨削记录,同步更新轧辊当前直径和磨削次数 */ Long addGrind(MesRollGrindBo bo); diff --git a/klp-mes/src/main/java/com/klp/mes/roll/service/impl/MesRollGrindServiceImpl.java b/klp-mes/src/main/java/com/klp/mes/roll/service/impl/MesRollGrindServiceImpl.java index c4c02bd2..4dfbe1e3 100644 --- a/klp-mes/src/main/java/com/klp/mes/roll/service/impl/MesRollGrindServiceImpl.java +++ b/klp-mes/src/main/java/com/klp/mes/roll/service/impl/MesRollGrindServiceImpl.java @@ -35,8 +35,8 @@ public class MesRollGrindServiceImpl implements IMesRollGrindService { } @Override - public List listByQuery(Long rollId, Long lineId, String beginTime, String endTime) { - return baseMapper.selectList(rollId, lineId, beginTime, endTime); + public List listByQuery(Long rollId, Long lineId, String beginTime, String endTime, String team, String rollType) { + return baseMapper.selectList(rollId, lineId, beginTime, endTime, team, rollType); } @Override diff --git a/klp-mes/src/main/resources/mapper/qc/QcCertificateItemMapper.xml b/klp-mes/src/main/resources/mapper/qc/QcCertificateItemMapper.xml index 02f26ecd..e5cc3eee 100644 --- a/klp-mes/src/main/resources/mapper/qc/QcCertificateItemMapper.xml +++ b/klp-mes/src/main/resources/mapper/qc/QcCertificateItemMapper.xml @@ -9,6 +9,7 @@ + @@ -36,10 +37,12 @@ + + diff --git a/klp-mes/src/main/resources/mapper/roll/MesRollGrindMapper.xml b/klp-mes/src/main/resources/mapper/roll/MesRollGrindMapper.xml index 82884e23..46cec595 100644 --- a/klp-mes/src/main/resources/mapper/roll/MesRollGrindMapper.xml +++ b/klp-mes/src/main/resources/mapper/roll/MesRollGrindMapper.xml @@ -10,22 +10,26 @@ operator, remark, create_time FROM mes_roll_grind WHERE del_flag = 0 AND roll_id = #{rollId} - ORDER BY grind_time ASC, grind_id ASC + ORDER BY grind_time Desc + + + + + + diff --git a/klp-wms/src/main/resources/mapper/klp/WmsMaterialCoilMapper.xml b/klp-wms/src/main/resources/mapper/klp/WmsMaterialCoilMapper.xml index 3c119a78..3c19110b 100644 --- a/klp-wms/src/main/resources/mapper/klp/WmsMaterialCoilMapper.xml +++ b/klp-wms/src/main/resources/mapper/klp/WmsMaterialCoilMapper.xml @@ -82,90 +82,91 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" GROUP BY w.warehouse_id, w.warehouse_name ORDER BY w.warehouse_id - + SELECT + ${ew.customSqlSegment} - + + + diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 00000000..7b51b113 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,24 @@ +{ + "name": "klp-oa", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "dependencies": { + "three": "^0.184.0" + } + }, + "node_modules/three": { + "version": "0.184.0", + "resolved": "https://registry.npmmirror.com/three/-/three-0.184.0.tgz", + "integrity": "sha512-wtTRjG92pM5eUg/KuUnHsqSAlPM296brTOcLgMRqEeylYTh/CdtvKUvCyyCQTzFuStieWxvZb8mVTMvdPyUpxg==" + } + }, + "dependencies": { + "three": { + "version": "0.184.0", + "resolved": "https://registry.npmmirror.com/three/-/three-0.184.0.tgz", + "integrity": "sha512-wtTRjG92pM5eUg/KuUnHsqSAlPM296brTOcLgMRqEeylYTh/CdtvKUvCyyCQTzFuStieWxvZb8mVTMvdPyUpxg==" + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 00000000..bcff64c9 --- /dev/null +++ b/package.json @@ -0,0 +1,5 @@ +{ + "dependencies": { + "three": "^0.184.0" + } +} diff --git a/script/sql/mysql/klp-oa.sql b/script/sql/mysql/klp-oa.sql index 72f67d76..9d08bfdc 100644 --- a/script/sql/mysql/klp-oa.sql +++ b/script/sql/mysql/klp-oa.sql @@ -3210,6 +3210,8 @@ CREATE TABLE `wms_coil_abnormal` ( `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人', `plate_surface` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '上下板面', + `source_system` tinyint NOT NULL DEFAULT 3 COMMENT '数据来源:2=二级系统同步,3=三级本地录入', + `process_source` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '工序来源(如:粗轧、精轧、酸洗、退火等)', PRIMARY KEY (`abnormal_id`) USING BTREE, INDEX `idx_coil_id`(`coil_id` ASC) USING BTREE COMMENT '钢卷ID索引', INDEX `idx_judge_time`(`judge_time` ASC) USING BTREE COMMENT '判级时间索引(可选,根据查询需求添加)',