退料接收和维修需求开发

This commit is contained in:
liang.chao 2025-03-08 16:26:19 +08:00
parent 1052d7edb0
commit ea00df8e21
20 changed files with 423 additions and 53 deletions

View File

@ -38,7 +38,9 @@ public class BackApplyInfo extends BaseEntity {
*/ */
@ApiModelProperty(value = "装备管理方式名称") @ApiModelProperty(value = "装备管理方式名称")
private String manageTypeName; private String manageTypeName;
@ApiModelProperty(value = "退料接收文件")
private List<FileInfo> fileList;
private String uid;
/** /**
* 机具管理方式 * 机具管理方式
*/ */
@ -166,7 +168,7 @@ public class BackApplyInfo extends BaseEntity {
private Integer backNum; private Integer backNum;
/** /**
* 退料状态 * 退料状态(1合格2维修3待报废)
*/ */
private String backStatus; private String backStatus;
@ -381,6 +383,12 @@ public class BackApplyInfo extends BaseEntity {
/** 操作后库存 */ /** 操作后库存 */
private int postStoreNum; private int postStoreNum;
/** 维修备注 */
private String repairRemark;
/** 报废备注 */
private String scrapRemark;
/** 报废原因1人为 2自然损坏 */
private Integer scrapReason;
/** 库管员 */ /** 库管员 */
private long userId; private long userId;

View File

@ -0,0 +1,46 @@
package com.bonus.sgzb.base.api.domain;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* @Authorliang.chao
* @Date2025/3/7 - 11:27
*/
@Data
public class FileInfo {
/** $column.columnComment */
private Long id;
/** 模块id */
private Long modelId;
private Integer typeId;
private Integer maId;
/** 文件名称 */
@ApiModelProperty(value = "文件名称")
private String fileName;
/** 文件路径 */
@ApiModelProperty(value = "文件路径")
private String fileUrl;
/** 数据字典 */
@ApiModelProperty(value = "数据字典")
private Long dicId;
/** 创建者 */
private String createBy;
/** 创建时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
private String size;
private String type;
private int words;
private String creator;
private String uid;
}

View File

@ -21,6 +21,7 @@ public enum TaskTypeEnum {
* 报废任务 * 报废任务
*/ */
SCRAP_TASK(57, "报废任务"), SCRAP_TASK(57, "报废任务"),
RETURN_TASK(36, "退料任务"),
//盘点报废 //盘点报废
TM_TASK_PART_SCRAP(141, "盘点报废"); TM_TASK_PART_SCRAP(141, "盘点报废");

View File

@ -221,6 +221,8 @@ public class BackReceiveController extends BaseController {
} }
} }
//@Log(title = "退料接收-结束任务", businessType = BusinessType.MATERIAL) //@Log(title = "退料接收-结束任务", businessType = BusinessType.MATERIAL)
@PreventRepeatSubmit @PreventRepeatSubmit
@PostMapping("endBack") @PostMapping("endBack")
@ -236,6 +238,11 @@ public class BackReceiveController extends BaseController {
throw new RuntimeException(e); throw new RuntimeException(e);
} }
} }
@GetMapping("getPreAuditNum")
public AjaxResult getPreAuditNum(BackApplyInfo record) {
Integer num = backReceiveService.getPreAuditNum(record);
return AjaxResult.success(num);
}
@Log(title = "退料接收-编号查询", businessType = BusinessType.INSERT) @Log(title = "退料接收-编号查询", businessType = BusinessType.INSERT)
@PostMapping("codeQuery") @PostMapping("codeQuery")

View File

@ -2,6 +2,7 @@ package com.bonus.sgzb.app.mapper;
import com.bonus.sgzb.app.domain.TmTask; import com.bonus.sgzb.app.domain.TmTask;
import com.bonus.sgzb.base.api.domain.BackApplyInfo; import com.bonus.sgzb.base.api.domain.BackApplyInfo;
import com.bonus.sgzb.base.api.domain.FileInfo;
import com.bonus.sgzb.base.api.domain.SltAgreementInfo; import com.bonus.sgzb.base.api.domain.SltAgreementInfo;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
@ -204,7 +205,7 @@ public interface BackReceiveMapper {
int selectTaskStatus(int taskId); int selectTaskStatus(int taskId);
BackApplyInfo backReceiveRecordWeb(BackApplyInfo record); List<BackApplyInfo> backReceiveRecordWeb(BackApplyInfo record);
List<BackApplyInfo> getCtList(BackApplyInfo record); List<BackApplyInfo> getCtList(BackApplyInfo record);
@ -213,4 +214,10 @@ public interface BackReceiveMapper {
int finishBackCheckDetails(BackApplyInfo record); int finishBackCheckDetails(BackApplyInfo record);
void updateBackReceiveTime(BackApplyInfo record); void updateBackReceiveTime(BackApplyInfo record);
Integer insertBmFileInfo(FileInfo fileInfo);
Integer deleteFile(BackApplyInfo record);
FileInfo getfileByUid(String uid);
} }

View File

@ -113,4 +113,6 @@ public interface BackReceiveService {
* @return * @return
*/ */
AjaxResult getDetailsReceiveList(BackApplyInfo record); AjaxResult getDetailsReceiveList(BackApplyInfo record);
Integer getPreAuditNum(BackApplyInfo record);
} }

View File

@ -5,10 +5,7 @@ import com.bonus.sgzb.app.domain.TmTask;
import com.bonus.sgzb.app.mapper.BackReceiveMapper; import com.bonus.sgzb.app.mapper.BackReceiveMapper;
import com.bonus.sgzb.app.mapper.TmTaskMapper; import com.bonus.sgzb.app.mapper.TmTaskMapper;
import com.bonus.sgzb.app.service.BackReceiveService; import com.bonus.sgzb.app.service.BackReceiveService;
import com.bonus.sgzb.base.api.domain.BackApplyInfo; import com.bonus.sgzb.base.api.domain.*;
import com.bonus.sgzb.base.api.domain.MaMachine;
import com.bonus.sgzb.base.api.domain.MachinePart;
import com.bonus.sgzb.base.api.domain.SltAgreementInfo;
import com.bonus.sgzb.base.mapper.MaMachineMapper; import com.bonus.sgzb.base.mapper.MaMachineMapper;
import com.bonus.sgzb.base.service.ISysConfigService; import com.bonus.sgzb.base.service.ISysConfigService;
import com.bonus.sgzb.common.core.constant.TaskTypeConstants; import com.bonus.sgzb.common.core.constant.TaskTypeConstants;
@ -17,9 +14,13 @@ import com.bonus.sgzb.common.core.enums.TaskTypeEnum;
import com.bonus.sgzb.common.core.utils.DateUtils; import com.bonus.sgzb.common.core.utils.DateUtils;
import com.bonus.sgzb.common.core.utils.HttpHelper; import com.bonus.sgzb.common.core.utils.HttpHelper;
import com.bonus.sgzb.common.core.web.domain.AjaxResult; import com.bonus.sgzb.common.core.web.domain.AjaxResult;
import com.bonus.sgzb.common.security.utils.SecurityUtils;
import com.bonus.sgzb.material.domain.TypeTreeNode; import com.bonus.sgzb.material.domain.TypeTreeNode;
import com.bonus.sgzb.material.mapper.BackApplyMapper; import com.bonus.sgzb.material.mapper.BackApplyMapper;
import com.bonus.sgzb.material.mapper.ScrapApplyDetailsMapper;
import com.zaxxer.hikari.util.FastList;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@ -51,11 +52,13 @@ public class BackReceiveServiceImpl implements BackReceiveService {
@Resource @Resource
private TmTaskMapper tmTaskMapper; private TmTaskMapper tmTaskMapper;
@Resource
private ScrapApplyDetailsMapper scrapApplyDetailsMapper;
@Autowired @Autowired
private BackApplyMapper backApplyMapper; private BackApplyMapper backApplyMapper;
@Override @Override
public List<BackApplyInfo> getbackReceiveList(BackApplyInfo record) { public List<BackApplyInfo> getbackReceiveList(BackApplyInfo record) {
return backReceiveMapper.getbackReceiveList(record); return backReceiveMapper.getbackReceiveList(record);
@ -154,7 +157,7 @@ public class BackReceiveServiceImpl implements BackReceiveService {
throw new RuntimeException("修改updateTaskStatus异常"); throw new RuntimeException("修改updateTaskStatus异常");
} }
//插入back_check_details //插入back_check_details
res = insertBcd(record); res = insertBcdCode(record);
if (res == 0) { if (res == 0) {
throw new RuntimeException("插入back_check_details异常"); throw new RuntimeException("插入back_check_details异常");
} }
@ -197,6 +200,7 @@ public class BackReceiveServiceImpl implements BackReceiveService {
int maintenanceNum = 0; int maintenanceNum = 0;
int scrapNum = 0; int scrapNum = 0;
record.setTypeId(bai.getTypeId()); record.setTypeId(bai.getTypeId());
//获取库存
int num = backReceiveMapper.getmaChineByCt(record); int num = backReceiveMapper.getmaChineByCt(record);
record.setNum(num); record.setNum(num);
@ -444,12 +448,23 @@ public class BackReceiveServiceImpl implements BackReceiveService {
public List<BackApplyInfo> backReceiveRecordWeb(BackApplyInfo record) { public List<BackApplyInfo> backReceiveRecordWeb(BackApplyInfo record) {
String typeId = record.getTypeId(); String typeId = record.getTypeId();
String[] split = typeId.split(","); String[] split = typeId.split(",");
List<BackApplyInfo> backApplyInfoList = new ArrayList<>(); List<BackApplyInfo> backApplyInfoList = new ArrayList<>();
for (String s : split) { for (String s : split) {
record.setTypeId(s); record.setTypeId(s);
BackApplyInfo backApplyInfo = backReceiveMapper.backReceiveRecordWeb(record); List<BackApplyInfo> backApplyInfo = backReceiveMapper.backReceiveRecordWeb(record);
for (BackApplyInfo applyInfo : backApplyInfo) {
if (StringUtils.isNotBlank(applyInfo.getUid())) {
List<FileInfo> fileList = new ArrayList<>();
for (String uid : applyInfo.getUid().split(",")) {
FileInfo fileInfo = backReceiveMapper.getfileByUid(uid);
fileList.add(fileInfo);
}
applyInfo.setFileList(fileList);
}
}
if (backApplyInfo != null) { if (backApplyInfo != null) {
backApplyInfoList.add(backApplyInfo); backApplyInfoList.addAll(backApplyInfo);
} }
} }
return backApplyInfoList; return backApplyInfoList;
@ -465,8 +480,18 @@ public class BackReceiveServiceImpl implements BackReceiveService {
List<BackApplyInfo> backApplyInfo = backReceiveMapper.backReceiveRecordWebPt(record); List<BackApplyInfo> backApplyInfo = backReceiveMapper.backReceiveRecordWebPt(record);
if (backApplyInfo != null) { if (backApplyInfo != null) {
for (BackApplyInfo applyInfo : backApplyInfo) { for (BackApplyInfo applyInfo : backApplyInfo) {
backApplyInfoList.add(applyInfo); if (StringUtils.isNotBlank(applyInfo.getUid())) {
List<FileInfo> fileList = new ArrayList<>();
for (String uid : applyInfo.getUid().split(",")) {
FileInfo fileInfo = backReceiveMapper.getfileByUid(uid);
fileList.add(fileInfo);
} }
applyInfo.setFileList(fileList);
}
}
}
if (backApplyInfo != null) {
backApplyInfoList.addAll(backApplyInfo);
} }
} }
return backApplyInfoList; return backApplyInfoList;
@ -503,6 +528,7 @@ public class BackReceiveServiceImpl implements BackReceiveService {
/** /**
* 退料接收明细 * 退料接收明细
*
* @param record * @param record
* @return * @return
*/ */
@ -538,6 +564,11 @@ public class BackReceiveServiceImpl implements BackReceiveService {
return AjaxResult.success(backApplyInfo); return AjaxResult.success(backApplyInfo);
} }
@Override
public Integer getPreAuditNum(BackApplyInfo record) {
return backApplyMapper.getPreAuditNum(record);
}
public int insertTt(List<BackApplyInfo> hgList, Integer taskType, String createBy) { public int insertTt(List<BackApplyInfo> hgList, Integer taskType, String createBy) {
int newTask; int newTask;
//生成单号 //生成单号
@ -622,9 +653,70 @@ public class BackReceiveServiceImpl implements BackReceiveService {
private int insertBcd(BackApplyInfo record) { private int insertBcd(BackApplyInfo record) {
int res = 0; int res = 0;
String uid = "";
BackApplyInfo[] arr = record.getArr(); BackApplyInfo[] arr = record.getArr();
List<FileInfo> fileList = record.getFileList();
if (fileList != null) {
for (FileInfo fileInfo : fileList) {
uid += fileInfo.getUid() + ",";
fileInfo.setCreateBy(SecurityUtils.getUsername());
fileInfo.setCreateTime(DateUtils.getNowDate());
fileInfo.setDicId(Long.valueOf(TaskTypeEnum.RETURN_TASK.getCode()));
fileInfo.setModelId(arr[0].getParentId().longValue());
fileInfo.setUid(fileInfo.getUid());
backReceiveMapper.insertBmFileInfo(fileInfo);
}
}
if (arr.length > 0) { if (arr.length > 0) {
for (int i = 0; i < arr.length; i++) { for (int i = 0; i < arr.length; i++) {
arr[i].setUid(uid);
res = backReceiveMapper.insertCheckDetails(arr[i]);
String manageType = arr[i].getManageType();
if ("0".equals(manageType)) {
String backStatus = arr[i].getBackStatus();
int maId = arr[i].getMaId();
if ("1".equals(backStatus)) {
//退料合格状态变为退料带入库84
backReceiveMapper.updateMaStatus(maId, "84");
}
if ("2".equals(backStatus)) {
//退料维修状态变为退料待检修17
backReceiveMapper.updateMaStatus(maId, "17");
}
if ("3".equals(backStatus)) {
//退料待报废状态变为退料待报废20
backReceiveMapper.updateMaStatus(maId, "20");
//在任务表中创建一个报废任务
}
}
}
}
return res;
}
private int insertBcdCode(BackApplyInfo record) {
int res = 0;
BackApplyInfo[] arr = record.getArr();
if (arr.length > 0) {
for (int i = 0; i < arr.length; i++) {
if (arr[i].getFileList() != null) {
String uid = "";
for (FileInfo fileInfo : arr[i].getFileList()) {
uid += fileInfo.getUid() + ",";
fileInfo.setCreateBy(SecurityUtils.getUsername());
fileInfo.setCreateTime(DateUtils.getNowDate());
fileInfo.setDicId(Long.valueOf(TaskTypeEnum.RETURN_TASK.getCode()));
fileInfo.setModelId(arr[i].getParentId().longValue());
fileInfo.setTypeId(Integer.parseInt(arr[i].getTypeId()));
fileInfo.setMaId(arr[i].getMaId());
fileInfo.setUid(fileInfo.getUid());
backReceiveMapper.insertBmFileInfo(fileInfo);
}
arr[i].setUid(uid);
}
res = backReceiveMapper.insertCheckDetails(arr[i]); res = backReceiveMapper.insertCheckDetails(arr[i]);
String manageType = arr[i].getManageType(); String manageType = arr[i].getManageType();
if ("0".equals(manageType)) { if ("0".equals(manageType)) {
@ -654,6 +746,7 @@ public class BackReceiveServiceImpl implements BackReceiveService {
int res = 0; int res = 0;
if (record != null) { if (record != null) {
String manageType = record.getManageType(); String manageType = record.getManageType();
// 编码设备
if ("0".equals(manageType)) { if ("0".equals(manageType)) {
List<Integer> maId = backReceiveMapper.getMaId(record); List<Integer> maId = backReceiveMapper.getMaId(record);
for (Integer s : maId) { for (Integer s : maId) {
@ -661,18 +754,20 @@ public class BackReceiveServiceImpl implements BackReceiveService {
backReceiveMapper.updateMaStatus(s, "16"); backReceiveMapper.updateMaStatus(s, "16");
} }
res = backReceiveMapper.deleteCheckDetails(record); res = backReceiveMapper.deleteCheckDetails(record);
} else if ("2".equals(manageType)) { backReceiveMapper.deleteFile(record);
}/* else if ("2".equals(manageType)) {
String[] split = record.getTypeIds(); String[] split = record.getTypeIds();
for (String s : split) { for (String s : split) {
record.setTypeId(s); record.setTypeId(s);
res = backReceiveMapper.deleteCheckDetails(record); res = backReceiveMapper.deleteCheckDetails(record);
} }
} else { }*/ else {
// 数量设备
res = backReceiveMapper.deleteCheckDetails(record); res = backReceiveMapper.deleteCheckDetails(record);
backReceiveMapper.deleteFile(record);
} }
} }
return res; return res;
} }

View File

@ -21,6 +21,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -113,6 +114,15 @@ public class RepairController extends BaseController {
AjaxResult ajaxResult = service.submitRepairApply(bean); AjaxResult ajaxResult = service.submitRepairApply(bean);
return ajaxResult; return ajaxResult;
} }
/**
* 新增维修记录
*/
@ApiOperation(value = "根据partId和数量查询配件总价")
@GetMapping("/getCostByPidAndNum")
public AjaxResult getCostByPidAndNum(RepairApplyRecord bean) {
BigDecimal cost = service.getCostByPidAndNum(bean);
return AjaxResult.success(cost);
}
/** /**
* 快捷维修记录 * 快捷维修记录

View File

@ -1,5 +1,6 @@
package com.bonus.sgzb.base.domain; package com.bonus.sgzb.base.domain;
import com.bonus.sgzb.base.api.domain.FileInfo;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
@ -91,7 +92,7 @@ public class RepairApplyRecord implements Serializable {
* 配件数量 * 配件数量
*/ */
@ApiModelProperty(value = "配件数量") @ApiModelProperty(value = "配件数量")
private int partNum; private Integer partNum;
/** /**
* 配件单价 * 配件单价
*/ */
@ -112,6 +113,7 @@ public class RepairApplyRecord implements Serializable {
*/ */
@ApiModelProperty(value = "配件名称") @ApiModelProperty(value = "配件名称")
private String partName; private String partName;
private String repairRemark;
/** /**
* 维修人 * 维修人
*/ */
@ -126,4 +128,6 @@ public class RepairApplyRecord implements Serializable {
*/ */
@ApiModelProperty(value = "损坏照片id") @ApiModelProperty(value = "损坏照片id")
private String fileIds; private String fileIds;
private List<FileInfo> fileList;
} }

View File

@ -1,10 +1,12 @@
package com.bonus.sgzb.base.domain; package com.bonus.sgzb.base.domain;
import com.bonus.sgzb.base.api.domain.FileInfo;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.List;
/** /**
* @author c liu * @author c liu
@ -88,6 +90,8 @@ public class RepairPartDetails {
*/ */
@ApiModelProperty(value = "备注") @ApiModelProperty(value = "备注")
private String remark; private String remark;
@ApiModelProperty(value = "维修备注")
private String repairRemark;
/** /**
* 维修内容 * 维修内容
*/ */
@ -95,6 +99,7 @@ public class RepairPartDetails {
private String repairContent; private String repairContent;
private Long companyId; private Long companyId;
private Long repairer; private Long repairer;
private List<FileInfo> fileList;
@ApiModelProperty(value = "维修数量") @ApiModelProperty(value = "维修数量")
private Integer repairNum; private Integer repairNum;
} }

View File

@ -83,6 +83,7 @@ public class RepairTaskDetails {
private String repairer; private String repairer;
private String keyword; private String keyword;
private String typeId; private String typeId;
private String repairRemark;
private Long companyId; private Long companyId;
/** /**
* 任务创建人 * 任务创建人

View File

@ -7,6 +7,7 @@ import com.bonus.sgzb.base.domain.vo.DictVo;
import com.bonus.sgzb.common.core.web.domain.AjaxResult; import com.bonus.sgzb.common.core.web.domain.AjaxResult;
import com.bonus.sgzb.system.api.domain.SysUser; import com.bonus.sgzb.system.api.domain.SysUser;
import java.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -77,4 +78,6 @@ public interface RepairService {
* @return * @return
*/ */
List<RepairTask> exportRepairTaskList(RepairTask bean); List<RepairTask> exportRepairTaskList(RepairTask bean);
BigDecimal getCostByPidAndNum(RepairApplyRecord bean);
} }

View File

@ -1,5 +1,7 @@
package com.bonus.sgzb.base.service.impl; package com.bonus.sgzb.base.service.impl;
import com.bonus.sgzb.app.mapper.BackReceiveMapper;
import com.bonus.sgzb.base.api.domain.FileInfo;
import com.bonus.sgzb.base.domain.RepairApplyRecord; import com.bonus.sgzb.base.domain.RepairApplyRecord;
import com.bonus.sgzb.base.domain.RepairPartDetails; import com.bonus.sgzb.base.domain.RepairPartDetails;
import com.bonus.sgzb.base.domain.RepairTask; import com.bonus.sgzb.base.domain.RepairTask;
@ -8,6 +10,7 @@ import com.bonus.sgzb.base.domain.vo.DictVo;
import com.bonus.sgzb.base.mapper.RepairMapper; import com.bonus.sgzb.base.mapper.RepairMapper;
import com.bonus.sgzb.base.service.RepairService; import com.bonus.sgzb.base.service.RepairService;
import com.bonus.sgzb.common.core.exception.ServiceException; import com.bonus.sgzb.common.core.exception.ServiceException;
import com.bonus.sgzb.common.core.utils.DateUtils;
import com.bonus.sgzb.common.core.web.domain.AjaxResult; import com.bonus.sgzb.common.core.web.domain.AjaxResult;
import com.bonus.sgzb.common.security.utils.SecurityUtils; import com.bonus.sgzb.common.security.utils.SecurityUtils;
import com.bonus.sgzb.material.domain.TmTask; import com.bonus.sgzb.material.domain.TmTask;
@ -19,6 +22,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -34,6 +38,9 @@ public class RepairServiceImpl implements RepairService {
@Autowired @Autowired
private TaskMapper taskMapper; private TaskMapper taskMapper;
@Autowired
private BackReceiveMapper backReceiveMapper;
@Override @Override
public List<RepairTask> getRepairTaskList(RepairTask bean) { public List<RepairTask> getRepairTaskList(RepairTask bean) {
@ -46,6 +53,13 @@ public class RepairServiceImpl implements RepairService {
return mapper.exportRepairTaskList(bean); return mapper.exportRepairTaskList(bean);
} }
@Override
public BigDecimal getCostByPidAndNum(RepairApplyRecord bean) {
BigDecimal partPrice = mapper.selectPartPrice(bean.getPartId().longValue());
BigDecimal cost = partPrice.multiply(new BigDecimal(bean.getPartNum())).setScale(2, RoundingMode.HALF_UP);
return cost;
}
@Override @Override
public List<RepairTaskDetails> getRepairMaTypeList(RepairTaskDetails bean) { public List<RepairTaskDetails> getRepairMaTypeList(RepairTaskDetails bean) {
Long companyId = SecurityUtils.getLoginUser().getSysUser().getCompanyId(); Long companyId = SecurityUtils.getLoginUser().getSysUser().getCompanyId();
@ -133,17 +147,35 @@ public class RepairServiceImpl implements RepairService {
bean.setPartNum(partDetails.getPartNum()); bean.setPartNum(partDetails.getPartNum());
bean.setRepairContent(partDetails.getRepairContent()); bean.setRepairContent(partDetails.getRepairContent());
bean.setPartType(partDetails.getPartType()); bean.setPartType(partDetails.getPartType());
bean.setPartType(partDetails.getPartType());
bean.setRepairRemark(partDetails.getRepairRemark());
mapper.addRecord(bean); mapper.addRecord(bean);
} else { } else {
// 不选维修配件时 // 不选维修配件时
bean.setRepairRemark(partDetails.getRepairRemark());
mapper.addRecord(bean); mapper.addRecord(bean);
} }
//文件上传新增
if (partDetails.getFileList() != null){
for (FileInfo fileInfo : partDetails.getFileList()) {
fileInfo.setModelId(bean.getId());
fileInfo.setTypeId(Integer.parseInt(bean.getTypeId()));
if (bean.getMaId() != null){
fileInfo.setMaId(Integer.parseInt(bean.getMaId()));
}
fileInfo.setCreateBy(SecurityUtils.getLoginUser().getUserid().toString());
fileInfo.setCreateTime(DateUtils.getNowDate());
backReceiveMapper.insertBmFileInfo(fileInfo);
}
}
} }
} }
if (fcType.equals(bean.getRepairType())) { if (fcType.equals(bean.getRepairType())) {
bean.setPartName(partList.get(0).getPartName()); bean.setPartName(partList.get(0).getPartName());
bean.setPartType(partList.get(0).getPartType()); bean.setPartType(partList.get(0).getPartType());
bean.setRepairContent(partList.get(0).getRepairContent()); bean.setRepairContent(partList.get(0).getRepairContent());
bean.setRepairRemark(partList.get(0).getRepairRemark());
if (partList.get(0).getSupplierId() == null) { if (partList.get(0).getSupplierId() == null) {
throw new ServiceException("请选择返厂厂家"); throw new ServiceException("请选择返厂厂家");
} else { } else {
@ -156,6 +188,19 @@ public class RepairServiceImpl implements RepairService {
} }
bean.setPartNum(partList.get(0).getPartNum()); bean.setPartNum(partList.get(0).getPartNum());
mapper.addRecord(bean); mapper.addRecord(bean);
List<FileInfo> fileList = partList.get(0).getFileList();
if (fileList != null){
for (FileInfo fileInfo : fileList) {
fileInfo.setModelId(bean.getId());
fileInfo.setTypeId(Integer.parseInt(bean.getTypeId()));
if (bean.getMaId() != null){
fileInfo.setMaId(Integer.parseInt(bean.getMaId()));
}
fileInfo.setCreateBy(SecurityUtils.getLoginUser().getUserid().toString());
fileInfo.setCreateTime(DateUtils.getNowDate());
backReceiveMapper.insertBmFileInfo(fileInfo);
}
}
} }
for (RepairPartDetails partDetails : partList) { for (RepairPartDetails partDetails : partList) {
if (partDetails.getPartCost() != null) { if (partDetails.getPartCost() != null) {
@ -171,6 +216,17 @@ public class RepairServiceImpl implements RepairService {
} else { } else {
// 新增预报废记录 // 新增预报废记录
mapper.addRecord(bean); mapper.addRecord(bean);
List<FileInfo> fileList = bean.getFileList();
if (fileList != null){
for (FileInfo fileInfo : fileList) {
fileInfo.setModelId(bean.getId());
fileInfo.setTypeId(Integer.parseInt(bean.getTypeId()));
fileInfo.setMaId(Integer.parseInt(bean.getMaId()));
fileInfo.setCreateBy(SecurityUtils.getLoginUser().getUserid().toString());
fileInfo.setCreateTime(DateUtils.getNowDate());
backReceiveMapper.insertBmFileInfo(fileInfo);
}
}
} }
return AjaxResult.success(); return AjaxResult.success();
} }

View File

@ -131,7 +131,7 @@ public class BackApplyController extends BaseController {
/** /**
* 退料审核详情-不带分页 * 退料审核详情-不带分页
*/ */
@ApiOperation(value = "退料审核(审批/退料单)") @ApiOperation(value = "退料审核(退料单)")
@GetMapping("/materialReturnNoteByExamine") @GetMapping("/materialReturnNoteByExamine")
@RequiresPermissions("return:receive:list") @RequiresPermissions("return:receive:list")
public AjaxResult materialReturnNoteByExamine(BackApplyInfo bean) { public AjaxResult materialReturnNoteByExamine(BackApplyInfo bean) {

View File

@ -194,4 +194,8 @@ public interface BackApplyMapper {
* @return * @return
*/ */
BackApplyInfo selectCheckDetailsById(BackApplyInfo backApplyDetail); BackApplyInfo selectCheckDetailsById(BackApplyInfo backApplyDetail);
List<BackApplyInfo> getBackCheckView(BackApplyInfo bean);
Integer getPreAuditNum(BackApplyInfo record);
} }

View File

@ -175,16 +175,17 @@ public class BackApplyServiceImpl implements BackApplyService {
@Override @Override
public List<BackApplyInfo> getView(BackApplyInfo bean) { public List<BackApplyInfo> getView(BackApplyInfo bean) {
Long companyId = SecurityUtils.getLoginUser().getSysUser().getCompanyId(); Long companyId = SecurityUtils.getLoginUser().getSysUser().getCompanyId();
if (StringUtils.isNotEmpty(bean.getBadId())) { /* if (StringUtils.isNotEmpty(bean.getBadId())) {
String badId = bean.getBadId(); String badId = bean.getBadId();
String[] split = badId.split(","); String[] split = badId.split(",");
bean.setSplit(split); bean.setSplit(split);
} }*/
if (companyId != null) { if (companyId != null) {
bean.setCompanyId(companyId.toString()); bean.setCompanyId(companyId.toString());
} }
List<BackApplyInfo> view = backApplyMapper.getView(bean); // List<BackApplyInfo> view = backApplyMapper.getView(bean);
// return getMaTypeDetails(view); // return getMaTypeDetails(view);
List<BackApplyInfo> view = backApplyMapper.getBackCheckView(bean);
return view; return view;
} }

View File

@ -246,6 +246,9 @@
<if test="id != null"> <if test="id != null">
back_id, back_id,
</if> </if>
<if test="repairRemark != null and repairRemark != ''">
repair_remark,
</if>
create_time create_time
) )
values ( values (
@ -280,6 +283,9 @@
<if test="id != null"> <if test="id != null">
#{id}, #{id},
</if> </if>
<if test="repairRemark != null and repairRemark != ''">
#{repairRemark},
</if>
NOW() NOW()
) )
</insert> </insert>
@ -315,6 +321,18 @@
<if test="companyId != null"> <if test="companyId != null">
company_id, company_id,
</if> </if>
<if test="repairRemark != null and repairRemark != ''">
repair_remark,
</if>
<if test="scrapRemark != null and scrapRemark != ''">
scrap_remark,
</if>
<if test="scrapReason != null">
scrap_reason,
</if>
<if test="uid != null and uid != ''">
uid,
</if>
create_time create_time
) )
values ( values (
@ -346,6 +364,18 @@
<if test="companyId != null"> <if test="companyId != null">
#{companyId}, #{companyId},
</if> </if>
<if test="repairRemark != null and repairRemark != ''">
#{repairRemark},
</if>
<if test="scrapRemark != null and scrapRemark != ''">
#{scrapRemark},
</if>
<if test="scrapReason != null">
#{scrapReason},
</if>
<if test="uid != null and uid != ''">
#{uid},
</if>
NOW() NOW()
) )
</insert> </insert>
@ -545,6 +575,31 @@
insert into slt_agreement_info (agreement_id,type_id,ma_id,num,start_time,status,lease_id,lease_price,buy_price,is_slt,company_id,lease_type,create_time) insert into slt_agreement_info (agreement_id,type_id,ma_id,num,start_time,status,lease_id,lease_price,buy_price,is_slt,company_id,lease_type,create_time)
values (#{info.agreementId},#{info.typeId},#{info.maId},#{many},#{info.startTime},#{info.status},#{info.leaseId},#{info.leasePrice},#{info.buyPrice},'0',#{info.companyId},#{info.leaseType},now()); values (#{info.agreementId},#{info.typeId},#{info.maId},#{many},#{info.startTime},#{info.status},#{info.leaseId},#{info.leasePrice},#{info.buyPrice},'0',#{info.companyId},#{info.leaseType},now());
</insert> </insert>
<insert id="insertBmFileInfo">
insert into sys_file_info
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="modelId != null">model_id,</if>
<if test="fileName != null">file_name,</if>
<if test="fileUrl != null">file_url,</if>
<if test="dicId != null">dic_id,</if>
<if test="typeId != null">type_id,</if>
<if test="maId != null">ma_id,</if>
<if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if>
<if test="uid != null and uid != ''" >uid,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="modelId != null">#{modelId},</if>
<if test="fileName != null">#{fileName},</if>
<if test="fileUrl != null">#{fileUrl},</if>
<if test="dicId != null">#{dicId},</if>
<if test="typeId != null">#{typeId},</if>
<if test="maId != null">#{maId},</if>
<if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if>
<if test="uid != null and uid != ''" >#{uid},</if>
</trim>
</insert>
<update id="updateTaskStatus"> <update id="updateTaskStatus">
@ -596,6 +651,12 @@
and ma_id = #{maId} and ma_id = #{maId}
</if> </if>
</delete> </delete>
<delete id="deleteFile">
delete from sys_file_info where model_id = #{parentId} and dic_id = 36 and type_id = #{typeId}
<if test="maId != null">
and ma_id = #{maId}
</if>
</delete>
<select id="getbackReceiveList" resultType="com.bonus.sgzb.base.api.domain.BackApplyInfo"> <select id="getbackReceiveList" resultType="com.bonus.sgzb.base.api.domain.BackApplyInfo">
SELECT SELECT
@ -846,6 +907,7 @@
bcd.parent_id as parentId, bcd.parent_id as parentId,
bcd.create_by as createBy, bcd.create_by as createBy,
bcd.ma_id as maId, bcd.ma_id as maId,
bcd.repair_remark as repairRemark,
bai.company_id as companyId bai.company_id as companyId
FROM FROM
back_check_details bcd back_check_details bcd
@ -1085,13 +1147,16 @@
SELECT SELECT
mt2.type_name AS typeName, mt2.type_name AS typeName,
mt1.type_name AS typeCode, mt1.type_name AS typeCode,
ifnull(sum( bcd.back_num ), 0) AS backNum, CASE WHEN bcd.back_status = 1 THEN bcd.back_num ELSE 0 END AS hgNum,
SUM( CASE WHEN bcd.back_status = 1 THEN bcd.back_num ELSE 0 END ) AS hgNum, CASE WHEN bcd.back_status = 2 THEN bcd.back_num ELSE 0 END AS wxNum,
SUM( CASE WHEN bcd.back_status = 2 THEN bcd.back_num ELSE 0 END ) AS wxNum, CASE WHEN bcd.back_status = 3 THEN bcd.back_num ELSE 0 END AS bfNum,
SUM( CASE WHEN bcd.back_status = 3 THEN bcd.back_num ELSE 0 END ) AS bfNum,
mm.ma_code AS maCode, mm.ma_code AS maCode,
bcd.create_time AS backTime, bcd.create_time AS backTime,
bcd.type_id as modelId, bcd.type_id as modelId,
bcd.repair_remark AS repairRemark,
bcd.scrap_remark AS scrapRemark,
bcd.scrap_reason AS scrapReason,
bcd.uid as uid,
bcd.back_status AS backStatus bcd.back_status AS backStatus
FROM FROM
back_check_details bcd back_check_details bcd
@ -1101,11 +1166,6 @@
WHERE WHERE
bcd.parent_id = #{parentId} bcd.parent_id = #{parentId}
AND bcd.type_id = #{typeId} AND bcd.type_id = #{typeId}
<if test="maCode != null and maCode != ''">
and mm.ma_code like concat('%', #{maCode}, '%')
</if>
GROUP BY
bcd.type_id
ORDER BY ORDER BY
bcd.create_time DESC bcd.create_time DESC
</select> </select>
@ -1128,6 +1188,10 @@
mm.ma_code AS maCode, mm.ma_code AS maCode,
bcd.create_time AS backTime, bcd.create_time AS backTime,
bcd.type_id AS modelId, bcd.type_id AS modelId,
bcd.repair_remark AS repairRemark,
bcd.scrap_remark AS scrapRemark,
bcd.scrap_reason AS scrapReason,
bcd.uid as uid,
bcd.back_status AS backStatus bcd.back_status AS backStatus
FROM FROM
back_check_details bcd back_check_details bcd
@ -1143,5 +1207,8 @@
ORDER BY ORDER BY
bcd.create_time DESC bcd.create_time DESC
</select> </select>
<select id="getfileByUid" resultType="com.bonus.sgzb.base.api.domain.FileInfo">
select * from sys_file_info where uid = #{uid}
</select>
</mapper> </mapper>

View File

@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8" ?> <?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.bonus.sgzb.base.mapper.RepairMapper"> <mapper namespace="com.bonus.sgzb.base.mapper.RepairMapper">
<insert id="addRecord"> <insert id="addRecord" keyColumn="id" keyProperty="id" useGeneratedKeys="true" >
insert into repair_apply_record (task_id,ma_id,type_id,repair_num,scrap_num,repair_type,create_by,create_time,repair_content,company_id,scrap_reason,scrap_type,supplier_id,part_num,part_price,part_type,part_name,repairer,file_ids,remark,part_id) insert into repair_apply_record (task_id,ma_id,type_id,repair_num,scrap_num,repair_type,create_by,create_time,repair_content,company_id,scrap_reason,scrap_type,supplier_id,part_num,part_price,part_type,part_name,repairer,file_ids,remark,part_id,repair_remark)
values (#{taskId},#{maId},#{typeId},#{repairNum},#{scrapNum},#{repairType},#{createBy},now(),#{repairContent},#{companyId},#{scrapReason},#{scrapType},#{supplierId},#{partNum},#{partPrice},#{partType},#{partName},#{repairer},#{fileIds},#{remark},#{partId}); values (#{taskId},#{maId},#{typeId},#{repairNum},#{scrapNum},#{repairType},#{createBy},now(),#{repairContent},#{companyId},#{scrapReason},#{scrapType},#{supplierId},#{partNum},#{partPrice},#{partType},#{partName},#{repairer},#{fileIds},#{remark},#{partId},#{repairRemark});
</insert> </insert>
<insert id="addPart"> <insert id="addPart">
insert into repair_part_details (task_id,ma_id,type_id,part_id,part_num,part_cost,part_type,create_by,create_time,company_id,repair_content) insert into repair_part_details (task_id,ma_id,type_id,part_id,part_num,part_cost,part_type,create_by,create_time,company_id,repair_content)
@ -197,6 +197,7 @@
mm.ma_code as code, mm.ma_code as code,
rad.repair_num as repairNum, rad.repair_num as repairNum,
rad.repaired_num as repairedNum, rad.repaired_num as repairedNum,
rad.repair_remark as repairRemark,
rad.scrap_num as scrapNum, rad.scrap_num as scrapNum,
rad.status as status, rad.status as status,
su.nick_name as repairer, su.nick_name as repairer,

View File

@ -1046,4 +1046,56 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
parent_id, parent_id,
type_id type_id
</select> </select>
<select id="getBackCheckView" resultType="com.bonus.sgzb.base.api.domain.BackApplyInfo">
SELECT
bai.back_person AS backPerson,
bai.phone AS phone,
bai.back_time as backTime,
lot.lot_name AS lotName,
unit.unit_name AS unitName,
mt.type_name typeCode,
mt.manage_type as manageType,
mt2.type_name AS typeName,
bagi.agreement_code as agreementCode,
CASE WHEN bad.back_status = 1 THEN '合格'
WHEN bad.back_status = 2 THEN '维修'
WHEN bad.back_status = 3 THEN '待报废'
ELSE '' END AS backStatus,
CASE WHEN bad.back_status = 1 THEN ''
WHEN bad.back_status = 2 THEN bad.repair_remark
WHEN bad.back_status = 3 THEN bad.scrap_remark END AS remark,
bad.scrap_reason,
bad.type_id as typeId,
bad.back_num AS num
FROM
back_check_details bad
LEFT JOIN back_apply_info bai ON bai.id = bad.parent_id
LEFT JOIN tm_task tt on bai.task_id = tt.task_id
LEFT JOIN tm_task_agreement tta ON tta.task_id = bai.task_id
LEFT JOIN bm_agreement_info bagi ON bagi.agreement_id = tta.agreement_id
LEFT JOIN bm_project_lot lot ON lot.lot_id = bagi.project_id
LEFT JOIN bm_unit_info unit ON unit.unit_id = bagi.unit_id
LEFT JOIN ma_type mt ON mt.type_id = bad.type_id
LEFT JOIN ma_type mt1 ON mt1.type_id = bad.type_id
LEFT JOIN ma_type mt2 ON mt2.type_id = mt1.parent_id
LEFT JOIN ma_type mt3 ON mt3.type_id = mt2.parent_id
LEFT JOIN ma_type mt4 ON mt4.type_id = mt3.parent_id
WHERE
bai.task_id = #{taskId}
<if test="companyId != null and companyId != ''">
and bai.company_id = #{companyId}
</if>
</select>
<select id="getPreAuditNum" resultType="java.lang.Integer">
SELECT
ifnull(sum(bad.pre_num),0)
FROM
back_apply_details bad
LEFT JOIN back_apply_info bai ON bad.parent_id = bai.id
LEFT JOIN tm_task tt ON tt.task_id = bai.task_id
LEFT JOIN tm_task_agreement tta ON tta.task_id = tt.task_id
LEFT JOIN bm_agreement_info bb ON tta.agreement_id = bb.agreement_id
WHERE
tta.agreement_id = #{agreementId} and bad.type_id =#{typeId} and tt.task_status != 40
</select>
</mapper> </mapper>

View File

@ -230,7 +230,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
LEFT JOIN ma_type mt1 ON mt.parent_id = mt1.type_id LEFT JOIN ma_type mt1 ON mt.parent_id = mt1.type_id
LEFT JOIN ma_part_type mpt ON rar.part_id = mpt.pa_id LEFT JOIN ma_part_type mpt ON rar.part_id = mpt.pa_id
LEFT JOIN ma_part_type mpt2 ON mpt.parent_id = mpt2.pa_id LEFT JOIN ma_part_type mpt2 ON mpt.parent_id = mpt2.pa_id
where rar.repair_type in (1,2) and rar.part_num != 0 and rar.status = 1 where rar.repair_type in (1,2) and rar.part_num != 0 and rar.status = 1 and rar.part_type = 1
<if test="taskList != null and taskList.size() > 0"> <if test="taskList != null and taskList.size() > 0">
and rar.task_id in and rar.task_id in
<foreach item="task" collection="taskList" open="(" separator="," close=")"> <foreach item="task" collection="taskList" open="(" separator="," close=")">