This commit is contained in:
parent
a9f0ef277b
commit
f5c75d7506
|
|
@ -50,6 +50,17 @@ public class RepairController extends BaseController {
|
|||
return service.addRepairData(bean);
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改维修申请
|
||||
* @param bean
|
||||
* @return
|
||||
*/
|
||||
@ApiOperation(value = "修改维修申请")
|
||||
@PostMapping("/updateRepairData")
|
||||
public AjaxResult updateRepairData(@RequestBody ToBeRepair bean) {
|
||||
return service.updateRepairData(bean);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询维修列表
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -107,4 +107,18 @@ public interface RepairMapper {
|
|||
* @return
|
||||
*/
|
||||
int updateMaDevInfo(ToBeRepair toBeRepair);
|
||||
|
||||
/**
|
||||
* 删除设备变更信息
|
||||
* @param bean
|
||||
* @return
|
||||
*/
|
||||
int deleteChangeDetailsByChangeId(ToBeRepair bean);
|
||||
|
||||
/**
|
||||
* 获取设备信息
|
||||
* @param toBeRepair
|
||||
* @return
|
||||
*/
|
||||
ToBeRepair selectMaDevInfoByTypeIdAndCode(ToBeRepair toBeRepair);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -50,4 +50,11 @@ public interface RepairService {
|
|||
* @return
|
||||
*/
|
||||
AjaxResult auditData(ToBeRepair bean);
|
||||
|
||||
/**
|
||||
* 修改维修数据
|
||||
* @param bean
|
||||
* @return
|
||||
*/
|
||||
AjaxResult updateRepairData(ToBeRepair bean);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
package com.bonus.material.repair.service.impl;
|
||||
|
||||
|
||||
import com.bonus.common.biz.domain.BmFileInfo;
|
||||
import com.bonus.common.core.utils.DateUtils;
|
||||
import com.bonus.common.core.web.domain.AjaxResult;
|
||||
import com.bonus.common.security.utils.SecurityUtils;
|
||||
|
|
@ -94,6 +95,53 @@ public class RepairServiceImpl implements RepairService {
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public AjaxResult updateRepairData(ToBeRepair bean) {
|
||||
try {
|
||||
if (bean.getChangeId()==null){
|
||||
throw new Exception("缺少任务ID");
|
||||
}
|
||||
if (bean.getToBeRepairList().size() <= 0) {
|
||||
return AjaxResult.error("请添加维修数据");
|
||||
}
|
||||
String username = SecurityUtils.getLoginUser().getSysUser().getNickName();
|
||||
//先删除详情中被驳回的数据
|
||||
int re1 = mapper.deleteChangeDetailsByChangeId(bean);
|
||||
if (re1 < 1) {
|
||||
throw new Exception("删除设备详情失败");
|
||||
}
|
||||
for (ToBeRepair toBeRepair : bean.getToBeRepairList()) {
|
||||
if (!StringHelper.isNullOrEmptyString(toBeRepair.getStatus()) && "通过".equals(toBeRepair.getStatus())){
|
||||
//过滤掉通过的数据
|
||||
continue;
|
||||
}
|
||||
toBeRepair.setChangeId(bean.getChangeId());
|
||||
toBeRepair.setCreateUser(username);
|
||||
if (!StringHelper.isNullOrEmptyString(toBeRepair.getIsScrap())) {
|
||||
if (toBeRepair.getBmFileInfos()!=null && toBeRepair.getBmFileInfos().size() > 0) {
|
||||
if ("0".equals(toBeRepair.getIsScrap())) {
|
||||
toBeRepair.setRepairUrl(toBeRepair.getBmFileInfos().get(0).getFileUrl());
|
||||
} else {
|
||||
toBeRepair.setScrapUrl(toBeRepair.getBmFileInfos().get(0).getFileUrl());
|
||||
}
|
||||
}
|
||||
} else {
|
||||
throw new Exception("缺少合格状态数据");
|
||||
}
|
||||
int res = mapper.addRepairData(toBeRepair);
|
||||
if (res <= 0) {
|
||||
throw new Exception("添加设备详情失败");
|
||||
}
|
||||
}
|
||||
return AjaxResult.success("修改成功");
|
||||
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
return AjaxResult.error("修改失败");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ToBeRepair> getRepairList(ToBeRepair bean) {
|
||||
try {
|
||||
|
|
@ -101,37 +149,49 @@ public class RepairServiceImpl implements RepairService {
|
|||
for (ToBeRepair toBeRepair : list) {
|
||||
List<ToBeRepair> detailsList = mapper.getDetailsList(toBeRepair);
|
||||
if (detailsList != null && !detailsList.isEmpty()) {
|
||||
// 存在审核中
|
||||
boolean hasZero = false;
|
||||
// 是否全部驳回
|
||||
boolean allTwo = true;
|
||||
boolean has0 = false;
|
||||
boolean has1 = false;
|
||||
boolean has2 = false;
|
||||
for (ToBeRepair detail : detailsList) {
|
||||
String audit = detail.getAuditStatus();
|
||||
if ("0".equals(audit)) {
|
||||
hasZero = true;
|
||||
has0 = true;
|
||||
}
|
||||
if (!"2".equals(audit)) {
|
||||
allTwo = false;
|
||||
if ("1".equals(audit)) {
|
||||
has1 = true;
|
||||
}
|
||||
if ("2".equals(audit)) {
|
||||
has2 = true;
|
||||
}
|
||||
}
|
||||
// 规则判断
|
||||
if (hasZero) {
|
||||
// === 状态判断 ===
|
||||
if (has0 && !has1 && !has2) {
|
||||
// 1. 全部为 0
|
||||
toBeRepair.setStatus("待审核");
|
||||
} else if (!has0 && has1 && !has2) {
|
||||
// 2. 全部为 1
|
||||
toBeRepair.setStatus("全部通过");
|
||||
} else if (!has0 && !has1 && has2) {
|
||||
// 3. 全部为 2
|
||||
toBeRepair.setStatus("全部驳回");
|
||||
} else if (has0 && (has1 || has2)) {
|
||||
// 4. 有 0 且有其他状态(1 或 2)
|
||||
toBeRepair.setStatus("审核中");
|
||||
} else if (allTwo) {
|
||||
toBeRepair.setStatus("已驳回");
|
||||
} else if (!has0 && has1 && has2) {
|
||||
// 5. 无 0,有 1 且有 2
|
||||
toBeRepair.setStatus("驳回待处理");
|
||||
} else {
|
||||
toBeRepair.setStatus("已审核");
|
||||
toBeRepair.setStatus("");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 状态过滤
|
||||
String statusFilter = bean.getStatus();
|
||||
if (statusFilter != null && !"".equals(statusFilter)) {
|
||||
list = list.stream()
|
||||
.filter(item -> statusFilter.equals(item.getStatus()))
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
return list;
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
|
|
@ -139,7 +199,6 @@ public class RepairServiceImpl implements RepairService {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public AjaxResult deleteRepairList(ToBeRepair bean) {
|
||||
|
|
@ -165,7 +224,19 @@ public class RepairServiceImpl implements RepairService {
|
|||
@Override
|
||||
public List<ToBeRepair> getRepairDetailsList(ToBeRepair bean) {
|
||||
try {
|
||||
return mapper.getRepairDetailsList(bean);
|
||||
List<ToBeRepair> list = mapper.getRepairDetailsList(bean);
|
||||
if (list.size()>0){
|
||||
for (ToBeRepair toBeRepair : list){
|
||||
if (!StringHelper.isNullOrEmptyString(toBeRepair.getUrl())){
|
||||
List<BmFileInfo> bmFileInfos = new ArrayList<>();
|
||||
BmFileInfo fileInfo = new BmFileInfo();
|
||||
fileInfo.setFileUrl(toBeRepair.getUrl());
|
||||
bmFileInfos.add(fileInfo);
|
||||
toBeRepair.setBmFileInfos(bmFileInfos);
|
||||
}
|
||||
}
|
||||
}
|
||||
return list;
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
return new ArrayList<>();
|
||||
|
|
@ -182,6 +253,28 @@ public class RepairServiceImpl implements RepairService {
|
|||
String username = SecurityUtils.getLoginUser().getSysUser().getNickName();
|
||||
Long userId = SecurityUtils.getLoginUser().getUserid();
|
||||
for (ToBeRepair toBeRepair : bean.getToBeRepairList()) {
|
||||
//查询设备是否已经处理过
|
||||
if ("编码管理".equals(toBeRepair.getManageMode())){
|
||||
//1、如果是编码管理,查询状态是否为维修状态
|
||||
if ("装备".equals(toBeRepair.getType())){
|
||||
ToBeRepair bean1 = mapper.selectMaDevInfoByTypeIdAndCode(toBeRepair);
|
||||
if (bean1==null || !"5".equals(bean1.getStatus())){
|
||||
return AjaxResult.error(toBeRepair.getCode()+"编码设备已经处理过");
|
||||
}
|
||||
} else if ("工具".equals(toBeRepair.getType())){
|
||||
ToBeRepair bean1 = mapper.selectByTypeIdAndCode(toBeRepair);
|
||||
if (bean1==null || !"2".equals(bean1.getStatus())){
|
||||
return AjaxResult.error(toBeRepair.getCode()+"编码设备已经处理过");
|
||||
}
|
||||
}
|
||||
} else if ("数量管理".equals(toBeRepair.getManageMode())){
|
||||
//2、如果是数量管理,查询剩余的维修数量是否够
|
||||
//todo 目前数量管理的设备都是工具
|
||||
ToBeRepair bean1 = mapper.selectByTypeIdAndCode(toBeRepair);
|
||||
if (bean1==null || bean1.getRepairNum().compareTo(toBeRepair.getRepairNum())<0){
|
||||
return AjaxResult.error(toBeRepair.getTypeModelName()+"剩余维修设备数量不足");
|
||||
}
|
||||
}
|
||||
if (!StringHelper.isNullOrEmptyString(toBeRepair.getAuditStatus())){
|
||||
toBeRepair.setCreateUser(username);
|
||||
int res = mapper.auditData(toBeRepair);
|
||||
|
|
|
|||
|
|
@ -116,6 +116,13 @@
|
|||
where type_id = #{typeId} and code=#{code}
|
||||
</update>
|
||||
|
||||
<update id="deleteChangeDetailsByChangeId">
|
||||
update cs_device_change_details
|
||||
set del_flag = '1'
|
||||
where change_id = #{changeId}
|
||||
and review_status = '2'
|
||||
</update>
|
||||
|
||||
<select id="selectToBeRepairList" resultType="com.bonus.material.repair.domain.ToBeRepair">
|
||||
SELECT
|
||||
CONCAT(tl.id,'-','工具') as keyId,
|
||||
|
|
@ -219,8 +226,10 @@
|
|||
ORDER BY cdc.create_time DESC
|
||||
</select>
|
||||
<select id="getRepairDetailsList" resultType="com.bonus.material.repair.domain.ToBeRepair">
|
||||
SELECT DISTINCT cdcd.id,
|
||||
SELECT DISTINCT CONCAT(tl.id, '-', '工具') as keyId,
|
||||
cdcd.id,
|
||||
'工具' as type,
|
||||
'2' as devType,
|
||||
CONCAT(tt2.type_name, '/', tt3.type_name, '/', tt4.type_name) AS groupName,
|
||||
tt4.type_name as typeName,
|
||||
tt5.type_name as typeModelName,
|
||||
|
|
@ -251,6 +260,7 @@
|
|||
reason_url
|
||||
END url
|
||||
FROM cs_device_change_details cdcd
|
||||
LEFT JOIN tool_ledger tl on tl.type_id = cdcd.dev_type_id
|
||||
LEFT JOIN tool_type tt5 on tt5.type_id = cdcd.dev_type_id
|
||||
LEFT JOIN tool_type tt4 on tt4.type_id = tt5.parent_id
|
||||
LEFT JOIN tool_type tt3 on tt3.type_id = tt4.parent_id
|
||||
|
|
@ -264,8 +274,10 @@
|
|||
UNION
|
||||
|
||||
|
||||
SELECT DISTINCT cdcd.id,
|
||||
SELECT DISTINCT CONCAT(mdi.ma_id, '-', '装备') as keyId,
|
||||
cdcd.id,
|
||||
'装备' as type,
|
||||
'1' as devType,
|
||||
CONCAT(mt2.type_name, '/', mt3.type_name, '/', mt4.type_name) AS groupName,
|
||||
mdi.device_name as typeName,
|
||||
mdi.item_type_model as typeModelName,
|
||||
|
|
@ -296,7 +308,7 @@
|
|||
reason_url
|
||||
END url
|
||||
FROM cs_device_change_details cdcd
|
||||
LEFT JOIN ma_dev_info mdi on mdi.type_id = cdcd.dev_type_id
|
||||
LEFT JOIN ma_dev_info mdi on mdi.type_id = cdcd.dev_type_id and mdi.`code`=cdcd.dev_code
|
||||
LEFT JOIN ma_type mt5 on mt5.type_id = mdi.type_id
|
||||
LEFT JOIN ma_type mt4 on mt4.type_id = mt5.parent_id
|
||||
LEFT JOIN ma_type mt3 on mt3.type_id = mt4.parent_id
|
||||
|
|
@ -307,13 +319,11 @@
|
|||
GROUP BY cdcd.id
|
||||
</select>
|
||||
<select id="getDetailsList" resultType="com.bonus.material.repair.domain.ToBeRepair">
|
||||
SELECT
|
||||
id,
|
||||
review_status as auditStatus
|
||||
FROM
|
||||
cs_device_change_details
|
||||
WHERE
|
||||
change_id=#{id}
|
||||
SELECT id,
|
||||
review_status as auditStatus
|
||||
FROM cs_device_change_details
|
||||
WHERE change_id = #{id}
|
||||
and del_flag = '0'
|
||||
</select>
|
||||
<select id="selectByTypeIdAndCode" resultType="com.bonus.material.repair.domain.ToBeRepair">
|
||||
SELECT
|
||||
|
|
@ -323,7 +333,9 @@
|
|||
'编码管理'
|
||||
WHEN 1 THEN
|
||||
'数量管理'
|
||||
END manageMode
|
||||
END manageMode,
|
||||
tl.repair_num as repairNum,
|
||||
tl.status
|
||||
FROM
|
||||
tool_ledger tl
|
||||
WHERE
|
||||
|
|
@ -332,4 +344,14 @@
|
|||
and tl.tool_code=#{code}
|
||||
</if>
|
||||
</select>
|
||||
<select id="selectMaDevInfoByTypeIdAndCode" resultType="com.bonus.material.repair.domain.ToBeRepair">
|
||||
SELECT
|
||||
ma_id as id,
|
||||
ma_status as `status`
|
||||
FROM
|
||||
ma_dev_info
|
||||
WHERE
|
||||
`code`=#{code}
|
||||
and type_id=#{typeId}
|
||||
</select>
|
||||
</mapper>
|
||||
Loading…
Reference in New Issue