diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/common/data/service/DataOpinionService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/common/data/service/DataOpinionService.java index 7cfd7631..44408558 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/common/data/service/DataOpinionService.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/common/data/service/DataOpinionService.java @@ -23,6 +23,10 @@ public interface DataOpinionService { void saveOpinionByWfCallback(DeviceApplyDO entity, String activityId, String activityName, JSONObject taskVariables); + List getListByBusId(Long busId); + + List getListByFlowInsId(String flowInsId); + /** * 创建审批意见 * diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/common/data/service/DataOpinionServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/common/data/service/DataOpinionServiceImpl.java index 66fee0a3..1d11b564 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/common/data/service/DataOpinionServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/common/data/service/DataOpinionServiceImpl.java @@ -2,6 +2,7 @@ package com.zt.plat.module.qms.common.data.service; import cn.hutool.core.collection.CollUtil; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.zt.plat.framework.security.core.LoginUser; import com.zt.plat.framework.security.core.util.SecurityFrameworkUtils; @@ -86,6 +87,23 @@ public class DataOpinionServiceImpl implements DataOpinionService { dataOpinionMapper.insert(opinion); } + @Override + public List getListByBusId(Long busId) { + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); + query.eq(DataOpinionDO::getBusinessId, busId); + query.eq(DataOpinionDO::getCancelFlag, "0"); + return dataOpinionMapper.selectList(query); + } + + + @Override + public List getListByFlowInsId(String flowInsId) { + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); + query.eq(DataOpinionDO::getFlowInstanceId, flowInsId); + query.eq(DataOpinionDO::getCancelFlag, "0"); + return dataOpinionMapper.selectList(query); + } + @Override public DataOpinionRespVO createDataOpinion(DataOpinionSaveReqVO createReqVO) { // 插入 diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/admin/DeviceApplyController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/admin/DeviceApplyController.java index 72176b46..3f608ee2 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/admin/DeviceApplyController.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/admin/DeviceApplyController.java @@ -120,6 +120,13 @@ public class DeviceApplyController extends AbstractFileUploadController implemen return success(BeanUtils.toBean(deviceApply, DeviceApplyRespVO.class)); } + @GetMapping("/getWithOpinions") + @Operation(summary = "获得设备通用流程详情,含意见内容") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + public CommonResult getWithOpinions(@RequestParam("id") Long id) { + return deviceApplyService.getWithOpinions(id); + } + @GetMapping("/page") @Operation(summary = "获得设备通用流程,验收、降级、停用、报废、还原、启用分页") public CommonResult> getDeviceApplyPage(@Valid DeviceApplyPageReqVO pageReqVO) { diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/vo/DeviceApplyDetailRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/vo/DeviceApplyDetailRespVO.java index 02850a4c..ace2b06c 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/vo/DeviceApplyDetailRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/vo/DeviceApplyDetailRespVO.java @@ -2,6 +2,8 @@ package com.zt.plat.module.qms.resource.device.controller.vo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; + +import java.math.BigDecimal; import java.util.*; import org.springframework.format.annotation.DateTimeFormat; import java.time.LocalDateTime; @@ -82,4 +84,12 @@ public class DeviceApplyDetailRespVO { @Schema(description = "存放位置") @ExcelProperty("存放位置") private String position; + + @Schema(description = "采购时间") + @ExcelProperty("采购时间") + private LocalDateTime purchaseDate; + + @Schema(description = "购入价格", example = "25826") + @ExcelProperty("购入价格") + private BigDecimal purchasePrice; } \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/vo/DeviceApplyPageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/vo/DeviceApplyPageReqVO.java index 7a49d2ed..eebc630f 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/vo/DeviceApplyPageReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/vo/DeviceApplyPageReqVO.java @@ -27,6 +27,9 @@ public class DeviceApplyPageReqVO extends PageParam { @Schema(description = "申请人ID") private String applyUser; + @Schema(description = "申请标题") + private String title; + @Schema(description = "业务编码") private String businessCode; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/vo/DeviceApplyRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/vo/DeviceApplyRespVO.java index 6dbec863..5e60f278 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/vo/DeviceApplyRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/vo/DeviceApplyRespVO.java @@ -32,6 +32,10 @@ public class DeviceApplyRespVO { @ExcelProperty("申请人") private String applyUserName; + @Schema(description = "申请标题") + @ExcelProperty("申请标题") + private String title; + @Schema(description = "申请人ID") @ExcelProperty("申请人ID") private String applyUser; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/vo/DeviceApplySaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/vo/DeviceApplySaveReqVO.java index f423ba3e..3c837da4 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/vo/DeviceApplySaveReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/controller/vo/DeviceApplySaveReqVO.java @@ -1,5 +1,6 @@ package com.zt.plat.module.qms.resource.device.controller.vo; +import com.alibaba.excel.annotation.ExcelProperty; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; @@ -27,6 +28,9 @@ public class DeviceApplySaveReqVO { @Schema(description = "申请人ID") private String applyUser; + @Schema(description = "申请标题") + private String title; + @Schema(description = "业务编码") private String businessCode; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/dal/dataobject/DeviceApplyDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/dal/dataobject/DeviceApplyDO.java index 2c0f3afc..61364b99 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/dal/dataobject/DeviceApplyDO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/dal/dataobject/DeviceApplyDO.java @@ -56,6 +56,10 @@ public class DeviceApplyDO extends BusinessBaseDO { */ @TableField("APL_USER") private Long applyUser; + + @TableField("TTL") + private String title; + /** * 业务编码 */ diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/dal/mapper/DeviceApplyDetailMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/dal/mapper/DeviceApplyDetailMapper.java index 1aea65eb..39b21c86 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/dal/mapper/DeviceApplyDetailMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/dal/mapper/DeviceApplyDetailMapper.java @@ -47,6 +47,8 @@ public interface DeviceApplyDetailMapper extends BaseMapperX { .eqIfPresent(DeviceApplyDO::getApplyDepartment, reqVO.getApplyDepartment()) .likeIfPresent(DeviceApplyDO::getApplyUserName, reqVO.getApplyUserName()) .eqIfPresent(DeviceApplyDO::getApplyUser, reqVO.getApplyUser()) + .likeIfPresent(DeviceApplyDO::getTitle, reqVO.getTitle()) .eqIfPresent(DeviceApplyDO::getBusinessCode, reqVO.getBusinessCode()) .betweenIfPresent(DeviceApplyDO::getBusinessDate, reqVO.getBusinessDate()) .eqIfPresent(DeviceApplyDO::getBusinessReason, reqVO.getBusinessReason()) diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/dal/mapper/DeviceConfigFlowMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/dal/mapper/DeviceConfigFlowMapper.java index c06932f8..0209560c 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/dal/mapper/DeviceConfigFlowMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/dal/mapper/DeviceConfigFlowMapper.java @@ -28,7 +28,7 @@ public interface DeviceConfigFlowMapper extends BaseMapperX .eqIfPresent(DeviceConfigFlowDO::getSystemDepartmentCode, reqVO.getSystemDepartmentCode()) .eqIfPresent(DeviceConfigFlowDO::getRemark, reqVO.getRemark()) .betweenIfPresent(DeviceConfigFlowDO::getCreateTime, reqVO.getCreateTime()) - .orderByDesc(DeviceConfigFlowDO::getId)); + .orderByAsc(DeviceConfigFlowDO::getOrderNo)); } default List selectList(DeviceConfigFlowPageReqVO reqVO) { diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/enums/DeviceBizEnum.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/enums/DeviceBizEnum.java index 191116fb..ffacc1a3 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/enums/DeviceBizEnum.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/enums/DeviceBizEnum.java @@ -8,7 +8,7 @@ public enum DeviceBizEnum { scrap("Scrap", "报废"), disable("Disable", "停用"), enable("Enable", "启用"), - lend("Lend", "外借"), + borrow("Borrow", "借用"), giveback("Giveback", "归还"); diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/service/DeviceApplyService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/service/DeviceApplyService.java index 5eee5325..d23fd1c5 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/service/DeviceApplyService.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/service/DeviceApplyService.java @@ -40,7 +40,7 @@ public interface DeviceApplyService { CommonResult submitDeviceApply(DeviceApplySaveReqVO param); //更新设备状态 - void updateDeviceStateByApply(DeviceApplyDO entity); + void updateDeviceStateByApply(DeviceApplyDO entity, Integer switchState); /** * 更新设备通用流程,验收、降级、停用、报废、还原、启用 @@ -72,6 +72,11 @@ public interface DeviceApplyService { */ DeviceApplyDO getDeviceApply(Long id); + /** + * 获取申请详情,含意见内容 + */ + CommonResult getWithOpinions(Long id); + /** * 获得设备通用流程,验收、降级、停用、报废、还原、启用分页 * diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/service/DeviceApplyServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/service/DeviceApplyServiceImpl.java index fea860e7..929584fc 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/service/DeviceApplyServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/service/DeviceApplyServiceImpl.java @@ -13,6 +13,7 @@ import com.zt.plat.module.bpm.api.task.dto.BpmProcessInstanceCreateReqDTO; import com.zt.plat.module.qms.api.task.BMPCallbackInterface; import com.zt.plat.module.qms.api.task.dto.QmsBpmDTO; import com.zt.plat.module.qms.common.data.dal.dataobject.DataCollectionDO; +import com.zt.plat.module.qms.common.data.dal.dataobject.DataOpinionDO; import com.zt.plat.module.qms.common.data.dal.dataobject.DataTemplateDO; import com.zt.plat.module.qms.common.data.service.DataCollectionService; import com.zt.plat.module.qms.common.data.service.DataKeyCheckService; @@ -36,6 +37,8 @@ import org.springframework.util.ObjectUtils; import org.springframework.validation.annotation.Validated; import java.text.SimpleDateFormat; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; import java.util.*; import com.zt.plat.module.qms.resource.device.dal.dataobject.DeviceApplyDO; @@ -68,7 +71,10 @@ public class DeviceApplyServiceImpl implements DeviceApplyService, BMPCallbackIn @Resource private BpmProcessInstanceApi bpmProcessInstanceApi; @Resource private DataKeyCheckService dataKeyCheckService; @Resource private DataOpinionService dataOpinionService; - + private final String titleKey = "title"; + private final Integer switchOn = 1; + private final Integer switchOff = 0; + private final String borrowConfirmKey = "borrowConfirm"; @Override public DeviceApplyRespVO createDeviceApply(DeviceApplySaveReqVO createReqVO) { @@ -88,6 +94,7 @@ public class DeviceApplyServiceImpl implements DeviceApplyService, BMPCallbackIn DeviceConfigFlowDO config = deviceConfigFlowService.getByBusinessType(businessType); if(ObjectUtils.isEmpty(config)) return CommonResult.error(DEVICE_APPLY_NOT_EXISTS.getCode(), "业务类型配置不存在("+businessType+"),请联系管理员处理"); +// DeviceBizEnum deviceBizEnum = DeviceBizEnum.getByCode(businessType); DeviceApplyDO deviceApply = BeanUtils.toBean(createReqVO, DeviceApplyDO.class); if(!ObjectUtils.isEmpty(config.getTemplateKey())){ DataTemplateDO dataTemplate = dataTemplateService.getLatestDataByKey(config.getTemplateKey()); @@ -108,6 +115,12 @@ public class DeviceApplyServiceImpl implements DeviceApplyService, BMPCallbackIn deviceApply.setApplyDepartment(loginUser.getVisitDeptId()); deviceApply.setApplyDepartmentName(loginUser.getVisitDeptName()); deviceApply.setBusinessStatus(QmsCommonConstant.TEMP_DATA_CODE); + //生成标题 + String title = nickName + "的" + config.getBusinessName() + "申请_" + new SimpleDateFormat("yyyy-MM-dd_HH:mm:ss").format(new Date()); + JSONObject formData = new JSONObject(); + formData.put(titleKey, title); + deviceApply.setFormData(formData.toJSONString()); + deviceApply.setTitle( title); deviceApplyMapper.insert(deviceApply); // 返回 return CommonResult.success(BeanUtils.toBean(deviceApply, DeviceApplyRespVO.class)); @@ -151,14 +164,14 @@ public class DeviceApplyServiceImpl implements DeviceApplyService, BMPCallbackIn deviceApplyDetailService.insertBatch(detailDOList); //更新设备状态 - List deviceUpdateList = new ArrayList<>(); - //添加明细后,修改对应业务状态为running - for (DeviceInfomationDO device : addDeviceList) { - CommonResult deviceUpdateRet = deviceInfomationService.initDeviceStatusByBizType(device, apply.getBusinessCode(), QmsCommonConstant.RUNNING, false); - deviceUpdateList.add(deviceUpdateRet.getData()); - } - if(!deviceUpdateList.isEmpty()) - deviceInfomationService.updateBatch(deviceUpdateList); +// List deviceUpdateList = new ArrayList<>(); +// //添加明细后,修改对应业务状态为running +// for (DeviceInfomationDO device : addDeviceList) { +// CommonResult deviceUpdateRet = deviceInfomationService.initDeviceStatusByBizType(device, apply.getBusinessCode(), QmsCommonConstant.RUNNING, false); +// deviceUpdateList.add(deviceUpdateRet.getData()); +// } +// if(!deviceUpdateList.isEmpty()) +// deviceInfomationService.updateBatch(deviceUpdateList); return CommonResult.success(true); } @@ -243,6 +256,12 @@ public class DeviceApplyServiceImpl implements DeviceApplyService, BMPCallbackIn entity.setBusinessStatus(QmsCommonConstant.IN_PROGRESS); deviceApplyMapper.updateById(entity); DeviceApplyRespVO respVO = BeanUtils.toBean(entity, DeviceApplyRespVO.class); + + //设备维修流程,修改设备状态为维修中 + if(DeviceBizEnum.repair.getCode().equals(businessCode)){ + updateDeviceStateByApply(entity, switchOn); + } + return CommonResult.success(respVO); } @@ -264,12 +283,12 @@ public class DeviceApplyServiceImpl implements DeviceApplyService, BMPCallbackIn } @Override - public void deleteDeviceApplyListByIds(List ids) { + public void deleteDeviceApplyListByIds(List ids) { // 校验存在 validateDeviceApplyExists(ids); // 删除 deviceApplyMapper.deleteByIds(ids); - } + } private void validateDeviceApplyExists(List ids) { List list = deviceApplyMapper.selectByIds(ids); @@ -289,6 +308,48 @@ public class DeviceApplyServiceImpl implements DeviceApplyService, BMPCallbackIn return deviceApplyMapper.selectById(id); } + @Override + public CommonResult getWithOpinions(Long id) { + DeviceApplyDO entity = deviceApplyMapper.selectById(id); + List opinions = dataOpinionService.getListByBusId(entity.getId()); + JSONObject opinionJson = new JSONObject(); + for(DataOpinionDO opinion : opinions){ + String nodeKey = opinion.getNodeKey(); + if(ObjectUtils.isEmpty(nodeKey)) + continue; + JSONObject nodeJson = new JSONObject(); + LocalDateTime opinionTime = opinion.getOpinionTime(); + nodeJson.put("nodeName", opinion.getNodeName()); + nodeJson.put("nodeKey", opinion.getNodeKey()); + nodeJson.put("opinionContent", opinion.getOpinionContent()); + //opinionTime转年月日 + if(opinionTime != null) + nodeJson.put("opinionTime", opinionTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); + nodeJson.put("opinionUserName", opinion.getOpinionUserName()); + nodeJson.put("opinionUserId", opinion.getOpinionUserId()); + nodeJson.put("opinionDepartmentName", opinion.getOpinionDepartmentName()); + nodeJson.put("opinionDepartmentId", opinion.getOpinionDepartmentId()); + nodeJson.put("opinionSignatureId", opinion.getOpinionSignatureId()); + opinionJson.put(nodeKey, nodeJson); + } + //entity转json + JSONObject json = JSONObject.parseObject(JSONObject.toJSONString(entity)); + String formData = json.getString("formData"); + if(!ObjectUtils.isEmpty(formData)){ + try{ + JSONObject formDataJson = JSONObject.parseObject(formData); + json.put("formData", formDataJson); + }catch (Exception e){ + log.error("设备维修流程数据转换异常:{}", e.getMessage()); + log.error("异常字符串:{}", formData); + e.printStackTrace(); + + } + } + json.put("opinions", opinionJson); + return CommonResult.success(json); + } + @Override public PageResult getDeviceApplyPage(DeviceApplyPageReqVO pageReqVO) { return deviceApplyMapper.selectPage(pageReqVO); @@ -331,15 +392,20 @@ public class DeviceApplyServiceImpl implements DeviceApplyService, BMPCallbackIn //判断是否最后一个节点 String lastActivityFlag = "0"; String firstActivityFlag = "0"; + String borrowConfirm = "0"; if(!fieldExtensions.isEmpty()){ for(int i = 0; i < fieldExtensions.size(); i++){ JSONObject fieldExtension = fieldExtensions.getJSONObject(i); - if(fieldExtension.getString("fieldName").equalsIgnoreCase(QmsBpmConstant.BPM_LAST_ACTIVITY_FLAG)){ + String stringValue = fieldExtension.getString("stringValue"); + if(fieldExtension.getString("fieldName").equalsIgnoreCase(QmsBpmConstant.BPM_LAST_ACTIVITY_FLAG) && "1".equals(stringValue)){ lastActivityFlag = "1"; } - if(fieldExtension.getString("fieldName").equalsIgnoreCase(QmsBpmConstant.BPM_FIRST_ACTIVITY_FLAG)){ + if(fieldExtension.getString("fieldName").equalsIgnoreCase(QmsBpmConstant.BPM_FIRST_ACTIVITY_FLAG) && "1".equals(stringValue)){ firstActivityFlag = "1"; } + if(fieldExtension.getString("fieldName").equalsIgnoreCase(borrowConfirmKey) && "1".equals(stringValue)){ + borrowConfirm = "1"; + } } } //"RETURN_FLAG_Activity_001": true 标识驳回到发起环节 @@ -358,19 +424,21 @@ public class DeviceApplyServiceImpl implements DeviceApplyService, BMPCallbackIn entity.setBusinessStatus(QmsCommonConstant.IN_PROGRESS); //驳回后重新提交 if("1".equals(lastActivityFlag)){ entity.setBusinessStatus(QmsCommonConstant.COMPLETED); //结束审批 - updateDeviceStateByApply(entity); + //更新设备状态 + updateDeviceStateByApply(entity, switchOff); + } + if("1".equals(borrowConfirm)){ + //更新设备状态 + updateDeviceStateByApply(entity, switchOn); } } deviceApplyMapper.updateById(entity); - - //更新设备状态 - JSONObject ret = new JSONObject(); return CommonResult.success(ret); } @Override - public void updateDeviceStateByApply(DeviceApplyDO entity){ + public void updateDeviceStateByApply(DeviceApplyDO entity, Integer switchState){ List deviceList = new ArrayList<>(); List detailList = deviceApplyDetailService.selectListByApplyId(entity.getId()); String bizType = entity.getBusinessCode(); @@ -380,38 +448,43 @@ public class DeviceApplyServiceImpl implements DeviceApplyService, BMPCallbackIn if(biz == null) throw exception0(DEVICE_INFOMATION_NOT_EXISTS.getCode(), "更新设备状态时发生错误,业务类型不存在:" + bizType); if (bizType.equals(DeviceBizEnum.accept.getCode())) { - flag = "1"; + flag = String.valueOf(switchState); updateStateShow = false; } if (bizType.equals(DeviceBizEnum.repair.getCode())) { - flag = "1"; + flag = String.valueOf(switchState); updateStateShow = true; } if (bizType.equals(DeviceBizEnum.demote.getCode())) { - flag = "1"; + flag = String.valueOf(switchState); updateStateShow = true; } if (bizType.equals(DeviceBizEnum.scrap.getCode())) { - flag = "1"; + flag = String.valueOf(switchState); updateStateShow = true; } if (bizType.equals(DeviceBizEnum.disable.getCode())) { - flag = "1"; + flag = String.valueOf(switchState); updateStateShow = true; } if(bizType.equals(DeviceBizEnum.enable.getCode())){ - flag = "0"; + if(Objects.equals(switchState, switchOn)) + flag = "0"; + else + flag = "1"; updateStateShow = true; } - if (bizType.equals(DeviceBizEnum.lend.getCode())) { - flag = "1"; + if (bizType.equals(DeviceBizEnum.borrow.getCode())) { + flag = String.valueOf(switchState); updateStateShow = true; } if(bizType.equals(DeviceBizEnum.giveback.getCode())){ - flag = "0"; + if(Objects.equals(switchState, switchOn)) + flag = "0"; + else + flag = "1"; updateStateShow = true; } - for(DeviceApplyDetailDO detail : detailList){ DeviceInfomationDO device = deviceInfomationService.getDeviceInfomation(detail.getDeviceInfomationId()); device = deviceInfomationService.initDeviceStatusByBizType(device, bizType, flag, updateStateShow).getData(); diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/service/DeviceInfomationService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/service/DeviceInfomationService.java index 93d793a7..49f4bae5 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/service/DeviceInfomationService.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/service/DeviceInfomationService.java @@ -34,10 +34,11 @@ public interface DeviceInfomationService { //查询需要“某个业务类型”的设备列表 List getListNeedByRule(JSONObject params); - // 更新设备的生命周期状态 CommonResult initDeviceStatusByBizType(DeviceInfomationDO info, String bizType, String flag, boolean updateStateShow); + + //更新“使用中”状态 void updateDeviceInUseFlag(Long deviceId, Integer inUseFlag); // CommonResult updateDeviceRepairFlag(Long deviceId, Integer repairFlag); diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/service/DeviceInfomationServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/service/DeviceInfomationServiceImpl.java index a4154434..20a55b6a 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/service/DeviceInfomationServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/device/service/DeviceInfomationServiceImpl.java @@ -158,7 +158,7 @@ public class DeviceInfomationServiceImpl implements DeviceInfomationService { else info.setDisableFlag(flag); } - if (bizType.equals(DeviceBizEnum.lend.getCode()) || bizType.equals(DeviceBizEnum.giveback.getCode())) { + if (bizType.equals(DeviceBizEnum.borrow.getCode()) || bizType.equals(DeviceBizEnum.giveback.getCode())) { if ("1".equals(flag)) info.setLendFlag("1"); else if ("0".equals(flag)) @@ -167,12 +167,11 @@ public class DeviceInfomationServiceImpl implements DeviceInfomationService { info.setLendFlag(flag); } //未传入状态,则切换状态 -// if (flag == null) { -// state = "1".equals(state) ? "0" : "1"; -// } else { -// state = flag.equals(1) ? "1" : "0"; -// } - + if (flag == null) { + state = "1".equals(state) ? "0" : "1"; + } else { + state = flag.equals(1) ? "1" : "0"; + } if(updateStateShow){ JSONObject json = null; int index = -1; @@ -209,7 +208,8 @@ public class DeviceInfomationServiceImpl implements DeviceInfomationService { } else { JSONObject first = arr.getJSONObject(0); String firstBiz = first.getString("bizType"); - info.setStateShow(DeviceBizEnum.valueOf(firstBiz).getDescribe()); + DeviceBizEnum bizEnum = DeviceBizEnum.getByCode(firstBiz) ; + info.setStateShow(bizEnum.getDescribe()); } }