设备维保返厂维修

This commit is contained in:
hongchao 2025-08-19 09:22:41 +08:00
parent 964a5a8c90
commit f371afe246
5 changed files with 287 additions and 67 deletions

View File

@ -136,4 +136,6 @@ public class EquipmentRecord implements Serializable {
private String auditBy;
private String repairerName;
private Integer repairType;
}

View File

@ -54,7 +54,7 @@ public class EquipmentTask {
* 维保状态
*/
@ApiModelProperty(value = "维保状态")
@Excel(name = "维保状态",sort = 7,readConverterExp = "0=待提交,1=已提交")
@Excel(name = "维保状态",sort = 8,readConverterExp = "0=待提交,1=已提交")
private Integer repairStatus;
/**
* 关键字
@ -126,5 +126,7 @@ public class EquipmentTask {
@ApiModelProperty(value = "userId")
private Long userId;
@ApiModelProperty(value = "repairType")
@Excel(name = "维修类型",sort = 7,readConverterExp = "1=内部维修,2=返厂维修")
private Integer repairType;
}

View File

@ -89,12 +89,15 @@ public class EquipmentToRepairServiceImpl implements EquipmentToRepairService {
}
//如果是编码维修
if(bean.getManageType()==0){ //编码管理
switch (bean.getRepairType()) {
case 1: {
//插入到equipment_record表
EquipmentRecord beanTemp = new EquipmentRecord();
beanTemp.setTypeId(bean.getTypeId());
beanTemp.setMaId(bean.getMaId());
beanTemp.setRepairNum(1);
beanTemp.setRepairStatus(0);
beanTemp.setRepairType(1);
beanTemp.setCreateBy(bean.getRepairer());
beanTemp.setRepairer(bean.getRepairer());
beanTemp.setRepairTime(bean.getUpdateTime());
@ -128,11 +131,11 @@ public class EquipmentToRepairServiceImpl implements EquipmentToRepairService {
mapper.addEquipmentDetailsNew(beanTempTwo);
//文件上传新增
if (partDetails.getFileList() != null){
if (partDetails.getFileList() != null) {
for (FileInfo fileInfo : partDetails.getFileList()) {
fileInfo.setModelId(beanTempTwo.getId());
fileInfo.setTypeId(Integer.parseInt(bean.getTypeId()));
if (bean.getMaId() != null){
if (bean.getMaId() != null) {
fileInfo.setMaId(Integer.parseInt(bean.getMaId()));
}
fileInfo.setCreateBy(SecurityUtils.getLoginUser().getUserid().toString());
@ -141,7 +144,7 @@ public class EquipmentToRepairServiceImpl implements EquipmentToRepairService {
backReceiveMapper.insertBmFileInfo(fileInfo);
}
}
}else{
} else {
partDetails.setMaId(bean.getMaId());
partDetails.setTypeId(bean.getTypeId());
partDetails.setCreateBy(loginUser.getUserid());
@ -163,8 +166,61 @@ public class EquipmentToRepairServiceImpl implements EquipmentToRepairService {
}
}
break;
}
case 2:{
//插入到equipment_record表
EquipmentRecord beanTemp = new EquipmentRecord();
beanTemp.setTypeId(bean.getTypeId());
beanTemp.setMaId(bean.getMaId());
beanTemp.setRepairNum(1);
beanTemp.setRepairStatus(0);
beanTemp.setRepairType(2);
beanTemp.setCreateBy(loginUser.getUserid());
beanTemp.setRepairer(loginUser.getUserid());
beanTemp.setRepairTime(bean.getUpdateTime());
mapper.addEquipmentNew(beanTemp);
}else{ //数量管理
//插入到details表
if (partList != null && partList.size() > 0) {
EquipmentPartDetails beanTempTwo = new EquipmentPartDetails();
beanTempTwo.setTypeId(bean.getTypeId());
beanTempTwo.setMaId(bean.getMaId());
beanTempTwo.setParentId(beanTemp.getId());
beanTempTwo.setPartName(partList.get(0).getPartName());
beanTempTwo.setPartNum(partList.get(0).getPartNum());
beanTempTwo.setRepairContent(partList.get(0).getRepairContent());
beanTempTwo.setRepairContentBefore(partList.get(0).getRepairContentBefore());
beanTempTwo.setRepairRemark(partList.get(0).getRepairRemark());
beanTempTwo.setCreateBy(loginUser.getUserid());
mapper.addEquipmentDetailsNew(beanTempTwo);
List<FileInfo> fileList = partList.get(0).getFileList();
//文件上传新增
if (fileList != null) {
for (FileInfo fileInfo : fileList) {
fileInfo.setModelId(beanTempTwo.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());
fileInfo.setRepairStatus(2);
backReceiveMapper.insertBmFileInfo(fileInfo);
}
}
}
break;
}
default:
break;
}
}else{ //数量管理
switch (bean.getRepairType()) {
case 1: {
//插入到equipment_record表
EquipmentRecord beanTemp = new EquipmentRecord();
beanTemp.setTypeId(bean.getTypeId());
@ -237,9 +293,56 @@ public class EquipmentToRepairServiceImpl implements EquipmentToRepairService {
}
}
break;
}
case 2:{
//插入到equipment_record表
EquipmentRecord beanTemp = new EquipmentRecord();
beanTemp.setTypeId(bean.getTypeId());
beanTemp.setRepairNum(bean.getRepairNum());
beanTemp.setRepairStatus(0);
beanTemp.setRepairType(2);
beanTemp.setCreateBy(loginUser.getUserid());
beanTemp.setRepairer(loginUser.getUserid());
beanTemp.setRepairTime(bean.getUpdateTime());
mapper.addEquipmentNew(beanTemp);
//插入到details表
if (partList != null && partList.size() > 0) {
EquipmentPartDetails beanTempTwo = new EquipmentPartDetails();
beanTempTwo.setTypeId(bean.getTypeId());
beanTempTwo.setParentId(beanTemp.getId());
beanTempTwo.setPartName(partList.get(0).getPartName());
beanTempTwo.setPartNum(partList.get(0).getPartNum());
beanTempTwo.setRepairContent(partList.get(0).getRepairContent());
beanTempTwo.setRepairContentBefore(partList.get(0).getRepairContentBefore());
beanTempTwo.setRepairRemark(partList.get(0).getRepairRemark());
beanTempTwo.setCreateBy(loginUser.getUserid());
mapper.addEquipmentDetailsNew(beanTempTwo);
List<FileInfo> fileList = partList.get(0).getFileList();
//文件上传新增
if (fileList != null) {
for (FileInfo fileInfo : fileList) {
fileInfo.setModelId(beanTempTwo.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());
fileInfo.setRepairStatus(2);
backReceiveMapper.insertBmFileInfo(fileInfo);
}
}
}
break;
}
default:
break;
}
}
return AjaxResult.success();
@ -305,47 +408,117 @@ public class EquipmentToRepairServiceImpl implements EquipmentToRepairService {
}
//如果是编码维修
if (bean.getManageType() == 0) { //编码管理
//插入到equipment_record表
EquipmentRecord beanTemp = new EquipmentRecord();
beanTemp.setId(bean.getId());
beanTemp.setTypeId(bean.getTypeId());
beanTemp.setMaId(bean.getMaId());
beanTemp.setRepairNum(1);
beanTemp.setRepairStatus(0);
beanTemp.setCreateBy(bean.getRepairer());
beanTemp.setRepairer(bean.getRepairer());
beanTemp.setRepairTime(bean.getUpdateTime());
mapper.editEquipmentNew(beanTemp);
switch (bean.getRepairType()) {
case 1: {
//插入到equipment_record表
EquipmentRecord beanTemp = new EquipmentRecord();
beanTemp.setId(bean.getId());
beanTemp.setTypeId(bean.getTypeId());
beanTemp.setMaId(bean.getMaId());
beanTemp.setRepairNum(1);
beanTemp.setRepairStatus(0);
beanTemp.setRepairType(1);
beanTemp.setCreateBy(bean.getRepairer());
beanTemp.setRepairer(bean.getRepairer());
beanTemp.setRepairTime(bean.getUpdateTime());
mapper.editEquipmentNew(beanTemp);
//插入到details表
if (partList != null && partList.size() > 0) {
for (EquipmentPartDetails partDetails : partList) {
if (partDetails.getPartId() != null) {
// 有维修配件时
if (partDetails.getPartCost() == null) {
partDetails.setPartCost(new BigDecimal(0));
}
partDetails.setMaId(bean.getMaId());
partDetails.setTypeId(bean.getTypeId());
partDetails.setCreateBy(loginUser.getUserid());
EquipmentPartDetails beanTempTwo = new EquipmentPartDetails();
beanTempTwo.setTypeId(bean.getTypeId());
beanTempTwo.setParentId(beanTemp.getId());
beanTempTwo.setPartId(partDetails.getPartId());
beanTempTwo.setPartPrice(partDetails.getPartCost());
beanTempTwo.setPartNum(partDetails.getPartNum());
beanTempTwo.setRepairContent(partDetails.getRepairContent());
beanTempTwo.setRepairContentBefore(partDetails.getRepairContentBefore());
beanTempTwo.setRepairRemark(partDetails.getRepairRemark());
beanTempTwo.setPartChange(partDetails.getPartChange());
beanTempTwo.setPartChangeNum(partDetails.getPartChangeNum());
beanTempTwo.setCreateBy(loginUser.getUserid());
mapper.addEquipmentDetailsNew(beanTempTwo);
//文件上传新增
if (partDetails.getFileList() != null) {
for (FileInfo fileInfo : partDetails.getFileList()) {
fileInfo.setModelId(beanTempTwo.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());
fileInfo.setRepairStatus(2);
backReceiveMapper.insertBmFileInfo(fileInfo);
}
}
} else {
partDetails.setMaId(bean.getMaId());
partDetails.setTypeId(bean.getTypeId());
partDetails.setCreateBy(loginUser.getUserid());
EquipmentPartDetails beanTempTwo = new EquipmentPartDetails();
beanTempTwo.setTypeId(bean.getTypeId());
beanTempTwo.setParentId(beanTemp.getId());
beanTempTwo.setPartId(null);
beanTempTwo.setPartPrice(null);
beanTempTwo.setPartNum(null);
beanTempTwo.setRepairContent(partDetails.getRepairContent());
beanTempTwo.setRepairContentBefore(partDetails.getRepairContentBefore());
beanTempTwo.setRepairRemark(partDetails.getRepairRemark());
beanTempTwo.setPartChange(null);
beanTempTwo.setPartChangeNum(null);
beanTempTwo.setCreateBy(loginUser.getUserid());
mapper.addEquipmentDetailsNew(beanTempTwo);
}
//插入到details表
if (partList != null && partList.size() > 0) {
for (EquipmentPartDetails partDetails : partList) {
if (partDetails.getPartId() != null) {
// 有维修配件时
if (partDetails.getPartCost() == null) {
partDetails.setPartCost(new BigDecimal(0));
}
partDetails.setMaId(bean.getMaId());
partDetails.setTypeId(bean.getTypeId());
partDetails.setCreateBy(loginUser.getUserid());
}
break;
}
case 2:{
//插入到equipment_record表
EquipmentRecord beanTemp = new EquipmentRecord();
beanTemp.setId(bean.getId());
beanTemp.setTypeId(bean.getTypeId());
beanTemp.setMaId(bean.getMaId());
beanTemp.setRepairNum(1);
beanTemp.setRepairStatus(0);
beanTemp.setRepairType(2);
beanTemp.setCreateBy(loginUser.getUserid());
beanTemp.setRepairer(loginUser.getUserid());
beanTemp.setRepairTime(bean.getUpdateTime());
mapper.editEquipmentNew(beanTemp);
//插入到details表
if (partList != null && partList.size() > 0) {
EquipmentPartDetails beanTempTwo = new EquipmentPartDetails();
beanTempTwo.setTypeId(bean.getTypeId());
beanTempTwo.setMaId(bean.getMaId());
beanTempTwo.setParentId(beanTemp.getId());
beanTempTwo.setPartId(partDetails.getPartId());
beanTempTwo.setPartPrice(partDetails.getPartCost());
beanTempTwo.setPartNum(partDetails.getPartNum());
beanTempTwo.setRepairContent(partDetails.getRepairContent());
beanTempTwo.setRepairContentBefore(partDetails.getRepairContentBefore());
beanTempTwo.setRepairRemark(partDetails.getRepairRemark());
beanTempTwo.setPartChange(partDetails.getPartChange());
beanTempTwo.setPartChangeNum(partDetails.getPartChangeNum());
beanTempTwo.setPartName(partList.get(0).getPartName());
beanTempTwo.setPartNum(partList.get(0).getPartNum());
beanTempTwo.setRepairContent(partList.get(0).getRepairContent());
beanTempTwo.setRepairContentBefore(partList.get(0).getRepairContentBefore());
beanTempTwo.setRepairRemark(partList.get(0).getRepairRemark());
beanTempTwo.setCreateBy(loginUser.getUserid());
mapper.addEquipmentDetailsNew(beanTempTwo);
List<FileInfo> fileList = partList.get(0).getFileList();
//文件上传新增
if (partDetails.getFileList() != null) {
for (FileInfo fileInfo : partDetails.getFileList()) {
if (fileList != null) {
for (FileInfo fileInfo : fileList) {
fileInfo.setModelId(beanTempTwo.getId());
fileInfo.setTypeId(Integer.parseInt(bean.getTypeId()));
if (bean.getMaId() != null) {
@ -357,30 +530,19 @@ public class EquipmentToRepairServiceImpl implements EquipmentToRepairService {
backReceiveMapper.insertBmFileInfo(fileInfo);
}
}
} else {
partDetails.setMaId(bean.getMaId());
partDetails.setTypeId(bean.getTypeId());
partDetails.setCreateBy(loginUser.getUserid());
EquipmentPartDetails beanTempTwo = new EquipmentPartDetails();
beanTempTwo.setTypeId(bean.getTypeId());
beanTempTwo.setParentId(beanTemp.getId());
beanTempTwo.setPartId(null);
beanTempTwo.setPartPrice(null);
beanTempTwo.setPartNum(null);
beanTempTwo.setRepairContent(partDetails.getRepairContent());
beanTempTwo.setRepairContentBefore(partDetails.getRepairContentBefore());
beanTempTwo.setRepairRemark(partDetails.getRepairRemark());
beanTempTwo.setPartChange(null);
beanTempTwo.setPartChangeNum(null);
beanTempTwo.setCreateBy(loginUser.getUserid());
mapper.addEquipmentDetailsNew(beanTempTwo);
}
break;
}
default:
break;
}
} else { //数量管理
switch (bean.getRepairType()) {
case 1: {
//插入到equipment_record表
EquipmentRecord beanTemp = new EquipmentRecord();
beanTemp.setId(bean.getId());
@ -391,7 +553,6 @@ public class EquipmentToRepairServiceImpl implements EquipmentToRepairService {
beanTemp.setRepairer(bean.getRepairer());
beanTemp.setRepairTime(bean.getUpdateTime());
mapper.editEquipmentNew(beanTemp);
//插入到details表
if (partList != null && partList.size() > 0) {
for (EquipmentPartDetails partDetails : partList) {
@ -454,7 +615,55 @@ public class EquipmentToRepairServiceImpl implements EquipmentToRepairService {
}
}
break;
}
case 2:{
//插入到equipment_record表
EquipmentRecord beanTemp = new EquipmentRecord();
beanTemp.setId(bean.getId());
beanTemp.setTypeId(bean.getTypeId());
beanTemp.setRepairNum(bean.getRepairNum());
beanTemp.setRepairStatus(0);
beanTemp.setRepairType(2);
beanTemp.setCreateBy(loginUser.getUserid());
beanTemp.setRepairer(loginUser.getUserid());
beanTemp.setRepairTime(bean.getUpdateTime());
mapper.editEquipmentNew(beanTemp);
//插入到details表
if (partList != null && partList.size() > 0) {
EquipmentPartDetails beanTempTwo = new EquipmentPartDetails();
beanTempTwo.setTypeId(bean.getTypeId());
beanTempTwo.setParentId(beanTemp.getId());
beanTempTwo.setPartName(partList.get(0).getPartName());
beanTempTwo.setPartNum(partList.get(0).getPartNum());
beanTempTwo.setRepairContent(partList.get(0).getRepairContent());
beanTempTwo.setRepairContentBefore(partList.get(0).getRepairContentBefore());
beanTempTwo.setRepairRemark(partList.get(0).getRepairRemark());
beanTempTwo.setCreateBy(loginUser.getUserid());
mapper.addEquipmentDetailsNew(beanTempTwo);
List<FileInfo> fileList = partList.get(0).getFileList();
//文件上传新增
if (fileList != null) {
for (FileInfo fileInfo : fileList) {
fileInfo.setModelId(beanTempTwo.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());
fileInfo.setRepairStatus(2);
backReceiveMapper.insertBmFileInfo(fileInfo);
}
}
}
break;
}
default:
break;
}
}
return AjaxResult.success();
}

View File

@ -94,7 +94,7 @@ public class SecondaryWarehouseServiceImpl implements SecondaryWarehouseService
@Override
public List<SecondLotConfig> listConfig(SecondLotConfig bean) {
if (!SecurityUtils.getLoginUser().getRoles().contains("admin")) {
if (!SecurityUtils.getLoginUser().getRoles().contains("admin") && !SecurityUtils.getLoginUser().getRoles().contains("sysadmin")) {
bean.setDeptId(SecurityUtils.getLoginUser().getSysUser().getDeptId());
}
return mapper.listConfig(bean);
@ -102,7 +102,7 @@ public class SecondaryWarehouseServiceImpl implements SecondaryWarehouseService
@Override
public List<TeamGroup> listTeamGroup(TeamGroup bean) {
if (!SecurityUtils.getLoginUser().getRoles().contains("admin")) {
if (!SecurityUtils.getLoginUser().getRoles().contains("admin") && !SecurityUtils.getLoginUser().getRoles().contains("sysadmin")) {
bean.setDeptId(SecurityUtils.getLoginUser().getSysUser().getDeptId());
}
return mapper.listTeamGroup(bean);
@ -156,7 +156,7 @@ public class SecondaryWarehouseServiceImpl implements SecondaryWarehouseService
@Override
public List<MaMachine> getDevStockCount(SecondaryWarehouse bean) {
if (!SecurityUtils.getLoginUser().getRoles().contains("admin")) {
if (!SecurityUtils.getLoginUser().getRoles().contains("admin") && !SecurityUtils.getLoginUser().getRoles().contains("sysadmin")) {
bean.setDeptId(SecurityUtils.getLoginUser().getSysUser().getDeptId());
}
return mapper.getDevStockCount(bean);
@ -164,7 +164,7 @@ public class SecondaryWarehouseServiceImpl implements SecondaryWarehouseService
@Override
public List<SecondCcrapApplyDetails> getSecondScrapList(SecondCcrapApplyDetails bean) {
if (!SecurityUtils.getLoginUser().getRoles().contains("admin")) {
if (!SecurityUtils.getLoginUser().getRoles().contains("admin") && !SecurityUtils.getLoginUser().getRoles().contains("sysadmin")) {
bean.setDeptId(SecurityUtils.getLoginUser().getSysUser().getDeptId());
}
return mapper.getSecondScrapList(bean);
@ -264,7 +264,7 @@ public class SecondaryWarehouseServiceImpl implements SecondaryWarehouseService
@Override
public List<SecondaryWarehouse> getList(SecondaryWarehouse bean) {
bean.setLeaseType(1);
if (!SecurityUtils.getLoginUser().getRoles().contains("admin")) {
if (!SecurityUtils.getLoginUser().getRoles().contains("admin") && !SecurityUtils.getLoginUser().getRoles().contains("sysadmin")) {
bean.setDeptId(SecurityUtils.getLoginUser().getSysUser().getDeptId());
}
List<SecondaryWarehouse> list = mapper.getList(bean);

View File

@ -22,6 +22,7 @@
red.repair_num as repairNum,
red.status as repairStatus,
su.nick_name as repairer,
red.repair_type as repairType,
DATE_FORMAT(red.repair_time,'%Y-%m-%d') as repairTime
from repair_equipment_record red
@ -57,13 +58,13 @@
</select>
<insert id="addEquipmentNew" keyColumn="id" keyProperty="id" useGeneratedKeys="true" >
insert into repair_equipment_record (ma_id,type_id,repair_num,status,create_by,create_time,repairer,repair_time)
values (#{maId},#{typeId},#{repairNum},#{repairStatus},#{createBy},now(),#{repairer},#{repairTime});
insert into repair_equipment_record (ma_id,type_id,repair_num,status,repair_type,create_by,create_time,repairer,repair_time)
values (#{maId},#{typeId},#{repairNum},#{repairStatus},#{repairType},#{createBy},now(),#{repairer},#{repairTime});
</insert>
<insert id="addEquipmentDetailsNew" keyColumn="id" keyProperty="id" useGeneratedKeys="true" >
insert into repair_equipment_details (parent_id,type_id,ma_id,part_id,part_num,part_price,repair_remark,repair_content,repair_content_before,part_change,part_change_num,create_by,create_time)
values (#{parentId},#{typeId},#{maId},#{partId},#{partNum},#{partPrice},#{repairRemark},#{repairContent},#{repairContentBefore},#{partChange},#{partChangeNum},#{createBy},now());
insert into repair_equipment_details (parent_id,type_id,ma_id,part_id,part_name,part_num,part_price,repair_remark,repair_content,repair_content_before,part_change,part_change_num,create_by,create_time)
values (#{parentId},#{typeId},#{maId},#{partId},#{partName},#{partNum},#{partPrice},#{repairRemark},#{repairContent},#{repairContentBefore},#{partChange},#{partChangeNum},#{createBy},now());
</insert>
<select id="getEquipmentInfo" resultType="com.bonus.sgzb.material.domain.EquipmentRecord">
@ -73,6 +74,7 @@
type_id as typeId,
repairer as repairer,
repair_num AS repairNum,
repair_type as repairType,
DATE_FORMAT(repair_time, '%Y-%m-%d') as repairTime
from repair_equipment_record rer
where rer.id = #{id}
@ -84,6 +86,7 @@
red.ma_id as maId,
red.part_id as partId,
part_num as partNum,
part_name as partName,
part_price as partCost,
repair_content as repairContent,
repair_content_before as repairContentBefore,
@ -136,6 +139,9 @@
<if test="repairTime != null">
repair_time = #{repairTime},
</if>
<if test="repairType != null">
repair_type = #{repairType},
</if>
update_by = #{updateBy},
update_time = now()
</set>
@ -179,7 +185,8 @@
CASE
-- 当 part_id 存在时,关联表获取 pa_name
WHEN red4.part_id IS NOT NULL THEN CONCAT(mpt.pa_name, '','数量为',red4.part_num,' ', red4.repair_content)
WHEN red4.part_id IS NULL THEN CONCAT( red4.repair_content)
WHEN red4.part_name IS NOT NULL THEN CONCAT(red4.part_name, '','数量为',red4.part_num,' ', red4.repair_content)
WHEN (red4.part_id IS NULL and red4.part_name IS NULL) THEN CONCAT( red4.repair_content)
ELSE NULL
END
SEPARATOR '; '