diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/controller/MachineController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/controller/MachineController.java index a225d94b..2f8330ca 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/controller/MachineController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/controller/MachineController.java @@ -56,7 +56,7 @@ public class MachineController extends BaseController { } /** - * 查询在库机具编号 + * todo 查询在库机具编号,存在数据拼接,盘点报废专用 */ @ApiOperation(value = "查询在库机具编号") //@RequiresPermissions("ma:machine:typeList") diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/IMachineService.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/IMachineService.java index 5011016b..20b74ee8 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/IMachineService.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/IMachineService.java @@ -71,7 +71,7 @@ public interface IMachineService AjaxResult selectByTypeList(Type type); /** - * 查询在库机具编号 + * todo 查询在库机具编号,存在数据拼接,盘点报废专用 * @param type * @return */ diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/MachineServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/MachineServiceImpl.java index a7dac07d..b53fd7ad 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/MachineServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/MachineServiceImpl.java @@ -11,7 +11,8 @@ import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.material.ma.domain.Type; import com.bonus.material.ma.domain.vo.MachineVo; import com.bonus.material.purchase.config.RemoteConfig; -import com.bonus.system.api.RemoteUserService; +import com.bonus.material.scrap.domain.ScrapApplyDetails; +import com.bonus.material.scrap.mapper.ScrapApplyDetailsMapper; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import com.bonus.material.ma.mapper.MachineMapper; @@ -36,6 +37,9 @@ public class MachineServiceImpl implements IMachineService @Resource private RemoteConfig remoteConfig; + @Resource + private ScrapApplyDetailsMapper scrapApplyDetailsMapper; + /** * 查询机具设备管理 * @@ -149,13 +153,33 @@ public class MachineServiceImpl implements IMachineService } /** - * 查询在库机具编号 + * todo 查询在库机具编号,存在数据拼接,盘点报废专用 * @param type * @return */ @Override public AjaxResult getMachineList(Type type) { List typeList = machineMapper.getMachineList(type); + if (type.getTaskId() != null && type.getTypeId() != null) { + ScrapApplyDetails scrapApplyDetails = new ScrapApplyDetails(); + scrapApplyDetails.setTaskId(type.getTaskId()); + scrapApplyDetails.setTypeId(type.getTypeId()); + List list = scrapApplyDetailsMapper.getDetailsList(scrapApplyDetails); + if (CollectionUtils.isNotEmpty(list)) { + for (ScrapApplyDetails details : list) { + if (StringUtils.isNotBlank(details.getMaIds())) { + String[] maIds = details.getMaIds().split(","); + for (String maId : maIds) { + Machine machine = new Machine(); + MachineVo machineVo = machineMapper.selectMachineByMaId(Long.parseLong(maId)); + machine.setMaId(machineVo.getMaId()); + machine.setMaCode(machineVo.getMaCode()); + typeList.add(machine); + } + } + } + } + } return AjaxResult.success(typeList); } } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/scrap/controller/ScrapApplyDetailsController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/scrap/controller/ScrapApplyDetailsController.java index 16afbc00..ee4526c6 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/scrap/controller/ScrapApplyDetailsController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/scrap/controller/ScrapApplyDetailsController.java @@ -8,6 +8,7 @@ import com.bonus.common.biz.config.ListPagingUtil; import com.bonus.common.core.utils.ServletUtils; import com.bonus.common.log.enums.OperaType; import com.bonus.material.common.annotation.PreventRepeatSubmit; +import com.bonus.material.scrap.domain.vo.ScrapDetailsListVo; import com.bonus.material.scrap.domain.vo.ScrapTaskListVo; import com.bonus.material.scrap.domain.vo.ScrapTotalListVo; import io.swagger.annotations.Api; @@ -132,6 +133,64 @@ public class ScrapApplyDetailsController extends BaseController { return AjaxResult.success(ListPagingUtil.paging(pageIndex, pageSize, list)); } + /** + * 查询报废台账列表 + * @param scrapApplyDetails + * @return + */ + @ApiOperation(value = "查询报废台账列表") +// @RequiresPermissions("scrap:details:list") + @GetMapping("/getScrapList") + public AjaxResult getScrapList(ScrapApplyDetails scrapApplyDetails) { + Integer pageIndex = Convert.toInt(ServletUtils.getParameter("pageNum"), 1); + Integer pageSize = Convert.toInt(ServletUtils.getParameter("pageSize"), 10); + List list = scrapApplyDetailsService.getScrapList(scrapApplyDetails); + return AjaxResult.success(ListPagingUtil.paging(pageIndex, pageSize, list)); + } + + /** + * 导出报废台账列表 + * @param response + * @param scrapApplyDetails + */ + @ApiOperation(value = "导出报废台账列表") + //@RequiresPermissions("scrap:details:export") + @PostMapping("/exportScrapList") + public void exportScrapList(HttpServletResponse response, ScrapApplyDetails scrapApplyDetails) { + List list = scrapApplyDetailsService.getScrapList(scrapApplyDetails); + ExcelUtil util = new ExcelUtil<>(ScrapTotalListVo.class); + util.exportExcel(response, list, "报废台账任务数据"); + } + + /** + * 查询报废台账明细列表 + * @param scrapApplyDetails + * @return + */ + @ApiOperation(value = "查询报废台账明细列表") +// @RequiresPermissions("scrap:details:list") + @GetMapping("/getScrapDetailsList") + public AjaxResult getScrapDetailsList(ScrapApplyDetails scrapApplyDetails) { + Integer pageIndex = Convert.toInt(ServletUtils.getParameter("pageNum"), 1); + Integer pageSize = Convert.toInt(ServletUtils.getParameter("pageSize"), 10); + List list = scrapApplyDetailsService.getScrapDetailsList(scrapApplyDetails); + return AjaxResult.success(ListPagingUtil.paging(pageIndex, pageSize, list)); + } + + /** + * 导出报废台账列表 + * @param response + * @param scrapApplyDetails + */ + @ApiOperation(value = "导出报废台账明细列表") + //@RequiresPermissions("scrap:details:export") + @PostMapping("/exportScrapDetailsList") + public void exportScrapDetailsList(HttpServletResponse response, ScrapApplyDetails scrapApplyDetails) { + List list = scrapApplyDetailsService.getScrapDetailsList(scrapApplyDetails); + ExcelUtil util = new ExcelUtil<>(ScrapDetailsListVo.class); + util.exportExcel(response, list, "报废台账明细数据"); + } + /** * 查询报废台账审核总费用 * @param scrapApplyDetails @@ -181,11 +240,11 @@ public class ScrapApplyDetailsController extends BaseController { } /** - * 盘点报废审核通过 + * 盘点报废审核 * @param scrapApplyDetails * @return */ - @ApiOperation(value = "盘点报废审核通过") + @ApiOperation(value = "盘点报废审核") @PostMapping("/inventoryApprove") public AjaxResult inventoryApprove(@RequestBody ScrapApplyDetails scrapApplyDetails) { return scrapApplyDetailsService.inventoryApprove(scrapApplyDetails); diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/scrap/domain/ScrapApplyDetails.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/scrap/domain/ScrapApplyDetails.java index 84daf9ea..282bc4ad 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/scrap/domain/ScrapApplyDetails.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/scrap/domain/ScrapApplyDetails.java @@ -100,16 +100,16 @@ public class ScrapApplyDetails extends BaseEntity { private Long typeId; @ApiModelProperty(value = "规格型号名称") - private String typeModelName; + private String typeName; @ApiModelProperty(value = "物资类型ID") private Long typeNameId; @ApiModelProperty(value = "物资类型名称") - private String typeName; + private String maTypeName; @ApiModelProperty(value = "管理方式") - private Byte manageType; + private String manageType; @ApiModelProperty(value = "单位") private String unitName; @@ -213,6 +213,10 @@ public class ScrapApplyDetails extends BaseEntity { @ApiModelProperty(value = "结束时间") private String endTime; + @ApiModelProperty(value = "本次审核周期") + @JsonFormat(pattern = "yyyy-MM") + private String month; + @ApiModelProperty(value = "台账审核状态 0待审核,1已审核,2驳回") private String ledgerStatus; } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/scrap/domain/vo/ScrapDetailsListVo.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/scrap/domain/vo/ScrapDetailsListVo.java new file mode 100644 index 00000000..a138fc61 --- /dev/null +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/scrap/domain/vo/ScrapDetailsListVo.java @@ -0,0 +1,72 @@ +package com.bonus.material.scrap.domain.vo; + +import com.bonus.common.core.annotation.Excel; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +/** + * 报废台账返回实体类 + * @author ma_sh + */ +@Data +public class ScrapDetailsListVo { + + @ApiModelProperty(value = "物资类型名称") + @Excel(name = "类型名称") + private String typeName; + + /** 规格ID */ + @ApiModelProperty(value = "规格ID") + private Long typeId; + + @ApiModelProperty(value = "规格型号名称") + @Excel(name = "规格型号") + private String typeModelName; + + @ApiModelProperty(value = "单位") + @Excel(name = "计量单位") + private String unitName; + + /** 报废数量 */ + @Excel(name = "报废数量") + @ApiModelProperty(value = "报废数量") + private BigDecimal scrapNum; + + @ApiModelProperty(value = "费用合计") + @Excel(name = "报废费用(万元)") + private BigDecimal totalCost; + + @ApiModelProperty(value = "购置价") + private BigDecimal buyPrice; + + @ApiModelProperty(value = "报废类型") + @Excel(name = "报废类型") + private String scrapStyle; + + @ApiModelProperty(value = "(1退料2,维修审核,3盘点报废)") + private String scrapSource; + + /** (0自然,1人为) */ + @Excel(name = "损坏类型", readConverterExp = "0=自然损坏,1=人为损坏") + private String scrapType; + + @ApiModelProperty(value = "任务创建人昵称") + @Excel(name = "审核人") + private String auditName; + + @ApiModelProperty(value = "本次审核周期") + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "审核日期", width = 30, dateFormat = "yyyy-MM-dd") + private String month; + + @ApiModelProperty(value = "台账审核状态 0待审核,1已审核,2驳回") + private String ledgerStatus; + + @ApiModelProperty(value = "台账审核状态 0待审核,1已审核,2驳回") + private String remark; + +} diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/scrap/domain/vo/ScrapTotalListVo.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/scrap/domain/vo/ScrapTotalListVo.java index 8ac3ae2a..1f8f1ad2 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/scrap/domain/vo/ScrapTotalListVo.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/scrap/domain/vo/ScrapTotalListVo.java @@ -28,7 +28,6 @@ public class ScrapTotalListVo { private List taskIdList; @ApiModelProperty(value = "物资类型名称") - @Excel(name = "类型名称") private String typeName; /** 规格ID */ @@ -36,13 +35,16 @@ public class ScrapTotalListVo { private Long typeId; @ApiModelProperty(value = "规格型号名称") - @Excel(name = "规格型号") private String typeModelName; @ApiModelProperty(value = "单位") - @Excel(name = "计量单位") private String unitName; + @ApiModelProperty(value = "本次审核周期") + @JsonFormat(pattern = "yyyy-MM") + @Excel(name = "月份") + private String month; + /** 报废数量 */ @Excel(name = "报废数量") @ApiModelProperty(value = "报废数量") @@ -56,27 +58,18 @@ public class ScrapTotalListVo { private BigDecimal buyPrice; @ApiModelProperty(value = "报废类型") - @Excel(name = "报废类型") private String scrapStyle; @ApiModelProperty(value = "(1退料2,维修审核,3盘点报废)") private String scrapSource; /** (0自然,1人为) */ - @Excel(name = "损坏类型", readConverterExp = "0=自然损坏,1=人为损坏") private String scrapType; @ApiModelProperty(value = "任务创建人昵称") - @Excel(name = "提交人") private String createName; - @ApiModelProperty(value = "本次审核周期") - @JsonFormat(pattern = "yyyy-MM") - @Excel(name = "本次审核周期") - private String month; - @ApiModelProperty(value = "台账审核状态 0待审核,1已审核,2驳回") - @Excel(name = "状态", readConverterExp = "0=待审核,1=已审核,2=驳回") private String ledgerStatus; } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/scrap/mapper/ScrapApplyDetailsMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/scrap/mapper/ScrapApplyDetailsMapper.java index d516941f..a0852788 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/scrap/mapper/ScrapApplyDetailsMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/scrap/mapper/ScrapApplyDetailsMapper.java @@ -2,9 +2,11 @@ package com.bonus.material.scrap.mapper; import java.util.List; +import com.bonus.material.ma.domain.Type; import com.bonus.material.repair.domain.RepairAuditDetails; import com.bonus.material.repair.domain.RepairRecord; import com.bonus.material.scrap.domain.ScrapApplyDetails; +import com.bonus.material.scrap.domain.vo.ScrapDetailsListVo; import com.bonus.material.scrap.domain.vo.ScrapTaskListVo; import com.bonus.material.scrap.domain.vo.ScrapTotalListVo; import org.apache.ibatis.annotations.Param; @@ -166,4 +168,25 @@ public interface ScrapApplyDetailsMapper { * @return */ int updateTaskStatus(ScrapApplyDetails scrapApplyDetails); + + /** + * 查询报废台账列表 + * @param scrapApplyDetails + * @return + */ + List getScrapList(ScrapApplyDetails scrapApplyDetails); + + /** + * 查询报废台账明细列表 + * @param scrapApplyDetails + * @return + */ + List getScrapDetailsList(ScrapApplyDetails scrapApplyDetails); + + /** + * 查询库存 + * @param typeId + * @return + */ + List selectMaTypeList(Long typeId); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/scrap/service/IScrapApplyDetailsService.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/scrap/service/IScrapApplyDetailsService.java index 3e3a9be5..791209ed 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/scrap/service/IScrapApplyDetailsService.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/scrap/service/IScrapApplyDetailsService.java @@ -4,6 +4,7 @@ import java.util.List; import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.material.scrap.domain.ScrapApplyDetails; +import com.bonus.material.scrap.domain.vo.ScrapDetailsListVo; import com.bonus.material.scrap.domain.vo.ScrapTaskListVo; import com.bonus.material.scrap.domain.vo.ScrapTotalListVo; @@ -149,9 +150,23 @@ public interface IScrapApplyDetailsService { AjaxResult updateList(ScrapApplyDetails scrapApplyDetails); /** - * 盘点报废审核通过 + * 盘点报废审核 * @param scrapApplyDetails * @return */ AjaxResult inventoryApprove(ScrapApplyDetails scrapApplyDetails); + + /** + * 查询报废台账列表 + * @param scrapApplyDetails + * @return + */ + List getScrapList(ScrapApplyDetails scrapApplyDetails); + + /** + * 查询报废台账明细列表 + * @param scrapApplyDetails + * @return + */ + List getScrapDetailsList(ScrapApplyDetails scrapApplyDetails); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/scrap/service/impl/ScrapApplyDetailsServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/scrap/service/impl/ScrapApplyDetailsServiceImpl.java index b83353a1..5868de5b 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/scrap/service/impl/ScrapApplyDetailsServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/scrap/service/impl/ScrapApplyDetailsServiceImpl.java @@ -3,6 +3,7 @@ package com.bonus.material.scrap.service.impl; import java.math.BigDecimal; import java.math.RoundingMode; import java.text.SimpleDateFormat; +import java.util.ArrayList; import java.util.Arrays; import java.util.Date; import java.util.List; @@ -22,6 +23,7 @@ import com.bonus.material.basic.mapper.BmFileInfoMapper; import com.bonus.material.ma.domain.Type; import com.bonus.material.ma.mapper.TypeMapper; import com.bonus.material.scrap.domain.MaCodeInfo; +import com.bonus.material.scrap.domain.vo.ScrapDetailsListVo; import com.bonus.material.scrap.domain.vo.ScrapTaskListVo; import com.bonus.material.scrap.domain.vo.ScrapTotalListVo; import com.bonus.material.task.domain.TmTask; @@ -58,9 +60,6 @@ public class ScrapApplyDetailsServiceImpl implements IScrapApplyDetailsService { @Resource private BmFileInfoMapper fileInfoMapper; - @Resource - private TypeMapper typeMapper; - /** * 查询报废任务详细 * @@ -554,10 +553,6 @@ public class ScrapApplyDetailsServiceImpl implements IScrapApplyDetailsService { return AjaxResult.error("报废详情数据为空!"); } for (ScrapApplyDetails details : scrapApplyDetails.getScrapApplyDetailsList()) { - if (CollectionUtils.isNotEmpty(details.getMaCodeList())) { - details.setStorageNum(details.getMaCodeList().get(0).getStorageNum()); - details.setScrapNum(BigDecimal.valueOf(details.getMaCodeList().size())); - } if (details.getScrapNum().compareTo(details.getStorageNum()) > 0) { return AjaxResult.error("报废数量不能大于库存数量!"); } @@ -594,19 +589,23 @@ public class ScrapApplyDetailsServiceImpl implements IScrapApplyDetailsService { if (CollectionUtils.isNotEmpty(applyDetails.getMaCodeList())) { for (MaCodeInfo maCodeInfo : applyDetails.getMaCodeList()) { applyDetails.setMaId(maCodeInfo.getMaId()); - applyDetails.setTypeId(maCodeInfo.getTypeId()); applyDetails.setScrapNum(BigDecimal.ONE); applyDetails.setStatus(MaMachineStatusEnum.SCRAP_TO_AUDIT.getStatus().toString()); // 更改设备状态 result += scrapApplyDetailsMapper.updateMaStatus(applyDetails); + applyDetails.setStatus("0"); + // 添加【报废详情表】 + result += scrapApplyDetailsMapper.insertScrapApplyDetails(applyDetails); } + } else { + applyDetails.setStatus("0"); + // 添加【报废详情表】 + result += scrapApplyDetailsMapper.insertScrapApplyDetails(applyDetails); } - applyDetails.setStatus("0"); - // 添加【报废详情表】 - result += scrapApplyDetailsMapper.insertScrapApplyDetails(applyDetails); // 更改设备库存 if (CollectionUtils.isNotEmpty(applyDetails.getMaCodeList())) { applyDetails.setScrapNum(BigDecimal.valueOf(applyDetails.getMaCodeList().size())); + applyDetails.setTypeId(applyDetails.getMaCodeList().get(0).getTypeId()); } result += scrapApplyDetailsMapper.updateStorageNum(applyDetails); } @@ -640,7 +639,7 @@ public class ScrapApplyDetailsServiceImpl implements IScrapApplyDetailsService { */ private Long insertScrapTt() { Long newTask = null; - int thisMonthMaxOrder = taskMapper.getMonthMaxOrderByDate(DateUtils.getCurrentYear(), DateUtils.getCurrentMonth(), TmTaskTypeEnum.TM_TASK_PART_SCRAP.getTaskTypeId()); + int thisMonthMaxOrder = taskMapper.getMonthMaxOrderByDate(DateUtils.getCurrentYear(), DateUtils.getCurrentMonth(), TmTaskTypeEnum.TM_TASK_PART_SCRAP.getTaskTypeId(), null); // 生成盘点报废单号 String code = genderBfTaskCode(thisMonthMaxOrder); TmTask tmTask = new TmTask(null, TmTaskTypeEnum.TM_TASK_PART_SCRAP.getTaskTypeId(), RepairInputStatusEnum.INPUT_TASK_NO_FINISHED.getStatus(), @@ -668,9 +667,18 @@ public class ScrapApplyDetailsServiceImpl implements IScrapApplyDetailsService { List list = scrapApplyDetailsMapper.getDetailsList(scrapApplyDetails); if (CollectionUtils.isNotEmpty(list)) { for (ScrapApplyDetails applyDetails : list) { - List maTypes = typeMapper.selectMaTypeList(applyDetails.getTypeId(), " "); + List maTypes = scrapApplyDetailsMapper.selectMaTypeList(applyDetails.getTypeId()); if (CollectionUtils.isNotEmpty(maTypes)) { - applyDetails.setStorageNum(maTypes.get(0).getStorageNum()); + applyDetails.setStorageNum(maTypes.get(0).getStorageNum().add(applyDetails.getScrapNum())); + } + List maCodeList = new ArrayList<>(); + if (StringUtils.isNotBlank(applyDetails.getMaIds())) { + for (String maId : applyDetails.getMaIds().split(",")) { + MaCodeInfo maCodeInfo = new MaCodeInfo(); + maCodeInfo.setMaId(Long.valueOf(maId)); + maCodeList.add(maCodeInfo); + } + applyDetails.setMaCodeList(maCodeList); } } // 查询文件信息 @@ -722,10 +730,6 @@ public class ScrapApplyDetailsServiceImpl implements IScrapApplyDetailsService { return AjaxResult.error("报废详情数据为空!"); } for (ScrapApplyDetails details : scrapApplyDetails.getScrapApplyDetailsList()) { - if (CollectionUtils.isNotEmpty(details.getMaCodeList())) { - details.setStorageNum(details.getMaCodeList().get(0).getStorageNum()); - details.setScrapNum(BigDecimal.valueOf(details.getMaCodeList().size())); - } if (details.getScrapNum().compareTo(details.getStorageNum()) > 0) { return AjaxResult.error("报废数量不能大于库存数量!"); } @@ -760,20 +764,55 @@ public class ScrapApplyDetailsServiceImpl implements IScrapApplyDetailsService { fileInfo.setTaskId(scrapApplyDetails.getTaskId()); fileInfoMapper.deleteBmFileInfoByBizInfo(fileInfo); } + // 根据编辑提交的数据去和编辑前数据作对比,修改maId的状态 + extracted(scrapApplyDetails); result = getScrapResult(scrapApplyDetails, result, scrapApplyDetails.getTaskId()); result = getFileResult(scrapApplyDetails, result, scrapApplyDetails.getTaskId()); if (result > 0) { - return AjaxResult.success("新增成功"); + return AjaxResult.success("修改成功"); } } catch (Exception e) { - log.error("新增失败", e); + log.error("修改失败", e); e.printStackTrace(); } return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), HttpCodeEnum.FAIL.getMsg()); } /** - * 盘点报废审核通过 + * 根据编辑提交的数据去和编辑前数据作对比,修改maId的状态 + * @param scrapApplyDetails + */ + private void extracted(ScrapApplyDetails scrapApplyDetails) { + List detailsList = scrapApplyDetails.getScrapApplyDetailsList(); + for (ScrapApplyDetails details : detailsList) { + if (CollectionUtils.isNotEmpty(details.getMaCodeList())) { + List maIdList = details.getMaCodeList().stream() + .map(MaCodeInfo::getMaId) + .collect(Collectors.toList()); + scrapApplyDetails.setTypeId(details.getTypeId()); + List list1 = scrapApplyDetailsMapper.getDetailsList(scrapApplyDetails); + if (CollectionUtils.isNotEmpty(list1)) { + for (ScrapApplyDetails applyDetails : list1) { + if (StringUtils.isNotBlank(applyDetails.getMaIds())) { + String[] maIds = applyDetails.getMaIds().split(","); + for (String maId : maIds) { + if (!maIdList.contains(Long.parseLong(maId))) { + // 更新设备状态 + ScrapApplyDetails info = new ScrapApplyDetails(); + info.setMaId(Long.parseLong(maId)); + info.setStatus(MaMachineStatusEnum.IN_STORE.getStatus().toString()); + scrapApplyDetailsMapper.updateMaStatus(info); + } + } + } + } + } + } + } + } + + /** + * 盘点报废审核 * @param scrapApplyDetails * @return */ @@ -784,6 +823,7 @@ public class ScrapApplyDetailsServiceImpl implements IScrapApplyDetailsService { } int result = 0; try { + // 根据前端传的status来判断审核通过还是驳回(1 通过 ,2 驳回) for (Long taskId : scrapApplyDetails.getTaskIdList()) { scrapApplyDetails.setTaskId(taskId); result += scrapApplyDetailsMapper.updateTaskStatus(scrapApplyDetails); @@ -798,6 +838,43 @@ public class ScrapApplyDetailsServiceImpl implements IScrapApplyDetailsService { return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), HttpCodeEnum.FAIL.getMsg()); } + /** + * 查询报废台账列表 + * @param scrapApplyDetails + * @return + */ + @Override + public List getScrapList(ScrapApplyDetails scrapApplyDetails) { + return scrapApplyDetailsMapper.getScrapList(scrapApplyDetails); + } + + /** + * 查询报废台账明细列表 + * @param scrapApplyDetails + * @return + */ + @Override + public List getScrapDetailsList(ScrapApplyDetails scrapApplyDetails) { + List list = scrapApplyDetailsMapper.getScrapDetailsList(scrapApplyDetails); + if (CollectionUtils.isNotEmpty(list)) { + for (ScrapDetailsListVo applyDetails : list) { + BigDecimal totalCost = applyDetails.getScrapNum().multiply(applyDetails.getBuyPrice()).divide(new BigDecimal(10000), 2, RoundingMode.HALF_UP); + applyDetails.setTotalCost(totalCost); + if ("2".equals(applyDetails.getScrapSource())) { + applyDetails.setScrapStyle("维修报废"); + } else if ("3".equals(applyDetails.getScrapSource())) { + applyDetails.setScrapStyle("盘点报废"); + } + if ("0".equals(applyDetails.getScrapType())) { + applyDetails.setScrapType("自然损坏"); + } else if ("1".equals(applyDetails.getScrapType())) { + applyDetails.setScrapType("人为损坏"); + } + } + } + return list; + } + /** * 生成报废单号 * @param thisMonthMaxOrder @@ -838,7 +915,7 @@ public class ScrapApplyDetailsServiceImpl implements IScrapApplyDetailsService { */ private Long insertTt(Long preTaskId) { Long newTask = null; - int thisMonthMaxOrder = taskMapper.getMonthMaxOrderByDate(DateUtils.getCurrentYear(), DateUtils.getCurrentMonth(), TmTaskTypeEnum.TM_TASK_REPAIR.getTaskTypeId()); + int thisMonthMaxOrder = taskMapper.getMonthMaxOrderByDate(DateUtils.getCurrentYear(), DateUtils.getCurrentMonth(), TmTaskTypeEnum.TM_TASK_REPAIR.getTaskTypeId(), null); // 生成维修单号 String code = genderWxTaskCode(thisMonthMaxOrder); TmTask tmTask = new TmTask(null, TmTaskTypeEnum.TM_TASK_REPAIR.getTaskTypeId(), RepairTaskStatusEnum.TASK_STATUS_PROCESSING.getStatus(), diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/ma/MachineMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/ma/MachineMapper.xml index e20dfba7..d19a7291 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/ma/MachineMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/ma/MachineMapper.xml @@ -406,7 +406,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" LEFT JOIN ma_type mt1 ON mt.parent_id = mt1.type_id AND mt1.del_flag = '0' WHERE - mt.type_id = #{typeId} + mm.ma_status = '1' and mt.type_id = #{typeId} diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/scrap/ScrapApplyDetailsMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/scrap/ScrapApplyDetailsMapper.xml index cffd49b9..15720511 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/scrap/ScrapApplyDetailsMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/scrap/ScrapApplyDetailsMapper.xml @@ -418,22 +418,23 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" SELECT - sad.CODE AS code, sad.task_id AS taskId, mt.type_id AS typeId, - mt1.type_name AS typeName, - mt.type_name AS typeModelName, + mt1.type_name AS maTypeName, + mt.type_name AS typeName, mt.unit_name AS unitName, SUM(sad.scrap_num) AS scrapNum, GROUP_CONCAT( DISTINCT sad.ma_id ) AS maIds, @@ -470,8 +470,109 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" LEFT JOIN ma_machine mm ON sad.ma_id = mm.ma_id where sad.task_id = #{taskId} + + AND sad.type_id = #{typeId} + + + AND ( + mt1.type_name like concat('%', #{keyWord}, '%') or + mt.type_name like concat('%', #{keyWord}, '%') + ) + GROUP BY sad.type_id + + + + + + \ No newline at end of file