diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/ScrapRecordInfo.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/ScrapRecordInfo.java index 38370101..866dd1f1 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/ScrapRecordInfo.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/ScrapRecordInfo.java @@ -4,6 +4,7 @@ import com.bonus.common.core.annotation.Excel; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import org.apache.poi.ss.usermodel.HorizontalAlignment; import org.springframework.format.annotation.DateTimeFormat; import java.math.BigDecimal; @@ -32,11 +33,11 @@ public class ScrapRecordInfo { private String typeModelName; @ApiModelProperty(value = "报废数量") - @Excel(name = "报废数量") + @Excel(name = "报废数量", align = HorizontalAlignment.RIGHT) private BigDecimal scrapNum; @ApiModelProperty(value = "购置单价") - @Excel(name = "原值(元)") + @Excel(name = "原值(元)", align = HorizontalAlignment.RIGHT) private BigDecimal buyPrice; @ApiModelProperty(value = "设备编码") diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/report/BackInputInfo.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/report/BackInputInfo.java index 1334f6c5..ec13f856 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/report/BackInputInfo.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/report/BackInputInfo.java @@ -4,6 +4,7 @@ import com.bonus.common.core.annotation.Excel; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import org.apache.poi.ss.usermodel.HorizontalAlignment; import java.math.BigDecimal; import java.util.Date; @@ -38,7 +39,7 @@ public class BackInputInfo { private String unitName; @ApiModelProperty(value = "退料数量") - @Excel(name = "退料数量") + @Excel(name = "退料数量", align = HorizontalAlignment.RIGHT) private BigDecimal backNum; @ApiModelProperty(value = "退料日期") diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/domain/back/MaterialBackApplyTotalInfo.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/domain/back/MaterialBackApplyTotalInfo.java index 2cf6971b..6aee31e8 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/domain/back/MaterialBackApplyTotalInfo.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/domain/back/MaterialBackApplyTotalInfo.java @@ -6,6 +6,7 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.ToString; import lombok.experimental.Accessors; +import org.apache.poi.ss.usermodel.HorizontalAlignment; import java.io.Serializable; import java.math.BigDecimal; @@ -57,7 +58,7 @@ public class MaterialBackApplyTotalInfo implements Serializable { /** 退料数量 */ @ApiModelProperty(value = "退料数量") - @Excel(name = "退料数量") + @Excel(name = "退料数量", align = HorizontalAlignment.RIGHT) private BigDecimal backNum; @ApiModelProperty(value = "退料日期") diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/domain/vo/MaterialTotalMentInfo.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/domain/vo/MaterialTotalMentInfo.java index 70a07786..2adb519a 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/domain/vo/MaterialTotalMentInfo.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/domain/vo/MaterialTotalMentInfo.java @@ -4,6 +4,7 @@ import com.bonus.common.core.annotation.Excel; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import org.apache.poi.ss.usermodel.HorizontalAlignment; import java.math.BigDecimal; @@ -36,6 +37,6 @@ public class MaterialTotalMentInfo { private String proName; @ApiModelProperty(value = "总保有量") - @Excel(name = "总保有量") + @Excel(name = "总保有量", align = HorizontalAlignment.RIGHT) private BigDecimal allNum; } \ No newline at end of file diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/mapper/MaterialMachineMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/mapper/MaterialMachineMapper.java index 097ffdb8..7c919418 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/mapper/MaterialMachineMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/mapper/MaterialMachineMapper.java @@ -150,4 +150,11 @@ public interface MaterialMachineMapper { * @return */ List getTeamNumThirdList(MaterialRetainedEquipmentInfo bean); + + /** + * 查询保有总量详情 + * @param bean + * @return + */ + List getTotalInfoList(MaterialRetainedEquipmentInfo bean); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/controller/LeaseTaskController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/controller/LeaseTaskController.java index 7d5200ed..a53cc148 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/controller/LeaseTaskController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/controller/LeaseTaskController.java @@ -6,6 +6,7 @@ import com.bonus.common.biz.domain.LeaseRecordInfo; import com.bonus.common.biz.domain.lease.LeaseApplyInfo; import com.bonus.common.biz.domain.lease.LeasePublishInfo; import com.bonus.common.core.utils.ServletUtils; +import com.bonus.common.core.utils.StringUtils; import com.bonus.common.core.utils.poi.ExcelUtil; import com.bonus.common.core.web.controller.BaseController; import com.bonus.common.core.web.domain.AjaxResult; @@ -505,10 +506,12 @@ public class LeaseTaskController extends BaseController { for (Map.Entry entry : replacements.entrySet()) { String placeholder = entry.getKey(); String value = entry.getValue(); - if (text.contains(placeholder)) { - // 替换占位符为实际值 - text = text.replace(placeholder, value); - run.setText(text, 0); + if (StringUtils.isNotBlank(placeholder) && StringUtils.isNotBlank(value)) { + if (text.contains(placeholder)) { + // 替换占位符为实际值 + text = text.replace(placeholder, value); + run.setText(text, 0); + } } } } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/domain/LeaseApplyDetails.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/domain/LeaseApplyDetails.java index 1f85828b..66b7647b 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/domain/LeaseApplyDetails.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/domain/LeaseApplyDetails.java @@ -7,6 +7,7 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.ToString; import com.bonus.common.core.web.domain.BaseEntity; +import org.apache.poi.ss.usermodel.HorizontalAlignment; import java.math.BigDecimal; import java.util.Date; @@ -78,7 +79,7 @@ public class LeaseApplyDetails extends BaseEntity { private String unitValue; /** 库存数量 */ @ApiModelProperty(value = "库存数量") - @Excel(name = "当前库存") + @Excel(name = "当前库存", align = HorizontalAlignment.RIGHT) private BigDecimal storageNum; @ApiModelProperty(value = "已发布数量") diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseApplyInfoServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseApplyInfoServiceImpl.java index 2f2463c5..57abb0fe 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseApplyInfoServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseApplyInfoServiceImpl.java @@ -691,27 +691,18 @@ public class LeaseApplyInfoServiceImpl implements ILeaseApplyInfoService { if (!CollectionUtils.isEmpty(leaseApplyOutList)) { list.addAll(leaseApplyOutList); } - if (!CollectionUtils.isEmpty(list)) { - for (LeaseApplyInfo applyInfo : list) { - // 根据id去查询总出库数量 - LeaseApplyInfo totalInfo = leaseApplyInfoMapper.getOutList(applyInfo); - // 根据id去查询确认总出库数量 - LeaseApplyInfo info = leaseApplyInfoMapper.getInfoList(applyInfo); - if (totalInfo != null) { - if (info != null) { - if (info.getAlNum().compareTo(totalInfo.getAlNum()) == 0) { - applyInfo.setIsConfirm(2); - } else { - applyInfo.setIsConfirm(1); - } - } else { - applyInfo.setIsConfirm(1); - } - } else { - applyInfo.setIsConfirm(1); - } - } - } + // 使用Stream处理列表,避免显式for循环 + list.stream() + .filter(Objects::nonNull) // 过滤null元素 + .forEach(applyInfo -> { + LeaseApplyInfo totalInfo = leaseApplyInfoMapper.getOutList(applyInfo); + LeaseApplyInfo info = leaseApplyInfoMapper.getInfoList(applyInfo); + + // 简化判断逻辑 + int isConfirm = (totalInfo != null && info != null + && info.getAlNum().compareTo(totalInfo.getAlNum()) == 0) ? 2 : 1; + applyInfo.setIsConfirm(isConfirm); + }); if (leaseApplyInfo.getIsConfirm()!=null) { if (leaseApplyInfo.getIsConfirm() == 2) { diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/domain/PartType.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/domain/PartType.java index 715ee60b..83d14650 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/domain/PartType.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/domain/PartType.java @@ -6,6 +6,7 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.ToString; import com.bonus.common.core.web.domain.BaseEntity; +import org.apache.poi.ss.usermodel.HorizontalAlignment; import javax.validation.constraints.NotBlank; import javax.validation.constraints.Size; @@ -62,13 +63,13 @@ public class PartType extends BaseEntity private String unitName; /** 原值 */ - @Excel(name = "购置价格(元)",sort=5) + @Excel(name = "购置价格(元)",sort=5, align = HorizontalAlignment.RIGHT) @ApiModelProperty(value = "原值") @Size(max=10, message = "购置价格长度不能超过10") private BigDecimal buyPrice; /** 实时库存 */ - @Excel(name = "数量",sort=6) + @Excel(name = "数量",sort=6, align = HorizontalAlignment.RIGHT) @ApiModelProperty(value = "实时库存") private Long storageNum; diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/part/controller/PartLeaseController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/part/controller/PartLeaseController.java index a0ca6503..44c1618b 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/part/controller/PartLeaseController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/part/controller/PartLeaseController.java @@ -127,4 +127,15 @@ public class PartLeaseController extends BaseController { } } + /** + * 根据二级id查询三级列表 + * @param partType + * @return + */ + @ApiOperation(value = "根据二级id查询三级列表") + @GetMapping("/selectPartList") + public AjaxResult selectPartList(PartType partType) { + return partLeaseService.selectPartList(partType); + } + } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/part/service/PartLeaseService.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/part/service/PartLeaseService.java index 952b2f34..4e18903e 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/part/service/PartLeaseService.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/part/service/PartLeaseService.java @@ -73,4 +73,11 @@ public interface PartLeaseService { * @return */ AjaxResult deleteTypeKeeper(List typeKeepers); + + /** + * 根据二级id查询三级列表 + * @param partType + * @return + */ + AjaxResult selectPartList(PartType partType); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/part/service/impl/PartLeaseServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/part/service/impl/PartLeaseServiceImpl.java index f7412473..252508ce 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/part/service/impl/PartLeaseServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/part/service/impl/PartLeaseServiceImpl.java @@ -503,4 +503,15 @@ public class PartLeaseServiceImpl implements PartLeaseService { } return AjaxResult.success("解绑成功"); } + + /** + * 根据二级id查询三级列表 + * @param partType + * @return + */ + @Override + public AjaxResult selectPartList(PartType partType) { + List list = partLeaseMapper.selectPartTreeList(partType); + return AjaxResult.success(list); + } } diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/clz/MaterialMachineMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/clz/MaterialMachineMapper.xml index 26e21855..056d6831 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/clz/MaterialMachineMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/clz/MaterialMachineMapper.xml @@ -108,6 +108,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" AND bu.del_flag = '0' WHERE sai.`status` = '0' + AND sai.is_slt = '0' AND sai.end_time IS NULL AND sai.back_id IS NULL GROUP BY mt.type_id, bp.pro_id @@ -863,4 +864,85 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" sai.ma_id + + \ No newline at end of file diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseApplyInfoMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseApplyInfoMapper.xml index 21010749..6baba685 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseApplyInfoMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseApplyInfoMapper.xml @@ -460,6 +460,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where lod.parent_id = #{id} and lod.out_num > 0 and lod.lease_sign_id is not null + + AND lod.publish_task = #{publishTask} + AND GROUP_CONCAT(DISTINCT mt2.type_name) LIKE CONCAT(CONCAT('%', #{keyWord}), '%') @@ -729,7 +732,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" LEFT JOIN lease_apply_info lai ON lai.id = lpd.parent_id LEFT JOIN tm_task tt ON lai.task_id = tt.task_id LEFT JOIN (SELECT IFNULL( sum(out_num ), 0) AS num, parent_id, publish_task, is_confirm, confirm_remark, confirm_time, lease_sign_id from lease_out_details - GROUP BY parent_id) lod ON lpd.parent_id = lod.parent_id + GROUP BY parent_id, publish_task) lod ON lpd.parent_id = lod.parent_id and lod.publish_task = lpd.publish_task LEFT JOIN bm_unit bu ON bu.unit_id = lpd.unit_id LEFT JOIN bm_project bp ON bp.pro_id = lpd.project_id LEFT JOIN sys_dept sd ON sd.dept_id = bp.imp_unit @@ -766,6 +769,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" lease_out_details WHERE parent_id = #{id} + + AND publish_task = #{publishTask} + HAVING SUM( out_num ) > 0 @@ -875,6 +881,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" WHERE is_confirm = 2 AND parent_id = #{id} + + AND publish_task = #{publishTask} + HAVING SUM( out_num ) > 0 diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseTaskMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseTaskMapper.xml index 72a408eb..f42f0265 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseTaskMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseTaskMapper.xml @@ -793,7 +793,7 @@ select distinct task_type as taskType,task_id as taskId,model_id as modelId, file_type as fileType - from bm_file_info bfi + from bm_file_info where task_type = #{taskType} and task_id = #{taskId} and model_id = #{modelId} - delete from bm_file_info bfi where task_id = #{taskId} and task_type = 13 + delete from bm_file_info where task_id = #{taskId} and task_type = 13