备件手持

This commit is contained in:
2022-07-04 11:21:54 +08:00
parent 8e21813b1d
commit 7cfe78c74e
6 changed files with 788 additions and 44 deletions

View File

@@ -288,6 +288,7 @@ public class PdmWorkTaskServiceImpl implements PdmWorkTaskService {
work_task.put("status", "99");
work_task.put("end_id", currentUserId);
work_task.put("end_name", nickName);
work_task.put("finish_type", "01");
work_task.put("end_time", now);
}
WQLObject.getWQLObject("PDM_BI_WorkTask").update(work_task);

View File

@@ -145,7 +145,7 @@
mu.unit_name,
task.create_time AS start_time,
task.end_time,
( CASE WHEN task.STATUS = '99' THEN '1' WHEN task.STATUS IN ( '20', '30' ) THEN '2' ELSE '3' END ) AS color_flag
( CASE WHEN task.STATUS = '99' THEN '1' WHEN task.STATUS = '30' THEN '2' ELSE '3' END ) AS color_flag
FROM
pdm_bi_formula task
LEFT JOIN md_me_materialbase mb ON mb.material_id = task.material_id
@@ -168,7 +168,7 @@
mu.unit_name,
task.create_time AS start_time,
task.end_time,
( CASE WHEN task.STATUS = '99' THEN '1' WHEN task.STATUS IN ( '20', '30' ) THEN '2' ELSE '3' END ) AS color_flag
( CASE WHEN task.STATUS = '99' THEN '1' WHEN task.STATUS = '30' THEN '2' ELSE '3' END ) AS color_flag
FROM
pdm_bi_formula task
LEFT JOIN md_me_materialbase mb ON mb.material_id = task.material_id

View File

@@ -10,11 +10,11 @@ import org.nl.annotation.Log;
import org.nl.pda.sb.service.SparePartService;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;
/**
@@ -23,23 +23,121 @@ import java.util.Map;
**/
@RestController
@RequiredArgsConstructor
@Api(tags = "手持工序任务")
@Api(tags = "手持设备")
@RequestMapping("api/pda/sb/")
@Slf4j
public class SparePartController {
private final SparePartService sparePartService;
@PostMapping("/queryReturnDis")
@Log("扫描工艺指令卡")
@ApiOperation("扫描工艺指令卡")
@Log("领用还回查询")
@ApiOperation("领用还回查询")
public ResponseEntity<Object> queryReturnDis(@RequestBody Map whereJson) {
return new ResponseEntity<>(sparePartService.queryReturnDis(whereJson),HttpStatus.OK);
}
@PostMapping("/confirmReturn")
@Log("扫描工艺指令卡")
@ApiOperation("扫描工艺指令卡")
@Log("确认入库")
@ApiOperation("确认入库")
public ResponseEntity<Object> confirmReturn(@RequestBody Map whereJson) {
return new ResponseEntity<>(sparePartService.confirmReturn(whereJson),HttpStatus.OK);
}
@PostMapping("/queryIODtl")
@Log("出入库单查询")
@ApiOperation("出入库单查询")
public ResponseEntity<Object> queryIODtl(@RequestBody Map whereJson) {
return new ResponseEntity<>(sparePartService.queryIODtl(whereJson),HttpStatus.OK);
}
@PostMapping("/queryIODis")
@Log("备品备件扫描")
@ApiOperation("备品备件扫描")
public ResponseEntity<Object> queryIODis(@RequestBody Map whereJson) {
return new ResponseEntity<>(sparePartService.queryIODis(whereJson),HttpStatus.OK);
}
@PostMapping("/confirmDis")
@Log("确认")
@ApiOperation("确认")
public ResponseEntity<Object> confirmDis(@RequestBody Map whereJson) {
return new ResponseEntity<>(sparePartService.confirmDis(whereJson),HttpStatus.OK);
}
@PostMapping("/queryMaintenance")
@Log("查询设备保养执行")
@ApiOperation("查询设备保养执行")
public ResponseEntity<Object> queryMaintenance(@RequestBody Map whereJson) {
return new ResponseEntity<>(sparePartService.queryMaintenance(whereJson),HttpStatus.OK);
}
@PostMapping("/maintOpeate")
@Log("设备保养单操作")
@ApiOperation("设备保养单操作")
public ResponseEntity<Object> maintOpeate(@RequestBody Map whereJson) {
return new ResponseEntity<>(sparePartService.maintOpeate(whereJson),HttpStatus.OK);
}
@PostMapping("/queryMaintenanceDtl")
@Log("保养明细查询")
@ApiOperation("保养明细查询")
public ResponseEntity<Object> queryMaintenanceDtl(@RequestBody Map whereJson) {
return new ResponseEntity<>(sparePartService.queryMaintenanceDtl(whereJson),HttpStatus.OK);
}
@PostMapping("/dtlConfirm")
@Log("确认")
@ApiOperation("确认")
public ResponseEntity<Object> dtlConfirm(@RequestBody Map whereJson) {
return new ResponseEntity<>(sparePartService.dtlConfirm(whereJson),HttpStatus.OK);
}
@PostMapping("/errorType")
@Log("故障类型")
@ApiOperation("故障类型")
public ResponseEntity<Object> errorType(@RequestBody Map whereJson) {
return new ResponseEntity<>(sparePartService.errorType(whereJson),HttpStatus.OK);
}
@PostMapping("/errorLevel")
@Log("故障等级")
@ApiOperation("故障等级")
public ResponseEntity<Object> errorLevel(@RequestBody Map whereJson) {
return new ResponseEntity<>(sparePartService.errorLevel(whereJson),HttpStatus.OK);
}
@PostMapping("/repairs")
@Log("报修")
@ApiOperation("报修")
public ResponseEntity<Object> repairs(@RequestParam Map map, HttpServletRequest request) {
return new ResponseEntity<>(sparePartService.repairs(map,request),HttpStatus.OK);
}
@PostMapping("/queryRepairs")
@Log("查询设备维修执行")
@ApiOperation("查询设备维修执行")
public ResponseEntity<Object> queryRepairs(@RequestBody Map whereJson) {
return new ResponseEntity<>(sparePartService.queryRepairs(whereJson),HttpStatus.OK);
}
@PostMapping("/repairOpeate")
@Log("设备保养单操作")
@ApiOperation("设备保养单操作")
public ResponseEntity<Object> repairOpeate(@RequestBody Map whereJson) {
return new ResponseEntity<>(sparePartService.repairOpeate(whereJson),HttpStatus.OK);
}
@PostMapping("/queryRepairDtl")
@Log("维修明细查询")
@ApiOperation("维修明细查询")
public ResponseEntity<Object> queryRepairDtl(@RequestBody Map whereJson) {
return new ResponseEntity<>(sparePartService.queryRepairDtl(whereJson),HttpStatus.OK);
}
@PostMapping("/repaireDtlConfirm")
@Log("确认")
@ApiOperation("确认")
public ResponseEntity<Object> repaireDtlConfirm(@RequestBody Map whereJson) {
return new ResponseEntity<>(sparePartService.repaireDtlConfirm(whereJson),HttpStatus.OK);
}
}

View File

@@ -1,5 +1,9 @@
package org.nl.pda.sb.service;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;
public interface SparePartService {
@@ -12,4 +16,32 @@ public interface SparePartService {
Map<String, Object> queryReturnDis(Map jsonObject);
Map<String, Object> confirmReturn(Map jsonObject);
Map<String, Object> queryIODtl(Map jsonObject);
Map<String, Object> queryIODis(Map jsonObject);
Map<String, Object> confirmDis(Map jsonObject);
Map<String, Object> queryMaintenance(Map jsonObject);
Map<String, Object> maintOpeate(Map jsonObject);
Map<String, Object> queryMaintenanceDtl(Map jsonObject);
Map<String, Object> dtlConfirm(Map jsonObject);
Map<String, Object> errorType(Map jsonObject);
Map<String, Object> errorLevel(Map jsonObject);
Map<String, Object> queryRepairs(Map jsonObject);
Map<String, Object> repairOpeate(Map jsonObject);
Map<String, Object> queryRepairDtl(Map jsonObject);
Map<String, Object> repaireDtlConfirm(Map jsonObject);
Map<String, Object> repairs(Map map, HttpServletRequest request);
}

View File

@@ -25,7 +25,10 @@ import org.nl.wms.basedata.master.service.ClassstandardService;
import org.nl.wms.basedata.st.service.StorattrService;
import org.nl.wms.basedata.st.service.dto.StorattrDto;
import org.nl.wms.sb.core.service.SparePartInService;
import org.nl.wms.sb.core.service.SparePartOutService;
import org.nl.wms.sb.core.service.impl.SparePartInServiceImpl;
import org.nl.wms.sb.repair.service.DevicerepairmstService;
import org.nl.wms.sb.upkeep.service.DevicemaintenancemstService;
import org.nl.wms.sch.manage.AbstractAcsTask;
import org.nl.wms.st.core.task.InTask;
import org.nl.wms.st.vehicle.task.ProductTask;
@@ -34,8 +37,12 @@ import org.nl.wql.core.bean.WQLObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Service
@@ -47,6 +54,12 @@ public class SparePartServiceImpl implements SparePartService {
private final StorattrService storattrService;
@Autowired
private final SparePartInServiceImpl sparePartInService;
@Autowired
private final SparePartOutService sparePartOutService;
@Autowired
private final DevicemaintenancemstService devicemaintenancemstService;
@Autowired
private final DevicerepairmstService devicerepairmstService;
@Override
public Map<String, Object> queryReturnDis(Map jsonObject) {
@@ -74,7 +87,12 @@ public class SparePartServiceImpl implements SparePartService {
throw new PdaRequestException("该备件未查询到相关领用出库记录!");
}
}
return row;
JSONObject returnjo = new JSONObject();
returnjo.put("code", "1");
returnjo.put("row", row);
returnjo.put("desc", "操作成功!");
return returnjo;
}
@Override
@@ -201,6 +219,438 @@ public class SparePartServiceImpl implements SparePartService {
//完成主表
sparePartInService.confirmMst(iostorinv_id);
JSONObject returnjo = new JSONObject();
returnjo.put("code", "1");
returnjo.put("desc", "操作成功!");
return returnjo;
}
@Override
public Map<String, Object> queryIODtl(Map jsonObject) {
if (ObjectUtil.isEmpty(jsonObject)) {
throw new PdaRequestException("传入参数不能为空!");
}
JSONObject jo = JSONObject.parseObject(JSON.toJSONString(jsonObject));
String io_flag = jo.getString("io_flag");
String flag = "";
if (io_flag.equals("0")) {
flag = "2";
} else {
flag = "3";
}
JSONArray rows = WQL.getWO("QPDAEM_BI_SPAREPART").addParam("flag", flag).process().getResultJSONArray(0);
JSONObject returnjo = new JSONObject();
returnjo.put("code", "1");
returnjo.put("rows", rows);
returnjo.put("desc", "操作成功!");
return returnjo;
}
@Override
public Map<String, Object> queryIODis(Map jsonObject) {
if (ObjectUtil.isEmpty(jsonObject)) {
throw new PdaRequestException("传入参数不能为空!");
}
JSONObject jo = JSONObject.parseObject(JSON.toJSONString(jsonObject));
String sparepart_only_id = jo.getString("sparepart_only_id");
String iostorinvdtl_id = jo.getString("iostorinvdtl_id");
HashMap<String, String> map = new HashMap<>();
map.put("flag", "4");
map.put("sparepart_only_id", sparepart_only_id);
map.put("iostorinvdtl_id", iostorinvdtl_id);
JSONObject row = WQL.getWO("QPDAEM_BI_SPAREPART").addParamMap(map).process().uniqueResult(0);
JSONObject returnjo = new JSONObject();
returnjo.put("code", "1");
returnjo.put("content", row);
returnjo.put("desc", "操作成功!");
return returnjo;
}
@Override
public Map<String, Object> confirmDis(Map jsonObject) {
if (ObjectUtil.isEmpty(jsonObject)) {
throw new PdaRequestException("传入参数不能为空!");
}
JSONObject jo = JSONObject.parseObject(JSON.toJSONString(jsonObject));
String io_flag = jo.getString("io_flag");
if (io_flag.equals("0")) {
sparePartInService.disConfirm(jo);
} else {
sparePartOutService.disConfirm(jo);
}
JSONObject returnjo = new JSONObject();
returnjo.put("code", "1");
returnjo.put("desc", "操作成功!");
return returnjo;
}
@Override
public Map<String, Object> queryMaintenance(Map jsonObject) {
if (ObjectUtil.isEmpty(jsonObject)) {
throw new PdaRequestException("传入参数不能为空!");
}
JSONObject jo = JSONObject.parseObject(JSON.toJSONString(jsonObject));
String maintenance_flag = jo.getString("maintenance_flag");
String device_code = jo.getString("device_code");
HashMap<String, String> map = new HashMap<>();
map.put("flag", "5");
map.put("maintenance_flag", maintenance_flag);
map.put("device_code", device_code);
JSONObject rows = WQL.getWO("QPDAEM_BI_SPAREPART").addParamMap(map).process().uniqueResult(0);
JSONObject returnjo = new JSONObject();
returnjo.put("code", "1");
returnjo.put("rows", rows);
returnjo.put("desc", "操作成功!");
return returnjo;
}
@Override
public Map<String, Object> maintOpeate(Map jsonObject) {
if (ObjectUtil.isEmpty(jsonObject)) {
throw new PdaRequestException("传入参数不能为空!");
}
JSONObject jo = JSONObject.parseObject(JSON.toJSONString(jsonObject));
JSONObject row = jo.getJSONObject("row");
// 1、开始保养2、结束保养3、通过4、不通过
String operate = jo.getString("operate");
if (operate.equals("1")) {
if (!row.getString("invstatus").equals("02")) {
throw new PdaRequestException("只能对提交状态的单据开始保养");
}
devicemaintenancemstService.startMaintain(row);
}
if (operate.equals("2")) {
if (!row.getString("invstatus").equals("03")) {
throw new PdaRequestException("只能对开始状态的单据结束保养");
}
devicemaintenancemstService.endMaintain(row);
}
if (operate.equals("3")) {
if (!row.getString("invstatus").equals("04")) {
throw new PdaRequestException("只能对结束状态的单据通过");
}
devicemaintenancemstService.confirmMaintain(row);
}
if (operate.equals("4")) {
if (!row.getString("invstatus").equals("04")) {
throw new PdaRequestException("只能对结束状态的单据不通过");
}
String maint_id = row.getString("maint_id");
Long currentUserId = SecurityUtils.getCurrentUserId();
String nickName = SecurityUtils.getNickName();
WQLObject mstTab = WQLObject.getWQLObject("EM_BI_DeviceMaintenanceMst");
WQLObject dtlTab = WQLObject.getWQLObject("EM_BI_DeviceMaintenanceDtl");
WQLObject mainMstTab = WQLObject.getWQLObject("EM_BI_DeviceMaintenanceMst"); // 保养单主表
WQLObject fileTab = WQLObject.getWQLObject("EM_BI_EquipmentFile"); // 设备档案表
WQLObject lifeTab = WQLObject.getWQLObject("EM_BI_DeviceLifeCycle"); // 设备声明周期表
JSONObject jsonMst = mstTab.query("maint_id = '" + maint_id + "'").uniqueResult(0);
// 1.明细中的是否完成 :必须为全部完成
JSONArray dtlArr = dtlTab.query("maint_id = '" + maint_id + "'").getResultJSONArray(0);
for (int i = 0; i < dtlArr.size(); i++) {
JSONObject json = dtlArr.getJSONObject(i);
if (StrUtil.equals(json.getString("isfinish"), "0")) {
throw new BadRequestException("保养项目未完成");
}
}
// 2.保养人,保养时间不能为空
String update_optname = jsonMst.getString("update_optname");
String update_time = jsonMst.getString("update_time");
if (ObjectUtil.isEmpty(update_optname) || ObjectUtil.isEmpty(update_time)) {
throw new BadRequestException("保养人或保养时间不能为空");
}
// 更新保养单主表
JSONObject jsonMainMst = mainMstTab.query("maint_id = '" + row.getString("maint_id") + "'").uniqueResult(0);
jsonMainMst.put("invstatus", "03");
jsonMainMst.put("real_start_date", DateUtil.now());
mainMstTab.update(jsonMainMst);
// 更新设备档案表
JSONObject jsonFile = fileTab.query("devicerecord_id ='" + jsonMainMst.getString("devicerecord_id") + "' and is_delete = '0'").uniqueResult(0);
if (ObjectUtil.isEmpty(jsonFile)) {
throw new BadRequestException("此设备档案不存在");
}
jsonFile.put("status", "40");
fileTab.update(jsonFile);
// 插入设备声明周期表
JSONObject jsonLife = new JSONObject();
jsonLife.put("devicechangedtl_id", IdUtil.getSnowflake(1, 1).nextId());
jsonLife.put("devicerecord_id", jsonMainMst.get("devicerecord_id"));
jsonLife.put("changetype", "20");
jsonLife.put("change_id", currentUserId);
jsonLife.put("change_name", nickName);
jsonLife.put("change_time", DateUtil.now());
jsonLife.put("change_reason", "保养开始");
jsonLife.put("invsid", jsonMainMst.get("maint_id"));
jsonLife.put("invcode", jsonMainMst.getString("maint_code"));
jsonLife.put("create_id", currentUserId);
jsonLife.put("create_name", nickName);
jsonLife.put("create_time", DateUtil.now());
lifeTab.insert(jsonLife);
}
JSONObject returnjo = new JSONObject();
returnjo.put("code", "1");
returnjo.put("desc", "操作成功!");
return returnjo;
}
@Override
public Map<String, Object> queryMaintenanceDtl(Map jsonObject) {
if (ObjectUtil.isEmpty(jsonObject)) {
throw new PdaRequestException("传入参数不能为空!");
}
JSONObject jo = JSONObject.parseObject(JSON.toJSONString(jsonObject));
JSONObject row = jo.getJSONObject("row");
JSONArray rows = devicemaintenancemstService.getDtl(row);
JSONObject returnjo = new JSONObject();
returnjo.put("code", "1");
returnjo.put("desc", "操作成功!");
returnjo.put("rows", rows);
return returnjo;
}
@Override
public Map<String, Object> dtlConfirm(Map jsonObject) {
if (ObjectUtil.isEmpty(jsonObject)) {
throw new PdaRequestException("传入参数不能为空!");
}
JSONObject jo = JSONObject.parseObject(JSON.toJSONString(jsonObject));
JSONObject form = jo.getJSONObject("form");
JSONArray rows = jo.getJSONArray("rows");
String maint_id = form.getString("maint_id");
WQLObject mstTab = WQLObject.getWQLObject("EM_BI_DeviceMaintenanceMst");
WQLObject dtlTab = WQLObject.getWQLObject("EM_BI_DeviceMaintenanceDtl");
// 更新主表
JSONObject jsonMst = mstTab.query("maint_id ='" + maint_id + "'").uniqueResult(0);
jsonMst.put("update_optname", SecurityUtils.getNickName());
jsonMst.put("update_time", DateUtil.now());
mstTab.update(jsonMst);
// 更新明细表
for (int i = 0; i < rows.size(); i++) {
JSONObject json = rows.getJSONObject(i);
JSONObject jsonDtl = dtlTab.query("maint_dtl_id = '" + json.getString("maint_dtl_id") + "'").uniqueResult(0);
jsonDtl.put("isfinish", json.getString("isfinish"));
dtlTab.update(jsonDtl);
}
JSONObject returnjo = new JSONObject();
returnjo.put("code", "1");
returnjo.put("desc", "操作成功!");
return returnjo;
}
@Override
public Map<String, Object> errorType(Map jsonObject) {
JSONArray ja = WQLObject.getWQLObject("EM_BI_DeviceFaultClass").query("is_delete = '0'").getResultJSONArray(0);
JSONArray rows = new JSONArray();
for (int i = 0; i < ja.size(); i++) {
JSONObject jo = ja.getJSONObject(i);
JSONObject row = new JSONObject();
row.put("value", jo.getString("device_faultclass_id"));
row.put("label", jo.getString("device_faultclass_id"));
row.put("solutions", jo.getString("solutions"));
rows.add(row);
}
JSONObject returnjo = new JSONObject();
returnjo.put("code", "1");
returnjo.put("desc", "操作成功!");
returnjo.put("rows", rows);
return returnjo;
}
@Override
public Map<String, Object> errorLevel(Map jsonObject) {
JSONObject level_jo = WQLObject.getWQLObject("sys_dict").query("name = 'EM_FAULT_LEVEL'").uniqueResult(0);
JSONArray ja = WQLObject.getWQLObject("sys_dict_detail").query("dict_id = '" + level_jo.getString("dict_id") + "'").getResultJSONArray(0);
JSONArray rows = new JSONArray();
for (int i = 0; i < ja.size(); i++) {
JSONObject jo = ja.getJSONObject(i);
JSONObject row = new JSONObject();
row.put("value", jo.getString("value"));
row.put("label", jo.getString("label"));
rows.add(row);
}
JSONObject returnjo = new JSONObject();
returnjo.put("code", "1");
returnjo.put("desc", "操作成功!");
returnjo.put("rows", rows);
return returnjo;
}
@Override
public Map<String, Object> queryRepairs(Map jsonObject) {
if (ObjectUtil.isEmpty(jsonObject)) {
throw new PdaRequestException("传入参数不能为空!");
}
JSONObject jo = JSONObject.parseObject(JSON.toJSONString(jsonObject));
String maintenance_flag = jo.getString("maintenance_flag");
String device_code = jo.getString("device_code");
HashMap<String, String> map = new HashMap<>();
map.put("flag", "6");
map.put("maintenance_flag", maintenance_flag);
map.put("device_code", device_code);
JSONObject rows = WQL.getWO("QPDAEM_BI_SPAREPART").addParamMap(map).process().uniqueResult(0);
JSONObject returnjo = new JSONObject();
returnjo.put("code", "1");
returnjo.put("rows", rows);
returnjo.put("desc", "操作成功!");
return returnjo;
}
@Override
public Map<String, Object> repairOpeate(Map jsonObject) {
{
if (ObjectUtil.isEmpty(jsonObject)) {
throw new PdaRequestException("传入参数不能为空!");
}
JSONObject jo = JSONObject.parseObject(JSON.toJSONString(jsonObject));
JSONObject row = jo.getJSONObject("row");
// 1、开始维修2、委外维修3、结束维修4、通过5、不通过
String operate = jo.getString("operate");
if (operate.equals("1")) {
if (!row.getString("invstatus").equals("02")) {
throw new PdaRequestException("只能对提交状态的单据开始维修");
}
devicerepairmstService.startRepair(row);
}
if (operate.equals("2")) {
if (!row.getString("invstatus").equals("02")) {
throw new PdaRequestException("只能对开始状态的单据进行委外维修");
}
devicerepairmstService.outRepair(row);
}
if (operate.equals("3")) {
if (!row.getString("invstatus").equals("03") && !row.getString("invstatus").equals("04")) {
throw new PdaRequestException("只能对开始状态或委外维修的单据结束维修");
}
devicerepairmstService.endRepair(row);
}
if (operate.equals("4")) {
if (!row.getString("invstatus").equals("06")) {
throw new PdaRequestException("只能对开始状态的单据进行通过");
}
devicerepairmstService.confirmRepair(row);
}
if (operate.equals("5")) {
if (!row.getString("invstatus").equals("06")) {
throw new PdaRequestException("只能对开始状态的单据进行不通过");
}
Long currentUserId = SecurityUtils.getCurrentUserId();
String nickName = SecurityUtils.getNickName();
WQLObject reMstTab = WQLObject.getWQLObject("EM_BI_DeviceRepairMst"); // 设备维修单主表
WQLObject planMstTab = WQLObject.getWQLObject("EM_BI_DeviceRepairPlanMst"); // 设备维修计划主表
WQLObject fileTab = WQLObject.getWQLObject("EM_BI_EquipmentFile"); // 档案表
WQLObject lifeTab = WQLObject.getWQLObject("EM_BI_DeviceLifeCycle"); // 设备生命周期表
// 1. 更新设备维修单主表
JSONObject jsonReMst = reMstTab.query("repair_id = '" + row.getString("repair_id") + "'").uniqueResult(0);
jsonReMst.put("invstatus", "03");
jsonReMst.put("real_start_date", DateUtil.now());
reMstTab.update(jsonReMst);
// 2.更新设备档案表
JSONObject jsonFile = fileTab.query("devicerecord_id = '" + row.getString("devicerecord_id") + "' and is_delete= '0'").uniqueResult(0);
if (ObjectUtil.isEmpty(jsonFile)) {
throw new BadRequestException("此设备没有档案");
}
jsonFile.put("status", "30");
fileTab.update(jsonFile);
// 3.插入生命周期表
JSONObject jsonLife = new JSONObject();
jsonLife.put("devicechangedtl_id", IdUtil.getSnowflake(1, 1).nextId());
jsonLife.put("devicerecord_id", jsonReMst.get("devicerecord_id"));
jsonLife.put("changetype", "30");
jsonLife.put("change_id", currentUserId);
jsonLife.put("change_name", nickName);
jsonLife.put("change_time", DateUtil.now());
jsonLife.put("change_reason", "开始维修");
jsonLife.put("invsid", jsonReMst.get("repair_id"));
jsonLife.put("invcode", jsonReMst.getString("repair_code"));
jsonLife.put("create_id", currentUserId);
jsonLife.put("create_name", nickName);
jsonLife.put("create_time", DateUtil.now());
lifeTab.insert(jsonLife);
}
JSONObject returnjo = new JSONObject();
returnjo.put("code", "1");
returnjo.put("desc", "操作成功!");
return returnjo;
}
}
@Override
public Map<String, Object> queryRepairDtl(Map jsonObject) {
if (ObjectUtil.isEmpty(jsonObject)) {
throw new PdaRequestException("传入参数不能为空!");
}
JSONObject jo = JSONObject.parseObject(JSON.toJSONString(jsonObject));
JSONObject row = jo.getJSONObject("row");
JSONArray rows = devicerepairmstService.getDtl(row);
JSONObject returnjo = new JSONObject();
returnjo.put("code", "1");
returnjo.put("desc", "操作成功!");
returnjo.put("rows", rows);
return returnjo;
}
@Override
public Map<String, Object> repaireDtlConfirm(Map jsonObject) {
if (ObjectUtil.isEmpty(jsonObject)) {
throw new PdaRequestException("传入参数不能为空!");
}
JSONObject jo = JSONObject.parseObject(JSON.toJSONString(jsonObject));
JSONObject form = jo.getJSONObject("form");
JSONArray rows = jo.getJSONArray("rows");
String repair_id = form.getString("repair_id");
WQLObject mstTab = WQLObject.getWQLObject("EM_BI_DeviceRepairMst");
WQLObject dtlTab = WQLObject.getWQLObject("EM_BI_DeviceRepairDtl");
// 更新主表
JSONObject jsonMst = mstTab.query("repair_id ='" + repair_id + "'").uniqueResult(0);
jsonMst.put("update_optname", SecurityUtils.getNickName());
jsonMst.put("update_time", DateUtil.now());
mstTab.update(jsonMst);
// 更新明细表
for (int i = 0; i < rows.size(); i++) {
JSONObject json = rows.getJSONObject(i);
JSONObject jsonDtl = dtlTab.query("repair_dtl_id = '" + json.getString("repair_dtl_id") + "'").uniqueResult(0);
jsonDtl.put("isfinish", json.getString("isfinish"));
dtlTab.update(jsonDtl);
}
JSONObject returnjo = new JSONObject();
returnjo.put("code", "1");
returnjo.put("desc", "操作成功!");
return returnjo;
}
@Override
public Map<String, Object> repairs(Map map, HttpServletRequest request) {
MultipartHttpServletRequest params=((MultipartHttpServletRequest) request);
List<MultipartFile> files = ((MultipartHttpServletRequest) request)
.getFiles("file");
return null;
}
}

View File

@@ -16,6 +16,8 @@
输入.flag TYPEAS s_string
输入.device_id TYPEAS s_string
输入.sparepart_only_id TYPEAS s_string
输入.device_code TYPEAS s_string
输入.maintenance_flag TYPEAS s_string
[临时表]
@@ -75,5 +77,166 @@
ENDQUERY
ENDIF
IF 输入.flag = "2"
QUERY
SELECT DISTINCT
dtl.*,
mb.material_code,
mb.material_name,
mb.material_spec,
detail.label AS source_type_name,
mst.bill_code,
mst.device_code,
detail.label AS source_bill_type_name,
IFNULL( a.assign_qty, 0 ) AS finish_qty,
(
dtl.plan_qty - IFNULL( a.assign_qty, 0 )) AS need_qty
FROM
em_bi_iostorinvdtl dtl
LEFT JOIN md_me_materialbase mb ON mb.material_id = dtl.material_id
LEFT JOIN em_bi_iostorinv mst ON mst.iostorinv_id = dtl.iostorinv_id
LEFT JOIN sys_dict_detail detail ON detail.`value` = dtl.source_bill_type
LEFT JOIN sys_dict dict ON dict.dict_id = detail.dict_id
AND dict.`name` LIKE 'ST_INV_TYPE%'
LEFT JOIN ( SELECT count(*) AS assign_qty, dis.iostorinvdtl_id FROM em_bi_iostorinvdis dis WHERE dis.work_status = '99' GROUP BY dis.iostorinvdtl_id ) a ON a.iostorinvdtl_id = dtl.iostorinvdtl_id
WHERE
mst.bill_type = '000701'
AND ( mst.bill_status = '30' OR mst.bill_status = '40' )
AND mst.is_delete = '0'
AND dtl.bill_status = '40'
order by
bill_code,material_code
ENDSELECT
ENDQUERY
ENDIF
IF 输入.flag = "3"
QUERY
SELECT DISTINCT
dtl.*,
mb.material_code,
mb.material_name,
mb.material_spec,
detail.label AS source_type_name,
mst.bill_code,
mst.device_code,
detail.label AS source_bill_type_name,
IFNULL( a.assign_qty, 0 ) AS finish_qty,
(
dtl.plan_qty - IFNULL( a.assign_qty, 0 )) AS need_qty
FROM
em_bi_iostorinvdtl dtl
LEFT JOIN md_me_materialbase mb ON mb.material_id = dtl.material_id
LEFT JOIN em_bi_iostorinv mst ON mst.iostorinv_id = dtl.iostorinv_id
LEFT JOIN sys_dict_detail detail ON detail.`value` = dtl.source_bill_type
LEFT JOIN sys_dict dict ON dict.dict_id = detail.dict_id
AND dict.`name` LIKE 'ST_INV_TYPE%'
LEFT JOIN ( SELECT count(*) AS assign_qty, dis.iostorinvdtl_id FROM em_bi_iostorinvdis dis WHERE dis.work_status = '99' GROUP BY dis.iostorinvdtl_id ) a ON a.iostorinvdtl_id = dtl.iostorinvdtl_id
WHERE
mst.bill_type IN ('011001','010901')
AND mst.bill_status IN ('10','20','30','40')
AND mst.is_delete = '0'
AND dtl.bill_status IN ('10','20','30','40')
ORDER BY
bill_code,
material_code
ENDSELECT
ENDQUERY
ENDIF
IF 输入.flag = "4"
QUERY
SELECT
( CASE WHEN dis.work_status = '01' THEN '生成' WHEN dis.work_status = '99' THEN '完成' END ) AS status_name,
dis.sparepart_only_id,
mb.material_name,
dis.pcsn,
dis.real_qty,
dis.qty_unit_name,
dis.struct_name,
dis.iostorinvdis_id,
dis.iostorinv_id,
dis.iostorinvdtl_id
FROM
em_bi_iostorinvdis dis
INNER JOIN md_me_materialbase mb ON mb.material_id = dis.material_id
WHERE
dis.iostorinvdtl_id = 输入.iostorinvdtl_id
AND
dis.sparepart_only_id = 输入.sparepart_only_id
ENDSELECT
ENDQUERY
ENDIF
IF 输入.flag = "5"
QUERY
SELECT
mst.maint_code,
file.device_code,
file.device_name,
( CASE WHEN mst.invstatus = '02' THEN '提交' WHEN mst.invstatus = '03' THEN '开始' WHEN mst.invstatus = '04' THEN '确认' END ) AS status_name,
mst.plan_start_date,
mst.maint_id,
mst.invstatus
FROM
em_bi_devicemaintenancemst mst
LEFT JOIN em_bi_equipmentfile file ON file.devicerecord_id = mst.devicerecord_id
WHERE
mst.is_delete = '0'
OPTION 输入.maintenance_flag = "1"
mst.invstatus IN ('02','03','04')
ENDOPTION
OPTION 输入.maintenance_flag = "2"
mst.invstatus = '05'
ENDOPTION
AND
file.device_code = 输入.device_code
ENDSELECT
ENDQUERY
ENDIF
IF 输入.flag = "6"
QUERY
SELECT
mst.repair_code,
file.device_code,
file.device_name,
(
CASE
WHEN mst.invstatus = '02' THEN
'提交'
WHEN mst.invstatus = '03' THEN
'开始'
WHEN mst.invstatus = '04' THEN
'委外维修'
WHEN mst.invstatus = '05' THEN
'委外验收'
WHEN mst.invstatus = '06' THEN
'结束'
WHEN mst.invstatus = '07' THEN
'确认'
END
) AS status_name,
mst.plan_start_date,
mst.repair_id,
mst.invstatus
FROM
EM_BI_DeviceRepairMst mst
LEFT JOIN em_bi_equipmentfile file ON file.devicerecord_id = mst.devicerecord_id
WHERE
mst.is_delete = '0'
OPTION 输入.maintenance_flag = "1"
mst.invstatus IN ('02','03','04','05','06')
ENDOPTION
OPTION 输入.maintenance_flag = "2"
mst.invstatus = '07'
ENDOPTION
AND
file.device_code = 输入.device_code
ENDSELECT
ENDQUERY
ENDIF