From 4f9cb5e37e04ac08df531f10a90759d78ed577db Mon Sep 17 00:00:00 2001 From: mashuai Date: Mon, 29 Apr 2024 14:38:15 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E5=AE=81=E5=A4=8F=E5=A4=A7=E5=B1=8F?= =?UTF-8?q?=E4=BA=8C=E7=BA=A7=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/LargeScreenController.java | 99 +++- .../sgzb/largeScreen/domain/AccessVo.java | 27 + .../largeScreen/domain/CommonConstants.java | 34 ++ .../largeScreen/domain/MaterialDetailVo.java | 83 +++ .../sgzb/largeScreen/domain/PageResultVo.java | 89 +++ .../sgzb/largeScreen/domain/ParamsDto.java | 39 +- .../largeScreen/domain/RepairDetailVo.java | 62 +++ .../sgzb/largeScreen/domain/RepairVo.java | 27 + .../sgzb/largeScreen/domain/ScrapVo.java | 57 ++ .../largeScreen/domain/StorageDetailVo.java | 51 ++ .../sgzb/largeScreen/domain/TotalOwnerVo.java | 84 +++ .../sgzb/largeScreen/domain/TotalVo.java | 25 + .../largeScreen/mapper/LargeScreenMapper.java | 63 +++ .../service/ILargeScreenService.java | 65 ++- .../service/impl/LargeScreenServiceImpl.java | 256 ++++++++- .../mapper/largeScreen/LargeScreenMapper.xml | 527 ++++++++++++++++++ 16 files changed, 1584 insertions(+), 4 deletions(-) create mode 100644 sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/largeScreen/domain/AccessVo.java create mode 100644 sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/largeScreen/domain/MaterialDetailVo.java create mode 100644 sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/largeScreen/domain/PageResultVo.java create mode 100644 sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/largeScreen/domain/RepairDetailVo.java create mode 100644 sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/largeScreen/domain/RepairVo.java create mode 100644 sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/largeScreen/domain/ScrapVo.java create mode 100644 sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/largeScreen/domain/StorageDetailVo.java create mode 100644 sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/largeScreen/domain/TotalOwnerVo.java create mode 100644 sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/largeScreen/domain/TotalVo.java diff --git a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/largeScreen/controller/LargeScreenController.java b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/largeScreen/controller/LargeScreenController.java index 178c89d7..e1c865c4 100644 --- a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/largeScreen/controller/LargeScreenController.java +++ b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/largeScreen/controller/LargeScreenController.java @@ -4,9 +4,11 @@ import com.bonus.sgzb.common.core.web.controller.BaseController; import com.bonus.sgzb.common.core.web.domain.AjaxResult; import com.bonus.sgzb.common.log.annotation.Log; import com.bonus.sgzb.common.log.enums.BusinessType; -import com.bonus.sgzb.largeScreen.domain.ParamsDto; +import com.bonus.sgzb.largeScreen.domain.*; import com.bonus.sgzb.largeScreen.service.ILargeScreenService; +import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -18,6 +20,7 @@ import javax.annotation.Resource; */ @RestController @RequestMapping("/largeScreen/home/") +@Slf4j public class LargeScreenController extends BaseController { @Resource(name = "ILargeScreenService") @@ -29,12 +32,34 @@ public class LargeScreenController extends BaseController { return service.getMaterialReqData(); } + @Log(title = "领料数据详情", businessType = BusinessType.QUERY) + @PostMapping("getMaterialReqData/details") + public AjaxResult getMaterialReqDetailData(@RequestBody ParamsDto dto) { + try { + PageResultVo data = service.getMaterialReqDetailData(dto); + return AjaxResult.success(data); + } catch (Exception e) { + throw new RuntimeException(e.getMessage()); + } + } + @Log(title = "退料数据", businessType = BusinessType.QUERY) @PostMapping("getMaterialReturnData") public AjaxResult getMaterialReturnData() { return service.getMaterialReturnData(); } + @Log(title = "退料数据详情", businessType = BusinessType.QUERY) + @PostMapping("getMaterialReturnData/details") + public AjaxResult getMaterialReturnDetailData(@RequestBody ParamsDto dto) { + try { + PageResultVo data = service.getMaterialReturnDetailData(dto); + return AjaxResult.success(data); + } catch (Exception e) { + throw new RuntimeException(e.getMessage()); + } + } + @Log(title = "设备分布图",businessType = BusinessType.QUERY) @PostMapping("getEquipmentDisByMap") public AjaxResult getEquipmentDisByMap(ParamsDto dto) { @@ -47,6 +72,17 @@ public class LargeScreenController extends BaseController { return service.getTotalOwnership(); } + @Log(title = "施工机具/安全工器具总保有量详情",businessType = BusinessType.QUERY) + @PostMapping("getTotalOwnership/details") + public AjaxResult getTotalOwnerDetailsShip(@RequestBody ParamsDto dto) { + try { + PageResultVo data = service.getTotalOwnerDetailsShip(dto); + return AjaxResult.success(data); + } catch (Exception e) { + throw new RuntimeException(e.getMessage()); + } + } + @Log(title = "各公司机具保有量",businessType = BusinessType.QUERY) @PostMapping("getTotalOwnershipByCompany") public AjaxResult getTotalOwnershipByCompany() { @@ -59,30 +95,91 @@ public class LargeScreenController extends BaseController { return service.getScrapAnalysisByMonth(dto); } + @Log(title = "当月报废分析详情", businessType = BusinessType.QUERY) + @PostMapping("getScrapAnalysisByMonth/details") + public AjaxResult getScrapAnalysisDetailByMonth(@RequestBody ParamsDto dto) { + try { + PageResultVo data = service.getScrapAnalysisDetailByMonth(dto); + return AjaxResult.success(data); + } catch (Exception e) { + throw new RuntimeException(e.getMessage()); + } + } + @Log(title = "新购验收入库分析",businessType = BusinessType.QUERY) @PostMapping("getAcceptanceStorage") public AjaxResult getAcceptanceStorage(ParamsDto dto) { return service.getAcceptanceStorage(dto); } + @Log(title = "新购验收入库分析详情",businessType = BusinessType.QUERY) + @PostMapping("getAcceptanceStorage/details") + public AjaxResult getAcceptanceDetailStorage(@RequestBody ParamsDto dto) { + try { + PageResultVo data = service.getAcceptanceDetailStorage(dto); + return AjaxResult.success(data); + } catch (Exception e) { + throw new RuntimeException(e.getMessage()); + } + } + @Log(title = "当月领料分析", businessType = BusinessType.QUERY) @PostMapping("getPickingAnalysisByMonth") public AjaxResult getPickingAnalysisByMonth(ParamsDto dto) { return service.getPickingAnalysisByMonth(dto); } + @Log(title = "当月领料分析详情", businessType = BusinessType.QUERY) + @PostMapping("getPickingAnalysisByMonth/details") + public AjaxResult getPickingAnalysisDetailByMonth(@RequestBody ParamsDto dto) { + try { + PageResultVo data = service.getPickingAnalysisDetailByMonth(dto); + return AjaxResult.success(data); + } catch (Exception e) { + throw new RuntimeException(e.getMessage()); + } + } + @Log(title = "当月退料分析", businessType = BusinessType.QUERY) @PostMapping("getMaterialReturnByMonth") public AjaxResult getMaterialReturnByMonth(ParamsDto dto) { return service.getMaterialReturnByMonth(dto); } + @Log(title = "当月退料分析详情", businessType = BusinessType.QUERY) + @PostMapping("getMaterialReturnByMonth/details") + public AjaxResult getMaterialReturnDetailByMonth(@RequestBody ParamsDto dto) { + try { + PageResultVo data = service.getMaterialReturnDetailByMonth(dto); + return AjaxResult.success(data); + } catch (Exception e) { + throw new RuntimeException(e.getMessage()); + } + } + @Log(title = "当月维修分析", businessType = BusinessType.QUERY) @PostMapping("getMaintenanceByMonth") public AjaxResult getMaintenanceByMonth(ParamsDto dto) { return service.getMaintenanceByMonth(dto); } + @Log(title = "当月维修分析详情列表", businessType = BusinessType.QUERY) + @PostMapping("getMaintenanceByMonth/chart") + public AjaxResult getMaintenanceChartByMonth(@RequestBody ParamsDto dto) { + return service.getMaintenanceChartByMonth(dto); + } + + @Log(title = "当月维修分析详情", businessType = BusinessType.QUERY) + @PostMapping("getMaintenanceByMonth/details") + public AjaxResult getMaintenanceDetailByMonth(@RequestBody ParamsDto dto) { + try { + PageResultVo data = service.getMaintenanceDetailByMonth(dto); + return AjaxResult.success(data); + } catch (Exception e) { + throw new RuntimeException(e.getMessage()); + } + } + @Log(title = "当月车辆使用", businessType = BusinessType.QUERY) @PostMapping("getCarUseByMonth") public AjaxResult getCarUseByMonth() { diff --git a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/largeScreen/domain/AccessVo.java b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/largeScreen/domain/AccessVo.java new file mode 100644 index 00000000..2accad71 --- /dev/null +++ b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/largeScreen/domain/AccessVo.java @@ -0,0 +1,27 @@ +package com.bonus.sgzb.largeScreen.domain; + +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * 配件返回数据vo + * @Author ma_sh + * @create 2024/4/24 16:48 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class AccessVo { + + @ApiModelProperty(value = "配件名称") + private String partName; + + @ApiModelProperty(value = "配件数量") + private Double partNum; + + /** 机具分公司名称*/ + @ApiModelProperty(value = "机具分公司名称") + private String companyName; +} diff --git a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/largeScreen/domain/CommonConstants.java b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/largeScreen/domain/CommonConstants.java index 3bceb1dd..04f7b225 100644 --- a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/largeScreen/domain/CommonConstants.java +++ b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/largeScreen/domain/CommonConstants.java @@ -16,5 +16,39 @@ public class CommonConstants { /** 调试分公司*/ public static final String TS = "调试分公司"; + /** 机具分公司审核通过状态*/ + public static final String MACHINERY_BRANCH_APPROVE_STATUS = "1"; + /** 机具分公司审核通过名称*/ + public static final String MACHINERY_BRANCH_APPROVE_NAME = "机具分公司审核通过"; + + /** 机具分公司审批不通过状态*/ + public static final String MACHINERY_BRANCH_NOAPPROVE_STATUS = "2"; + + /** 机具分公司审批不通过名称*/ + public static final String MACHINERY_BRANCH_NOAPPROVE_NAME = "机具分公司审批不通过名称"; + + /** 调试分公司审批通过状态*/ + public static final String DEBUG_BRANCH_APPROVE_STATUS = "3"; + + /** 调试分公司审批通过名称*/ + public static final String DEBUG_BRANCH_APPROVE_NAME = "调试分公司审批通过名称1"; + + /** 调试分公司审批不通过状态*/ + public static final String DEBUG_BRANCH_NOAPPROVE_STATUS = "4"; + + /** 调试分公司审批不通过名称*/ + public static final String DEBUG_BRANCH_NOAPPROVE_NAME = "调试分公司审批不通过"; + + /** 出库进行中状态*/ + public static final String OUTBOUNDING_STATUS = "5"; + + /** 出库进行中名称*/ + public static final String OUTBOUNDING_NAME = "出库进行中"; + + /** 出库完成状态*/ + public static final String OUTBOUND_COMPLETED_STATUS = "6"; + + /** 出库完成名称*/ + public static final String OUTBOUND_COMPLETED_NAME = "出库完成"; } diff --git a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/largeScreen/domain/MaterialDetailVo.java b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/largeScreen/domain/MaterialDetailVo.java new file mode 100644 index 00000000..19fe9651 --- /dev/null +++ b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/largeScreen/domain/MaterialDetailVo.java @@ -0,0 +1,83 @@ +package com.bonus.sgzb.largeScreen.domain; + +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * 领出料返回详情vo + * @Author ma_sh + * @create 2024/4/22 13:15 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class MaterialDetailVo { + + /** 领、退料申请时间*/ + @ApiModelProperty(value = "领、退料申请时间") + private String materialTime; + + /** 设备类型名称*/ + @ApiModelProperty(value = "设备类型名称") + private String typeName; + + /** 设备类型id*/ + @ApiModelProperty(value = "设备类型id") + private String typeId; + + /** 规格型号*/ + @ApiModelProperty(value = "规格型号") + private String typeModelName; + + /** 领、退料数量*/ + @ApiModelProperty(value = "领、退料数量") + private Double num; + + /** 实际退料数量*/ + @ApiModelProperty(value = "实际退料数量") + private Double realityNum; + + /** 设备负责人*/ + @ApiModelProperty(value = "设备负责人") + private String userName; + + /** 领、退料单号*/ + @ApiModelProperty(value = "领、退料单号") + private String materialCode; + + /** 单位名称*/ + @ApiModelProperty(value = "单位名称") + private String unitName; + + /** 单位id*/ + @ApiModelProperty(value = "单位id") + private String unitId; + + /** 工程名称*/ + @ApiModelProperty(value = "工程名称") + private String projectName; + + /** 工程id*/ + @ApiModelProperty(value = "工程id") + private String projectId; + + /** 机具分公司名称*/ + @ApiModelProperty(value = "机具分公司名称") + private String companyName; + + /** 领、退料状态*/ + @ApiModelProperty(value = "领、退料状态") + private Integer auditStatus; + + /** 领、退料状态名称 + * 领料状态(30 待分公司审核 31 待机具分公司审核 32 待施工部审核 33 待出库 34 出库进行中 35 完成) + * 退料状态 (37 待退料审核 38 退料审核通过 39 退料核查中 40 退料完成)*/ + @ApiModelProperty(value = "领、退料状态名称") + private String statusName; + + /** 领料方式(0 编码 1 数量)*/ + @ApiModelProperty(value = "管理方式(0 编码 1 数量)") + private String manageType; +} diff --git a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/largeScreen/domain/PageResultVo.java b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/largeScreen/domain/PageResultVo.java new file mode 100644 index 00000000..4f290f23 --- /dev/null +++ b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/largeScreen/domain/PageResultVo.java @@ -0,0 +1,89 @@ +package com.bonus.sgzb.largeScreen.domain; + +import java.io.Serializable; +import java.util.List; + +/** + * @Author ma_sh + * @create 2024/4/24 13:59 + */ +public class PageResultVo implements Serializable { + private static final long serialVersionUID = -3915666721968467471L; + private int pageNum; + private int pageSize; + private long total; + private int totalPageCount; + private List rows; + + public PageResultVo() { + } + + public PageResultVo(List rows, int total) { + this.rows = rows; + this.total = (long)total; + } + + public PageResultVo(int pageNum, int pageSize, long total, int totalPageCount, List rows) { + this.pageNum = pageNum; + this.pageSize = pageSize; + this.total = total; + this.totalPageCount = totalPageCount; + this.rows = rows; + } + + public boolean getFirstPage() { + return this.getPageNum() == 1; + } + + public long getPrevPage() { + return (long)Math.max(1, this.getPageNum() - 1); + } + + public long getNextPage() { + return (long)(this.getPageNum() + 1); + } + + public boolean getLastPage() { + return this.getPageNum() >= this.getTotalPageCount(); + } + + public int getPageNum() { + return this.pageNum; + } + + public void setPageNum(int pageNum) { + this.pageNum = pageNum; + } + + public int getPageSize() { + return this.pageSize; + } + + public void setPageSize(int pageSize) { + this.pageSize = pageSize; + } + + public long getTotal() { + return this.total; + } + + public void setTotal(long total) { + this.total = total; + } + + public int getTotalPageCount() { + return this.totalPageCount; + } + + public void setTotalPageCount(int totalPageCount) { + this.totalPageCount = totalPageCount; + } + + public List getRows() { + return this.rows; + } + + public void setRows(List rows) { + this.rows = rows; + } +} diff --git a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/largeScreen/domain/ParamsDto.java b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/largeScreen/domain/ParamsDto.java index 21594af7..c430c3aa 100644 --- a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/largeScreen/domain/ParamsDto.java +++ b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/largeScreen/domain/ParamsDto.java @@ -1,5 +1,6 @@ package com.bonus.sgzb.largeScreen.domain; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** @@ -19,11 +20,47 @@ public class ParamsDto { /** 结束日期*/ private String endDate; - /** 类型*/ + /** + * 类型 验收1 入库2 + * */ private String type; /** * 公司id */ private String companyId; + + private int pageNum; + private int pageSize; + + /** 领料单号*/ + @ApiModelProperty(value = "领料单号") + private String materialCode; + + @ApiModelProperty(value = "维修单号") + private String repairCode; + + /** 单位id*/ + @ApiModelProperty(value = "单位id") + private String unitId; + + /** 工程id*/ + @ApiModelProperty(value = "工程id") + private String projectId; + + /** 机具类型*/ + @ApiModelProperty(value = "机具类型") + private String typeId; + + /** 报废单号*/ + @ApiModelProperty(value = "报废单号") + private String scrapCode; + + /** 报废来源 (1,退料报废 2,维修报废 3,盘点报废)*/ + @ApiModelProperty(value = "报废来源") + private String scrapSource; + + /** 报废状态 (0进行中,1已审核,2驳回,3待处置,4已处置)*/ + @ApiModelProperty(value = "报废状态") + private String scrapStatus; } diff --git a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/largeScreen/domain/RepairDetailVo.java b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/largeScreen/domain/RepairDetailVo.java new file mode 100644 index 00000000..1f79ff88 --- /dev/null +++ b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/largeScreen/domain/RepairDetailVo.java @@ -0,0 +1,62 @@ +package com.bonus.sgzb.largeScreen.domain; + +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * 维修返回数据vo + * @Author ma_sh + * @create 2024/4/24 16:50 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class RepairDetailVo { + + @ApiModelProperty(value = "维修单号") + private String repairCode; + + /** 单位id*/ + @ApiModelProperty(value = "单位id") + private String unitId; + + @ApiModelProperty(value = "机具分公司名称") + private String unitName; + + /** 类型名称*/ + @ApiModelProperty(value = "类型名称") + private String typeName; + + /** 工程名称*/ + @ApiModelProperty(value = "工程名称") + private String projectName; + + /** 工程id*/ + @ApiModelProperty(value = "工程id") + private String projectId; + + @ApiModelProperty(value = "任务创建人") + private String createBy; + + @ApiModelProperty(value = "创建时间") + private String createTime; + + /** 领、退料单号*/ + @ApiModelProperty(value = "领、退料单号") + private String materialCode; + + @ApiModelProperty(value = "维修状态") + private String repairStatus; + + /** + * 维修状态(42 维修待进行 43 维修进行中 44 维修完成) + */ + @ApiModelProperty(value = "状态名称") + private String statusName; + + /** 机具分公司名称*/ + @ApiModelProperty(value = "机具分公司名称") + private String companyName; +} diff --git a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/largeScreen/domain/RepairVo.java b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/largeScreen/domain/RepairVo.java new file mode 100644 index 00000000..92e913dd --- /dev/null +++ b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/largeScreen/domain/RepairVo.java @@ -0,0 +1,27 @@ +package com.bonus.sgzb.largeScreen.domain; + +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +/** + * 维修返回数据集合vo + * @Author ma_sh + * @create 2024/4/24 16:57 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +public class RepairVo { + + @ApiModelProperty(value = "配件使用情况返回集合") + private List accessVoList; + + @ApiModelProperty(value = "维修详情返回vo") + private List repairDetailVoList; +} diff --git a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/largeScreen/domain/ScrapVo.java b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/largeScreen/domain/ScrapVo.java new file mode 100644 index 00000000..f78aa08f --- /dev/null +++ b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/largeScreen/domain/ScrapVo.java @@ -0,0 +1,57 @@ +package com.bonus.sgzb.largeScreen.domain; + +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * 报废返回数据vo + * @Author ma_sh + * @create 2024/4/24 9:46 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class ScrapVo { + + /** 报废单号*/ + @ApiModelProperty(value = "报废单号") + private String scrapCode; + + /** 报废来源 (1,退料报废 2,维修报废 3,盘点报废)*/ + @ApiModelProperty(value = "报废来源") + private String scrapSource; + + /** 报废来源名称 (1,退料报废 2,维修报废 3,盘点报废)*/ + @ApiModelProperty(value = "报废来源名称") + private String scrapSourceName; + + /** 报废时间*/ + @ApiModelProperty(value = "报废时间") + private String scrapTime; + + /** 设备类型名称*/ + @ApiModelProperty(value = "设备类型名称") + private String typeName; + + /** 设备类型id*/ + @ApiModelProperty(value = "设备类型id") + private String typeId; + + /** 规格型号*/ + @ApiModelProperty(value = "规格型号") + private String typeModelName; + + /** 报废数量*/ + @ApiModelProperty(value = "报废数量") + private String scrapNum; + + /** 处置状态 (0进行中,1已审核,2驳回,3待处置,4已处置) */ + @ApiModelProperty(value = "处置状态") + private String scrapStatus; + + /** 状态名称 (0进行中,1已审核,2驳回,3待处置,4已处置) */ + @ApiModelProperty(value = "状态名称") + private String statusName; +} diff --git a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/largeScreen/domain/StorageDetailVo.java b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/largeScreen/domain/StorageDetailVo.java new file mode 100644 index 00000000..ae85c56e --- /dev/null +++ b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/largeScreen/domain/StorageDetailVo.java @@ -0,0 +1,51 @@ +package com.bonus.sgzb.largeScreen.domain; + +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * 新购验收入库分析详情返回vo + * @Author ma_sh + * @create 2024/4/23 16:37 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class StorageDetailVo { + + /** 设备类型名称*/ + @ApiModelProperty(value = "设备类型名称") + private String typeName; + + /** 设备类型id*/ + @ApiModelProperty(value = "设备类型id") + private String typeId; + + /** 规格型号*/ + @ApiModelProperty(value = "规格型号") + private String typeModelName; + + /** 采购数量*/ + @ApiModelProperty(value = "采购数量") + private int purchaseNum; + + /** 验收数量*/ + @ApiModelProperty(value = "验收数量") + private int checkNum; + + /** 入库数量*/ + @ApiModelProperty(value = "入库数量") + private int inputNum; + + /** 机具分公司名称*/ + @ApiModelProperty(value = "机具分公司名称") + private String companyName; + + @ApiModelProperty(value = "新购时间") + private String arrivalTime; + + @ApiModelProperty(value = "入库时间") + private String inputTime; +} diff --git a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/largeScreen/domain/TotalOwnerVo.java b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/largeScreen/domain/TotalOwnerVo.java new file mode 100644 index 00000000..b3e4c390 --- /dev/null +++ b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/largeScreen/domain/TotalOwnerVo.java @@ -0,0 +1,84 @@ +package com.bonus.sgzb.largeScreen.domain; + +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @Author ma_sh + * @create 2024/4/22 17:56 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class TotalOwnerVo { + + /** 设备类型名称*/ + @ApiModelProperty(value = "设备类型名称") + private String typeName; + + /** 设备类型id*/ + @ApiModelProperty(value = "设备类型id") + private String typeId; + + /** 规格型号*/ + @ApiModelProperty(value = "规格型号") + private String typeModelName; + + /** 单位*/ + @ApiModelProperty(value = "单位") + private String unitName; + + /** 总保有量*/ + @ApiModelProperty(value = "总保有量") + private int totalOwnershipNum; + + /** 在库机具/工器具*/ + @ApiModelProperty(value = "在库机具") + private int stockNum; + + /** 新购待入库机具/工器具*/ + @ApiModelProperty(value = "新购待入库机具") + private int purchaseNum; + + /** 修饰后待入库机具/工器具*/ + @ApiModelProperty(value = "修饰后待入库机具") + private int inputNum; + + /** 待入库机具/工器具*/ + @ApiModelProperty(value = "待入库机具") + private int storedNum; + + /** 出库机具/工器具*/ + @ApiModelProperty(value = "出库机具") + private int outNum; + + /** 审核通过入库机具/工器具*/ + @ApiModelProperty(value = "审核通过入库机具") + private int auditNum; + + /** 在用机具/工器具*/ + @ApiModelProperty(value = "在用机具") + private int useNum; + + /** 在修机具/工器具*/ + @ApiModelProperty(value = "在修机具") + private int inRepairNum; + + /** 维修总量*/ + @ApiModelProperty(value = "维修总量") + private int repairNum; + + /** 维修合格*/ + @ApiModelProperty(value = "维修合格") + private int repairedNum; + + /** 维修报废数量*/ + @ApiModelProperty(value = "维修报废数量") + private int scrapNum; + + /** 公司名称*/ + @ApiModelProperty(value = "公司名称") + private String companyName; +} diff --git a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/largeScreen/domain/TotalVo.java b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/largeScreen/domain/TotalVo.java new file mode 100644 index 00000000..2209aa96 --- /dev/null +++ b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/largeScreen/domain/TotalVo.java @@ -0,0 +1,25 @@ +package com.bonus.sgzb.largeScreen.domain; + +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +/** + * @Author ma_sh + * @create 2024/4/23 15:40 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class TotalVo { + /** 工机具类型名称*/ + @ApiModelProperty(value = "工机具类型名称") + private String companyName; + + /** 类型所属集合*/ + @ApiModelProperty(value = "类型所属集合") + private List list; +} diff --git a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/largeScreen/mapper/LargeScreenMapper.java b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/largeScreen/mapper/LargeScreenMapper.java index c60e8924..c370c7c6 100644 --- a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/largeScreen/mapper/LargeScreenMapper.java +++ b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/largeScreen/mapper/LargeScreenMapper.java @@ -108,4 +108,67 @@ public interface LargeScreenMapper { * @return List */ List getCompany(); + + /** + * 领料数据详情 + * @param dto + * @return + */ + List getMaterialReqDetailData(ParamsDto dto); + + /** + * 退料数据详情 + * @param dto + * @return + */ + List getMaterialReturnDetailData(ParamsDto dto); + + /** + * 施工机具/安全工器具总保有量详情 + * @param dto + * @return + */ + List getTotalOwnerDetailsShip(ParamsDto dto); + + /** + * 新购验收入库分析详情 + * @param dto + * @return + */ + List getAcceptanceDetailStorage(ParamsDto dto); + + /** + * 当月报废分析详情 + * @param dto + * @return + */ + List getScrapAnalysisDetailByMonth(ParamsDto dto); + + /** + * 当月领料分析详情 + * @param dto + * @return + */ + List getPickingAnalysisDetailByMonth(ParamsDto dto); + + /** + * 当月退料分析详情 + * @param dto + * @return + */ + List getMaterialReturnDetailByMonth(ParamsDto dto); + + /** + * 维修分析详情 + * @param dto + * @return + */ + List getMaintenanceDetailByMonth(ParamsDto dto); + + /** + * 维修配件使用情况 + * @param dto + * @return + */ + List getRepairList(ParamsDto dto); } diff --git a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/largeScreen/service/ILargeScreenService.java b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/largeScreen/service/ILargeScreenService.java index fec9dd6a..713e1a8a 100644 --- a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/largeScreen/service/ILargeScreenService.java +++ b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/largeScreen/service/ILargeScreenService.java @@ -1,7 +1,7 @@ package com.bonus.sgzb.largeScreen.service; import com.bonus.sgzb.common.core.web.domain.AjaxResult; -import com.bonus.sgzb.largeScreen.domain.ParamsDto; +import com.bonus.sgzb.largeScreen.domain.*; /** * @author 10488 @@ -103,4 +103,67 @@ public interface ILargeScreenService { * @return AjaxResult */ AjaxResult getTotalOwnershipByCompany(); + + /** + * 领料数据详情 + * @param dto + * @return + */ + PageResultVo getMaterialReqDetailData(ParamsDto dto); + + /** + * 退料数据详情 + * @param dto + * @return + */ + PageResultVo getMaterialReturnDetailData(ParamsDto dto); + + /** + * 施工机具/安全工器具总保有量详情 + * @param dto + * @return + */ + PageResultVo getTotalOwnerDetailsShip(ParamsDto dto); + + /** + * 新购验收入库分析详情 + * @param dto + * @return + */ + PageResultVo getAcceptanceDetailStorage(ParamsDto dto); + + /** + * 当月报废分析详情 + * @param dto + * @return + */ + PageResultVo getScrapAnalysisDetailByMonth(ParamsDto dto); + + /** + * 当月领料分析详情 + * @param dto + * @return + */ + PageResultVo getPickingAnalysisDetailByMonth(ParamsDto dto); + + /** + * 当月退料分析详情 + * @param dto + * @return + */ + PageResultVo getMaterialReturnDetailByMonth(ParamsDto dto); + + /** + * 当月维修分析详情 + * @param dto + * @return + */ + PageResultVo getMaintenanceDetailByMonth(ParamsDto dto); + + /** + * 当月维修分析详情列表 + * @param dto + * @return + */ + AjaxResult getMaintenanceChartByMonth(ParamsDto dto); } diff --git a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/largeScreen/service/impl/LargeScreenServiceImpl.java b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/largeScreen/service/impl/LargeScreenServiceImpl.java index e3f4f699..1069a3fa 100644 --- a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/largeScreen/service/impl/LargeScreenServiceImpl.java +++ b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/largeScreen/service/impl/LargeScreenServiceImpl.java @@ -6,12 +6,15 @@ import com.bonus.sgzb.largeScreen.domain.*; import com.bonus.sgzb.largeScreen.mapper.LargeScreenMapper; import com.bonus.sgzb.largeScreen.service.ILargeScreenService; import com.bonus.sgzb.largeScreen.util.CommonUtil; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.*; +import java.util.stream.Collectors; /** * @author 10488 @@ -92,6 +95,247 @@ public class LargeScreenServiceImpl implements ILargeScreenService { return AjaxResult.success(list); } + /** + * 领料数据详情 + * @param dto + * @return + */ + @Override + public PageResultVo getMaterialReqDetailData(ParamsDto dto) { + extracted(dto); + // 分页 + PageHelper.startPage(dto.getPageNum() == 0 ? 1 : dto.getPageNum(), dto.getPageSize()); + PageResultVo pageResult = new PageResultVo(); + List result = mapper.getMaterialReqDetailData(dto); + // 分页信息 + PageInfo pageInfo = new PageInfo<>(result); + pageResult.setTotal(pageInfo.getTotal()); + pageResult.setTotalPageCount(pageInfo.getPages()); + pageResult.setRows(result); + pageResult.setPageNum (dto.getPageNum()); + pageResult.setPageSize(dto.getPageSize()); + return pageResult; + } + + /** + * 退料数据详情 + * @param dto + * @return + */ + @Override + public PageResultVo getMaterialReturnDetailData(ParamsDto dto) { + extracted(dto); + // 分页 + PageHelper.startPage(dto.getPageNum() == 0 ? 1 : dto.getPageNum(), dto.getPageSize()); + PageResultVo pageResult = new PageResultVo(); + List materialReturnDetailData = mapper.getMaterialReturnDetailData(dto); + // 分页信息 + PageInfo pageInfo = new PageInfo<>(materialReturnDetailData); + pageResult.setTotal(pageInfo.getTotal()); + pageResult.setTotalPageCount(pageInfo.getPages()); + pageResult.setRows(materialReturnDetailData); + pageResult.setPageNum (dto.getPageNum()); + pageResult.setPageSize(dto.getPageSize()); + return pageResult; + } + + /** + * 施工机具/安全工器具总保有量详情 + * @param dto + * @return + */ + @Override + public PageResultVo getTotalOwnerDetailsShip(ParamsDto dto) { + extracted(dto); + // 分页 + PageHelper.startPage(dto.getPageNum() == 0 ? 1 : dto.getPageNum(), dto.getPageSize()); + PageResultVo pageResult = new PageResultVo(); + List list = mapper.getTotalOwnerDetailsShip(dto); + // 分页信息 + PageInfo pageInfo = new PageInfo<>(list); + pageResult.setTotal(pageInfo.getTotal()); + pageResult.setTotalPageCount(pageInfo.getPages()); + pageResult.setRows(list); + pageResult.setPageNum (dto.getPageNum()); + pageResult.setPageSize(dto.getPageSize()); + return pageResult; + } + + /** + * 新购验收入库分析详情 + * @param dto + * @return + */ + @Override + public PageResultVo getAcceptanceDetailStorage(ParamsDto dto) { + extracted(dto); + // 分页 + PageHelper.startPage(dto.getPageNum() == 0 ? 1 : dto.getPageNum(), dto.getPageSize()); + PageResultVo pageResult = new PageResultVo(); + List result; + result = mapper.getAcceptanceDetailStorage(dto); + result = result.stream() + .filter(storageDetail -> storageDetail.getPurchaseNum() != 0 || + storageDetail.getCheckNum() != 0 || + storageDetail.getInputNum() != 0) + .collect(Collectors.toList()); + // 分页信息 + PageInfo pageInfo = new PageInfo<>(result); + pageResult.setTotal(pageInfo.getTotal()); + pageResult.setTotalPageCount(pageInfo.getPages()); + pageResult.setRows(result); + pageResult.setPageNum (dto.getPageNum()); + pageResult.setPageSize(dto.getPageSize()); + return pageResult; + } + + /** + * 方法抽取,统一赋值 + * @param dto + */ + private void extracted(ParamsDto dto) { + if (dto.getMaType() != null && ("1").equals(dto.getMaType())) { + dto.setMaTypeName(CommonConstants.JJ); + } + if (dto.getMaType() != null && ("2").equals(dto.getMaType())) { + dto.setMaTypeName(CommonConstants.TS); + } + } + + /** + * 当月报废分析详情 + * @param dto + * @return + */ + @Override + public PageResultVo getScrapAnalysisDetailByMonth(ParamsDto dto) { + extracted(dto); + Map monthDayMap = DateTimeHelper.getNowOneMonthDay(); + try { + dto.setStartDate(monthDayMap.get("beginDate")); + dto.setEndDate(monthDayMap.get("endDate")); + // 分页 + PageHelper.startPage(dto.getPageNum() == 0 ? 1 : dto.getPageNum(), dto.getPageSize()); + PageResultVo pageResult = new PageResultVo(); + List result = mapper.getScrapAnalysisDetailByMonth(dto); + // 分页信息 + PageInfo pageInfo = new PageInfo<>(result); + pageResult.setTotal(pageInfo.getTotal()); + pageResult.setTotalPageCount(pageInfo.getPages()); + pageResult.setRows(result); + pageResult.setPageNum (dto.getPageNum()); + pageResult.setPageSize(dto.getPageSize()); + return pageResult; + } catch (Exception e) { + log.error("当月报废分析详情error:{}", e.getMessage()); + return null; + } + } + + + /** + * 当月领料分析详情 + * @param dto + * @return + */ + @Override + public PageResultVo getPickingAnalysisDetailByMonth(ParamsDto dto) { + Map monthDayMap = DateTimeHelper.getNowOneMonthDay(); + extracted(dto); + try { + dto.setStartDate(monthDayMap.get("beginDate")); + dto.setEndDate(monthDayMap.get("endDate")); + // 分页 + PageHelper.startPage(dto.getPageNum() == 0 ? 1 : dto.getPageNum(), dto.getPageSize()); + PageResultVo pageResult = new PageResultVo(); + List result = mapper.getPickingAnalysisDetailByMonth(dto); + // 分页信息 + PageInfo pageInfo = new PageInfo<>(result); + pageResult.setTotal(pageInfo.getTotal()); + pageResult.setTotalPageCount(pageInfo.getPages()); + pageResult.setRows(result); + pageResult.setPageNum (dto.getPageNum()); + pageResult.setPageSize(dto.getPageSize()); + return pageResult; + } catch (Exception e) { + log.error("当月领料分析详情error:{}", e.getMessage()); + return null; + } + } + + /** + * 当月退料分析详情 + * @param dto + * @return + */ + @Override + public PageResultVo getMaterialReturnDetailByMonth(ParamsDto dto) { + extracted(dto); + try { + Map monthDayMap = DateTimeHelper.getNowOneMonthDay(); + dto.setStartDate(monthDayMap.get("beginDate")); + dto.setEndDate(monthDayMap.get("endDate")); + // 分页 + PageHelper.startPage(dto.getPageNum() == 0 ? 1 : dto.getPageNum(), dto.getPageSize()); + PageResultVo pageResult = new PageResultVo(); + List result = mapper.getMaterialReturnDetailByMonth(dto); + // 分页信息 + PageInfo pageInfo = new PageInfo<>(result); + pageResult.setTotal(pageInfo.getTotal()); + pageResult.setTotalPageCount(pageInfo.getPages()); + pageResult.setRows(result); + pageResult.setPageNum (dto.getPageNum()); + pageResult.setPageSize(dto.getPageSize()); + return pageResult; + } catch (Exception e) { + log.error("当月退料分析详情error:{}", e.getMessage()); + return null; + } + } + + /** + * 当月维修分析详情 + * @param dto + * @return + */ + @Override + public PageResultVo getMaintenanceDetailByMonth(ParamsDto dto) { + extracted(dto); + try { + Map monthDayMap = DateTimeHelper.getNowOneMonthDay(); + dto.setStartDate(monthDayMap.get("beginDate")); + dto.setEndDate(monthDayMap.get("endDate")); + // 分页 + PageResultVo pageResult = new PageResultVo<>(); + PageHelper.startPage(dto.getPageNum() == 0 ? 1 : dto.getPageNum(), dto.getPageSize()); + List repairDetailVoList = mapper.getMaintenanceDetailByMonth(dto); + // 分页信息 + PageInfo pageInfo = new PageInfo<>(repairDetailVoList); + pageResult.setTotal(pageInfo.getTotal()); + pageResult.setTotalPageCount(pageInfo.getPages()); + pageResult.setRows(repairDetailVoList); + pageResult.setPageNum (dto.getPageNum()); + pageResult.setPageSize(dto.getPageSize()); + return pageResult; + }catch (Exception e) { + log.error("当月维修分析详情error:{}", e.getMessage()); + return null; + } + } + + /** + * 当月维修分析详情列表 + * @param dto + * @return + */ + @Override + public AjaxResult getMaintenanceChartByMonth(ParamsDto dto) { + HashMap objectHashMap = getObjectHashMap(dto); + List accessVoList = mapper.getRepairList(dto); + objectHashMap.put("accessVoList", accessVoList); + return AjaxResult.success(objectHashMap); + } + @Override public AjaxResult getTotalOwnership() { List list = new ArrayList<>(); @@ -276,6 +520,16 @@ public class LargeScreenServiceImpl implements ILargeScreenService { @Override public AjaxResult getMaintenanceByMonth(ParamsDto dto) { + HashMap map = getObjectHashMap(dto); + return AjaxResult.success(map); + } + + /** + * 方法抽取 + * @param dto + * @return + */ + private HashMap getObjectHashMap(ParamsDto dto) { HashMap map = new HashMap<>(6); int num = 0, num2 = 0, num3 = 0, num4 = 0; String rate = "0%", rate2 = "0%", rate3 = "0%"; @@ -302,7 +556,7 @@ public class LargeScreenServiceImpl implements ILargeScreenService { map.put("rate", rate); map.put("rate2", rate2); map.put("rate3", rate3); - return AjaxResult.success(map); + return map; } @Override diff --git a/sgzb-modules/sgzb-base/src/main/resources/mapper/largeScreen/LargeScreenMapper.xml b/sgzb-modules/sgzb-base/src/main/resources/mapper/largeScreen/LargeScreenMapper.xml index 565d38e7..4f19fffd 100644 --- a/sgzb-modules/sgzb-base/src/main/resources/mapper/largeScreen/LargeScreenMapper.xml +++ b/sgzb-modules/sgzb-base/src/main/resources/mapper/largeScreen/LargeScreenMapper.xml @@ -315,4 +315,531 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and sd2.del_flag='0' and sd.parent_id='0' + + + + + + + + + + + \ No newline at end of file From d58c1b788d4175192aa9a0e62c319c117b77778b Mon Sep 17 00:00:00 2001 From: mashuai Date: Mon, 29 Apr 2024 16:52:51 +0800 Subject: [PATCH 2/2] bug --- .../sgzb/app/controller/TmTaskController.java | 2 +- .../service/impl/LargeScreenServiceImpl.java | 8 +++++-- .../sgzb/largeScreen/util/CommonUtil.java | 24 +++++++++++++++++++ .../mapper/largeScreen/LargeScreenMapper.xml | 20 ++++++++++++++++ 4 files changed, 51 insertions(+), 3 deletions(-) diff --git a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/controller/TmTaskController.java b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/controller/TmTaskController.java index ba9a7a61..77af7bb1 100644 --- a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/controller/TmTaskController.java +++ b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/controller/TmTaskController.java @@ -172,7 +172,7 @@ public class TmTaskController extends BaseController { if (StringUtils.isNull(task)) { return AjaxResult.error("参数错误"); } - if (StringUtils.isNotNull(task.getLeaseApplyInfo().getPhone())) { + if (StringUtils.isNotBlank(task.getLeaseApplyInfo().getPhone())) { String phone = task.getLeaseApplyInfo().getPhone(); if (!PhoneUtil.isMobile(phone)){ logger.error("手机号格式错误 :{}", phone); diff --git a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/largeScreen/service/impl/LargeScreenServiceImpl.java b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/largeScreen/service/impl/LargeScreenServiceImpl.java index 1069a3fa..450eea79 100644 --- a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/largeScreen/service/impl/LargeScreenServiceImpl.java +++ b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/largeScreen/service/impl/LargeScreenServiceImpl.java @@ -400,8 +400,12 @@ public class LargeScreenServiceImpl implements ILargeScreenService { List bfValueList = mapper.getTotalOwnership(dto); Integer bfValue = commonUtil.setBFData(bfValueList); vo.setScrapNum(bfValue); - // 总保有量 - vo.setTotalOwnershipNum(zkValue + drkValue + useValue + zxValue); + // 修饰待入库 + dto.setType("6"); + List decoratedValueList = mapper.getTotalOwnership(dto); + Integer decoratedValue = commonUtil.setDeData(decoratedValueList); + // 总保有量 = 在库+在用+在修+修试后待入库 + vo.setTotalOwnershipNum(zkValue + decoratedValue + useValue + zxValue); return vo; } diff --git a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/largeScreen/util/CommonUtil.java b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/largeScreen/util/CommonUtil.java index 9f3d3733..db9039b1 100644 --- a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/largeScreen/util/CommonUtil.java +++ b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/largeScreen/util/CommonUtil.java @@ -366,4 +366,28 @@ public class CommonUtil { double doubleTotalValue = totalValue.doubleValue(); return (int) Math.round(doubleTotalValue); } + + /** + * 修饰待入库 + * @param list + * @return + */ + public Integer setDeData(List list) { + if (CollectionUtils.isEmpty(list)){ + return 0; + } + BigDecimal finalValue = new BigDecimal(new Double(0).toString()); + BigDecimal totalValue = new BigDecimal(new Double(0).toString()); + BigDecimal totalValue2 = new BigDecimal(new Double(0).toString()); + for (int i = 0; i < list.size(); i++) { + ScrapAnalysisVo vo = list.get(i); + BigDecimal value = new BigDecimal(new Double(String.valueOf(vo.getNum()))); + totalValue = totalValue.add(value); + BigDecimal value2 = new BigDecimal(new Double(String.valueOf(vo.getNum2()))); + totalValue2 = totalValue2.add(value2); + } + finalValue = totalValue.subtract(totalValue2); + double doubleValue = finalValue.doubleValue(); + return (int) Math.round(doubleValue); + } } diff --git a/sgzb-modules/sgzb-base/src/main/resources/mapper/largeScreen/LargeScreenMapper.xml b/sgzb-modules/sgzb-base/src/main/resources/mapper/largeScreen/LargeScreenMapper.xml index 4f19fffd..90a0c80a 100644 --- a/sgzb-modules/sgzb-base/src/main/resources/mapper/largeScreen/LargeScreenMapper.xml +++ b/sgzb-modules/sgzb-base/src/main/resources/mapper/largeScreen/LargeScreenMapper.xml @@ -287,6 +287,26 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" AND sd.dept_id = #{companyId} + /*修饰待入库*/ + + SELECT rid.repair_num AS num, + rid.input_num AS num2, + mt.type_name AS typeName + FROM repair_input_details rid + LEFT JOIN ma_type mt ON rid.type_id = mt.type_id AND mt.`level` = '4' + LEFT JOIN sys_dept sd ON sd.dept_id = mt.company_id + + + sd.dept_name = #{maTypeName} + + + AND sd.dept_name = #{maTypeName} + + + AND sd.dept_id = #{companyId} + + +