diff --git a/sgzb-auth/src/main/resources/bootstrap.yml b/sgzb-auth/src/main/resources/bootstrap.yml index f5c6e72..82f42c7 100644 --- a/sgzb-auth/src/main/resources/bootstrap.yml +++ b/sgzb-auth/src/main/resources/bootstrap.yml @@ -9,4 +9,4 @@ spring: name: sgzb-auth profiles: # 环境配置 - active: sgzb_cloud_dev + active: sgzb_cloud_local diff --git a/sgzb-gateway/src/main/resources/bootstrap.yml b/sgzb-gateway/src/main/resources/bootstrap.yml index 77879c7..6ffe4e5 100644 --- a/sgzb-gateway/src/main/resources/bootstrap.yml +++ b/sgzb-gateway/src/main/resources/bootstrap.yml @@ -9,4 +9,4 @@ spring: name: sgzb-gateway profiles: # 环境配置 - active: sgzb_cloud_dev + active: sgzb_cloud_local diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/app/controller/TmTaskController.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/app/controller/TmTaskController.java index e94306e..7475aa1 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/app/controller/TmTaskController.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/app/controller/TmTaskController.java @@ -8,6 +8,7 @@ import com.bonus.sgzb.app.service.LeaseApplyDetailsService; import com.bonus.sgzb.app.service.LeaseApplyInfoService; import com.bonus.sgzb.app.service.LeaseUserBookService; import com.bonus.sgzb.app.service.TmTaskService; +import com.bonus.sgzb.base.api.domain.MaType; import com.bonus.sgzb.base.service.ITypeService; import com.bonus.sgzb.common.core.utils.ListPagingUtil; import com.bonus.sgzb.common.core.utils.ServletUtils; @@ -626,6 +627,19 @@ public class TmTaskController extends BaseController { List leaseAuditList = tmTaskService.getLeaseListAllCq(task); return getDataTable(leaseAuditList); } + @Log(title = "查询差缺量在哪些工程上申请", businessType = BusinessType.QUERY) + @GetMapping("/getPreNumInUse") + public AjaxResult getPreNumInUse(PreNumInUse tmTask) { + startPage(); + List leaseAuditList = tmTaskService.getPreNumInUse(tmTask); + return AjaxResult.success(getDataTable(leaseAuditList)); + } + @PostMapping("/exportPreNumInUse") + public void exportPreNumInUse(HttpServletResponse response,PreNumInUse tmTask) { + List list = tmTaskService.getPreNumInUse(tmTask); + ExcelUtil util = new ExcelUtil(PreNumInUse.class); + util.exportExcel(response, list, "差缺量工程申请详情表"); + } /** * 查询库管员下拉信息 diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/app/domain/LeaseApplyDetails.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/app/domain/LeaseApplyDetails.java index 7b6d494..368810b 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/app/domain/LeaseApplyDetails.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/app/domain/LeaseApplyDetails.java @@ -205,4 +205,10 @@ public class LeaseApplyDetails implements Serializable { @ApiModelProperty(value="代替规格") private String maModel; + @ApiModelProperty(value="成套机具三级typeId") + private Integer ctParentId; + @ApiModelProperty(value="是否是成套机具(0是 1否)") + private Integer isCt; + @ApiModelProperty(value="默认1,0不是库存管理") + private String isStorage; } diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/app/domain/LeaseApplyInfo.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/app/domain/LeaseApplyInfo.java index 4eb954d..5c3f7e7 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/app/domain/LeaseApplyInfo.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/app/domain/LeaseApplyInfo.java @@ -10,6 +10,8 @@ import org.springframework.format.annotation.DateTimeFormat; import java.io.Serializable; import java.util.Date; import java.util.List; +import java.util.Map; +import java.util.Objects; /** * Description: diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/app/domain/PreNumInUse.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/app/domain/PreNumInUse.java new file mode 100644 index 0000000..ec7d33b --- /dev/null +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/app/domain/PreNumInUse.java @@ -0,0 +1,22 @@ +package com.bonus.sgzb.app.domain; + +import com.bonus.sgzb.common.core.annotation.Excel; +import lombok.Data; + +/** + * @Author:liang.chao + * @Date:2025/3/10 - 16:55 + */ +@Data +public class PreNumInUse { + @Excel(name = "领料工程") + private String proName; + @Excel(name = "领料单位") + private String unitName; + @Excel(name = "单号") + private String code; + @Excel(name = "领料数量") + private String preNum; + private String typeId; + private String keyWord; +} diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/app/domain/TmTask.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/app/domain/TmTask.java index c947816..28b910a 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/app/domain/TmTask.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/app/domain/TmTask.java @@ -11,6 +11,7 @@ import java.io.Serializable; import java.math.BigDecimal; import java.util.Date; import java.util.List; +import java.util.Map; /** * Description: 任务表tm_task @@ -42,6 +43,7 @@ public class TmTask implements Serializable { @ApiModelProperty(value = "任务类型(数据字典)") private Integer taskType; private List outboundType; + private List wholeTypeName; /** * 任务状态(定义数据字典) @@ -61,6 +63,11 @@ public class TmTask implements Serializable { */ @ApiModelProperty(value = "已出库数量") private Integer alNum; + /** + * 预领料合计数 + */ + @ApiModelProperty(value = "预领数量") + private Integer preNum; /** * 库存 */ @@ -162,6 +169,9 @@ public class TmTask implements Serializable { */ @ApiModelProperty(value = "领料任务详情集合") private List leaseApplyDetails; + /** 机具规格详情列表 */ + @ApiModelProperty(value = "成套机具规格详情列表") + Map> ctLeaseApplyDetails; private List leaseOutDetailRecord; @ApiModelProperty(value = "协议id") @@ -325,4 +335,10 @@ public class TmTask implements Serializable { @ApiModelProperty(value = "库管员名称") private String maTypeUserName; + @ApiModelProperty(value = "成套机具三级typeId") + private Integer ctParentId; + @ApiModelProperty(value = "是否成套设备") + private Integer isCt; + + } diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/app/mapper/TmTaskMapper.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/app/mapper/TmTaskMapper.java index 90f01f8..3565acd 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/app/mapper/TmTaskMapper.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/app/mapper/TmTaskMapper.java @@ -2,6 +2,7 @@ package com.bonus.sgzb.app.mapper; import com.bonus.sgzb.app.domain.LeaseApplyDetails; import com.bonus.sgzb.app.domain.LeaseApplyInfo; +import com.bonus.sgzb.app.domain.PreNumInUse; import com.bonus.sgzb.app.domain.TmTask; import com.bonus.sgzb.base.api.domain.BackApplyInfo; import com.bonus.sgzb.base.api.domain.MachinePart; @@ -151,4 +152,8 @@ public interface TmTaskMapper { List getLeaseOutDetailRecord(TmTask record); LeaseApplyDetails getApplyNeedDetailsCq(LeaseApplyDetails detail); + + String getCtParentName(LeaseApplyDetails applyDetails); + + List getPreNumInUse(PreNumInUse typeId); } diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/app/service/TmTaskService.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/app/service/TmTaskService.java index d8dc31a..7a167a3 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/app/service/TmTaskService.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/app/service/TmTaskService.java @@ -2,6 +2,7 @@ package com.bonus.sgzb.app.service; import com.bonus.sgzb.app.domain.LeaseApplyDetails; import com.bonus.sgzb.app.domain.LeaseApplyInfo; +import com.bonus.sgzb.app.domain.PreNumInUse; import com.bonus.sgzb.app.domain.TmTask; import com.bonus.sgzb.base.api.domain.MaMachine; import com.bonus.sgzb.common.core.web.domain.AjaxResult; @@ -122,4 +123,6 @@ public interface TmTaskService{ * @return */ AjaxResult getMaTypeKeepList(LeaseApplyDetails leaseApplyDetails); + + List getPreNumInUse(PreNumInUse typeId); } diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/app/service/impl/TmTaskServiceImpl.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/app/service/impl/TmTaskServiceImpl.java index 39ac0b3..987a7b3 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/app/service/impl/TmTaskServiceImpl.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/app/service/impl/TmTaskServiceImpl.java @@ -5,6 +5,7 @@ import com.alibaba.fastjson2.JSONArray; import com.alibaba.fastjson2.JSONObject; import com.bonus.sgzb.app.domain.LeaseApplyDetails; import com.bonus.sgzb.app.domain.LeaseApplyInfo; +import com.bonus.sgzb.app.domain.PreNumInUse; import com.bonus.sgzb.app.domain.TmTask; import com.bonus.sgzb.app.mapper.LeaseApplyDetailsMapper; import com.bonus.sgzb.app.mapper.LeaseApplyInfoMapper; @@ -1368,19 +1369,33 @@ public class TmTaskServiceImpl implements TmTaskService { if (task.getFlag() == 1) { tmTask.setLeaseApplyInfoList(leaseApplyInfoList); - List listLeaseDetails = new ArrayList<>(); for (LeaseApplyInfo leaseApplyInfo : leaseApplyInfoList) { if (leaseApplyInfo != null) { // 去查询领料任务详情表 List leaseApplyDetails = tmTaskMapper.getLeaseApplyDetailsByApply(leaseApplyInfo); if (leaseApplyDetails != null && !leaseApplyDetails.isEmpty()) { - leaseApplyInfo.setLeaseApplyDetails(leaseApplyDetails); - listLeaseDetails.addAll(leaseApplyDetails); + List wholeTypeName = leaseApplyDetails.stream() + .map(LeaseApplyDetails::getCtParentId) + .distinct() + .collect(Collectors.toList()); + tmTask.setWholeTypeName(wholeTypeName); + Map> list = leaseApplyDetails.stream() + .filter(detail -> detail.getIsCt() == 0) + .filter(detail -> detail.getCtParentId() != null) + .collect(Collectors.groupingBy(LeaseApplyDetails::getTypeName)); + /* for (LeaseApplyDetails applyDetails : list) { + String parentName = tmTaskMapper.getCtParentName(applyDetails); + applyDetails.setp + }*/ + List collect = leaseApplyDetails.stream() + .filter(detail -> detail.getIsCt() == 1) + .filter(detail -> detail.getCtParentId() == null) + .collect(Collectors.toList()); + tmTask.setCtLeaseApplyDetails(list); + tmTask.setLeaseApplyDetails(collect); } } } - // 塞入领料任务详情的集合中 - tmTask.setLeaseApplyDetails(listLeaseDetails); } } tmTaskList.add(tmTask); @@ -1482,6 +1497,11 @@ public class TmTaskServiceImpl implements TmTaskService { return AjaxResult.success(detailsArrayList); } + @Override + public List getPreNumInUse(PreNumInUse typeId) { + return tmTaskMapper.getPreNumInUse(typeId); + } + /* public static void main(String[] args) { String aa = "A101"; System.out.println(aa.charAt(0)); diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/domain/SelectVo.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/domain/SelectVo.java index 10cd516..072acda 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/domain/SelectVo.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/domain/SelectVo.java @@ -30,4 +30,6 @@ public class SelectVo { * 是否替换 默认0,1替换 */ private String isReplace; + //0不是库存管理 1是库存管理 + private String isStorage; } diff --git a/sgzb-modules/sgzb-material/src/main/resources/bootstrap.yml b/sgzb-modules/sgzb-material/src/main/resources/bootstrap.yml index 44425d6..c6a8b0d 100644 --- a/sgzb-modules/sgzb-material/src/main/resources/bootstrap.yml +++ b/sgzb-modules/sgzb-material/src/main/resources/bootstrap.yml @@ -5,4 +5,4 @@ spring: name: sgzb-material profiles: # 环境配置 - active: sgzb_cloud_dev + active: sgzb_cloud_local diff --git a/sgzb-modules/sgzb-material/src/main/resources/mapper/app/LeaseApplyDetailsMapper.xml b/sgzb-modules/sgzb-material/src/main/resources/mapper/app/LeaseApplyDetailsMapper.xml index 87459fd..059ba88 100644 --- a/sgzb-modules/sgzb-material/src/main/resources/mapper/app/LeaseApplyDetailsMapper.xml +++ b/sgzb-modules/sgzb-material/src/main/resources/mapper/app/LeaseApplyDetailsMapper.xml @@ -401,13 +401,13 @@ insert into lease_apply_details (parennt_id, type_id, pre_num, al_num, `status`, create_by, create_time, update_by, - update_time, remark, company_id) + update_time, remark, company_id,ct_parent_id,is_ct) values (#{item.parenntId,jdbcType=INTEGER}, #{item.typeId,jdbcType=INTEGER}, #{item.preNum,jdbcType=INTEGER}, #{item.alNum,jdbcType=INTEGER}, #{item.status,jdbcType=VARCHAR}, #{item.createBy,jdbcType=VARCHAR}, NOW(), #{item.updateBy,jdbcType=VARCHAR}, NOW(), - #{item.remark,jdbcType=VARCHAR}, #{item.companyId,jdbcType=INTEGER}) + #{item.remark,jdbcType=VARCHAR}, #{item.companyId,jdbcType=INTEGER}, #{item.ctParentId,jdbcType=INTEGER}, IFNULL(#{item.isCt}, '1')) diff --git a/sgzb-modules/sgzb-material/src/main/resources/mapper/app/TmTaskMapper.xml b/sgzb-modules/sgzb-material/src/main/resources/mapper/app/TmTaskMapper.xml index 4f19e88..4e67071 100644 --- a/sgzb-modules/sgzb-material/src/main/resources/mapper/app/TmTaskMapper.xml +++ b/sgzb-modules/sgzb-material/src/main/resources/mapper/app/TmTaskMapper.xml @@ -961,7 +961,7 @@ + + + diff --git a/sgzb-modules/sgzb-material/src/main/resources/mapper/material/SelectMapper.xml b/sgzb-modules/sgzb-material/src/main/resources/mapper/material/SelectMapper.xml index 36b3f26..69c0b2f 100644 --- a/sgzb-modules/sgzb-material/src/main/resources/mapper/material/SelectMapper.xml +++ b/sgzb-modules/sgzb-material/src/main/resources/mapper/material/SelectMapper.xml @@ -62,6 +62,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ELSE IFNULL(mt.num, 0) END as num, + mt.is_storage, mt.is_replace as isReplace FROM ma_type mt left join ( diff --git a/sgzb-modules/sgzb-system/src/main/resources/bootstrap.yml b/sgzb-modules/sgzb-system/src/main/resources/bootstrap.yml index 2adfe7a..7a0e886 100644 --- a/sgzb-modules/sgzb-system/src/main/resources/bootstrap.yml +++ b/sgzb-modules/sgzb-system/src/main/resources/bootstrap.yml @@ -9,4 +9,4 @@ spring: name: sgzb-system profiles: # 环境配置 - active: sgzb_cloud_dev + active: sgzb_cloud_local