2022年9月15日

dev
litao 3 years ago
parent c086675451
commit 0ef80c4dcb
  1. 38
      lab-service-api/lab-lims-api/src/main/java/org/springblade/lims/entry/ScrapApplication.java
  2. 6
      lab-service/lab-capital/src/main/java/org/springblade/lims/goods/controller/ApplyController.java
  3. 29
      lab-service/lab-lims/src/main/java/org/springblade/lims/controller/RepairApplicationController.java
  4. 104
      lab-service/lab-lims/src/main/java/org/springblade/lims/controller/ScrapApplicationController.java
  5. 14
      lab-service/lab-lims/src/main/java/org/springblade/lims/mapper/ScrapApplicationMapper.java
  6. 13
      lab-service/lab-lims/src/main/java/org/springblade/lims/service/IScrapApplicationService.java
  7. 93
      lab-service/lab-lims/src/main/java/org/springblade/lims/service/impl/EntrustServiceImpl.java
  8. 22
      lab-service/lab-lims/src/main/java/org/springblade/lims/service/impl/ScrapApplicationServiceImpl.java

@ -28,6 +28,8 @@ public class ScrapApplication extends BaseEntity implements Serializable {
private String name;
// 仪器/设备类型
private String type;
// 型号
private String model;
// 购置时间
private Date purchaseTime;
// 处理情况
@ -36,10 +38,10 @@ public class ScrapApplication extends BaseEntity implements Serializable {
private Double money;
// 报废原因及技术状况
private String reasonAndState;
// 申请人
// 设备员id
@JsonSerialize(nullsUsing = NullSerializer.class)
private Long equipmentId;
// 申请人姓名
// 设备员姓名
private String equipmentName;
// 确认日期
private Date applyDate;
@ -52,10 +54,10 @@ public class ScrapApplication extends BaseEntity implements Serializable {
private String reviewComments;
// 审核时间
private Date reviewDate;
// 业务室id
// 技术负责人id
@JsonSerialize(nullsUsing = NullSerializer.class)
private Long businessOfficeId;
// 业务室姓名
// 技术负责人姓名
private String businessOfficeName;
// 审批意见
private String approvalComments;
@ -66,36 +68,10 @@ public class ScrapApplication extends BaseEntity implements Serializable {
private Long centerDirectorId;
// 中心主任姓名
private String centerDirectorName;
// 维修记录
private String maintenanceRecord;
// 维修人
private String maintainer;
// 维修时间
private Date maintainerDate;
// 总工时
@JsonSerialize(nullsUsing = NullSerializer.class)
private Double workingHours;
// 人工费
@JsonSerialize(nullsUsing = NullSerializer.class)
private Double laborCost;
// 材料费
@JsonSerialize(nullsUsing = NullSerializer.class)
private Double materialCost;
// 总计费
@JsonSerialize(nullsUsing = NullSerializer.class)
private Double totalCost;
// 用户意见
private String userComments;
// 验收人id
@JsonSerialize(nullsUsing = NullSerializer.class)
private Long acceptedBy;
// 验收人姓名
private String acceptedName;
// 验收时间
private Date acceptedDate;
// 备注
private String remark;
// 开始时间
@TableField(exist = false)
private Date startTime;

@ -158,15 +158,13 @@ public class ApplyController extends BladeController {
List<User> userList = userClient.listDeptUserByCurrentUser(AuthUtil.getDeptId()).getData();
if ("0".equals(isApproval)) {
apply.setApproveTime(new Date());
R<User> userR = userClient.userInfoById(apply.getApproveUserId());
if (userR != null) {
apply.setApproveUser(userR.getData().getName());
}
apply.setStatus(1);
// 消息通知
if (userList != null) {
for (User user : userList) {
if ("1542095624162525185".equals(user.getRoleId())) {
apply.setApproveUserId(user.getId());
apply.setApproveUser(user.getName());
messageClient.event(SysTypeEnum.INFORM.getValue(), "申领抄送",
"你有新的申领单审核已通过,请查看", 1, 5, user.getId().toString(), "/capital/shenlingList");
}

@ -11,8 +11,10 @@ import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
import org.springblade.lims.entry.Instrument;
import org.springblade.lims.entry.RepairApplication;
import org.springblade.lims.entry.ScrapApplication;
import org.springblade.lims.service.IInstrumentService;
import org.springblade.lims.service.IRepairApplicationService;
import org.springblade.lims.service.IScrapApplicationService;
import org.springblade.resource.enums.SysTypeEnum;
import org.springblade.resource.feign.IMessageClient;
import org.springblade.system.user.entity.User;
@ -40,6 +42,8 @@ public class RepairApplicationController extends BladeController {
private final IInstrumentService instrumentService;
private final IScrapApplicationService scrapApplicationService;
/**
* 分页 列表
*/
@ -122,16 +126,35 @@ public class RepairApplicationController extends BladeController {
repairApplication.setCenterDirectorId(AuthUtil.getUserId());
repairApplication.setCenterDirectorName(AuthUtil.getUserName());
}
// 验收
if (repairApplication.getStatus() == 4) {
// 验收及报废
if (repairApplication.getStatus() == 4 || repairApplication.getStatus() == 5) {
repairApplication.setAcceptedBy(AuthUtil.getUserId());
repairApplication.setAcceptedName(AuthUtil.getUserName());
repairApplication.setAcceptedDate(new Date());
// 修改设备状态为关机
Instrument instrument = new Instrument();
instrument.setId(repairApplication.getInstrumentId());
instrument.setInstrumentStatus("0");
if (repairApplication.getStatus() == 4) {
instrument.setInstrumentStatus("0");
} else {
instrument.setInstrumentStatus("3");
}
instrumentService.updateById(instrument);
// 报废
if (repairApplication.getStatus() == 5) {
RepairApplication application = repairApplicationService.getById(repairApplication.getId());
ScrapApplication scrapApplication = new ScrapApplication();
scrapApplication.setInstrumentId(application.getInstrumentId());
scrapApplication.setCode(application.getCode());
scrapApplication.setType(application.getType());
scrapApplication.setName(application.getName());
scrapApplication.setEquipmentId(AuthUtil.getUserId());
scrapApplication.setEquipmentName(AuthUtil.getUserName());
scrapApplication.setCreateTime(new Date());
scrapApplication.setModel(application.getVersion());
scrapApplication.setStatus(0);
scrapApplicationService.save(scrapApplication);
}
}
return R.status(repairApplicationService.updateById(repairApplication));
}

@ -0,0 +1,104 @@
package org.springblade.lims.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.Api;
import lombok.AllArgsConstructor;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
import org.springblade.lims.entry.Instrument;
import org.springblade.lims.entry.RepairApplication;
import org.springblade.lims.entry.ScrapApplication;
import org.springblade.lims.service.IInstrumentService;
import org.springblade.lims.service.IRepairApplicationService;
import org.springblade.lims.service.IScrapApplicationService;
import org.springblade.resource.enums.SysTypeEnum;
import org.springblade.resource.feign.IMessageClient;
import org.springblade.system.user.entity.User;
import org.springblade.system.user.feign.IUserClient;
import org.springframework.web.bind.annotation.*;
import java.util.Date;
import java.util.List;
/**
* @author swj
* @since 2022年6月1日19:49:10
*/
@RestController
@AllArgsConstructor
@RequestMapping("/scrapApplication")
@Api(value = "", tags = "")
public class ScrapApplicationController extends BladeController {
private final IScrapApplicationService scrapApplicationService;
private final IMessageClient messageClient;
private final IUserClient userClient;
private final IInstrumentService instrumentService;
/**
* 分页 列表
*/
@GetMapping("/list")
public R<IPage> list(ScrapApplication scrapApplication, Query query) {
LambdaQueryWrapper<ScrapApplication> wrapper = new LambdaQueryWrapper<>();
if (scrapApplication.getStatus() != null) {
wrapper.eq(ScrapApplication::getStatus, scrapApplication.getStatus());
}
if (scrapApplication.getName() != null && !"".equals(scrapApplication.getName())) {
wrapper.and(qw -> qw
.like(ScrapApplication::getCode, scrapApplication.getName()).or()
.like(ScrapApplication::getName, scrapApplication.getName()).or()
.like(ScrapApplication::getType, scrapApplication.getName())
);
}
if (scrapApplication.getStartTime() != null && scrapApplication.getEndTime() != null) {
wrapper.between(ScrapApplication::getCreateTime, scrapApplication.getStartTime(), scrapApplication.getEndTime());
}
wrapper.orderByDesc(ScrapApplication::getCreateTime);
IPage<ScrapApplication> page = scrapApplicationService.page(Condition.getPage(query), wrapper);
return R.data(page);
}
/**
* 修改
*/
@PostMapping("/update")
public R update(@RequestBody ScrapApplication scrapApplication){
// 确认
if (scrapApplication.getStatus() == 1) {
// 发送提示消息
messageClient.event(SysTypeEnum.INFORM.getValue(), "报修审核",
"您有新的报修申请单待审核,请及时处理", 1, 5, "1555122570980995073","/repair/proposer");
scrapApplication.setApplyDeptUser(AuthUtil.getUserId());
scrapApplication.setApplyDeptUserName(AuthUtil.getUserName());
scrapApplication.setApplyDate(new Date());
}
// 审核
if (scrapApplication.getStatus() == 2) {
// 发送提示消息
messageClient.event(SysTypeEnum.INFORM.getValue(), "报修审批",
"您有新的报修申请单待审批,请及时处理", 1, 5, "1552118581265973249","/repair/proposer");
scrapApplication.setReviewDate(new Date());
scrapApplication.setBusinessOfficeId(AuthUtil.getUserId());
scrapApplication.setBusinessOfficeName(AuthUtil.getUserName());
}
// 审批
if (scrapApplication.getStatus() == 3) {
scrapApplication.setApprovalDate(new Date());
scrapApplication.setCenterDirectorId(AuthUtil.getUserId());
scrapApplication.setCenterDirectorName(AuthUtil.getUserName());
// 修改设备状态为已报废
Instrument instrument = new Instrument();
instrument.setId(scrapApplication.getInstrumentId());
instrument.setInstrumentStatus("4");
instrumentService.updateById(instrument);
}
return R.status(scrapApplicationService.updateById(scrapApplication));
}
}

@ -0,0 +1,14 @@
package org.springblade.lims.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springblade.lims.entry.RepairApplication;
import org.springblade.lims.entry.ScrapApplication;
/**
* @author swj
* @since 2022年6月2日15:47:39
*/
public interface ScrapApplicationMapper extends BaseMapper<ScrapApplication> {
}

@ -0,0 +1,13 @@
package org.springblade.lims.service;
import org.springblade.core.mp.base.BaseService;
import org.springblade.lims.entry.RepairApplication;
import org.springblade.lims.entry.ScrapApplication;
/**
* @author swj
* @since 2022年6月1日19:50:34
*/
public interface IScrapApplicationService extends BaseService<ScrapApplication> {
}

@ -1900,54 +1900,57 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
}
if (list1.size() > 0) {
if (list1.size() % 3 == 0) {
for (int i = 0; i < list1.size() / 3; i++) {
Map<String, Object> map = new HashMap<>();
map.put("num1", list1.get(i).getNum());
map.put("value1", list1.get(i).getValue());
map.put("result1", list1.get(i).getResult());
map.put("num2", list1.get(list1.size() / 3 + i).getNum());
map.put("value2", list1.get(list1.size() / 3 + i).getValue());
map.put("result2", list1.get(list1.size() / 3 + i).getResult());
map.put("num3", list1.get(list1.size() / 3 * 2 + i).getNum());
map.put("value3", list1.get(list1.size() / 3 * 2 + i).getValue());
map.put("result3", list1.get(list1.size() / 3 * 2 + i).getResult());
resultList1.add(map);
}
}
else {
for (int i = 0; i < list1.size() / 3 + 1; i++) {
if (list1.size() % 3 == 1) {
for (int j = 0; j < list1.size() / 90 + 1; j++) {
List<ExamineDataArrVO> list2 = new ArrayList<>();
if (list1.size() % 3 == 0) {
for (int i = 0; i < list1.size() / 3; i++) {
Map<String, Object> map = new HashMap<>();
map.put("num1", list1.get(i).getNum());
map.put("value1", list1.get(i).getValue());
map.put("result1", list1.get(i).getResult());
if (i < list1.size() / 3) {
map.put("num2", list1.get(list1.size() / 3 + i).getNum());
map.put("value2", list1.get(list1.size() / 3 + i).getValue());
map.put("result2", list1.get(list1.size() / 3 + i).getResult());
map.put("num3", list1.get(list1.size() / 3 * 2 + i).getNum());
map.put("value3", list1.get(list1.size() / 3 * 2 + i).getValue());
map.put("result3", list1.get(list1.size() / 3 * 2 + i).getResult());
resultList1.add(map);
}
}
else {
for (int i = 0; i < list1.size() / 3 + 1; i++) {
if (list1.size() % 3 == 1) {
Map<String, Object> map = new HashMap<>();
map.put("num1", list1.get(i).getNum());
map.put("value1", list1.get(i).getValue());
map.put("result1", list1.get(i).getResult());
if (i < list1.size() / 3) {
map.put("num2", list1.get(list1.size() / 3 + i + 1).getNum());
map.put("value2", list1.get(list1.size() / 3 + i + 1).getValue());
map.put("result2", list1.get(list1.size() / 3 + i + 1).getResult());
map.put("num3", list1.get(list1.size() / 3 * 2 + i + 1).getNum());
map.put("value3", list1.get(list1.size() / 3 * 2 + i + 1).getValue());
map.put("result3", list1.get(list1.size() / 3 * 2 + i + 1).getResult());
}
resultList1.add(map);
} else if (list1.size() % 3 == 2) {
Map<String, Object> map = new HashMap<>();
map.put("num1", list1.get(i).getNum());
map.put("value1", list1.get(i).getValue());
map.put("result1", list1.get(i).getResult());
map.put("num2", list1.get(list1.size() / 3 + i + 1).getNum());
map.put("value2", list1.get(list1.size() / 3 + i + 1).getValue());
map.put("result2", list1.get(list1.size() / 3 + i + 1).getResult());
map.put("num3", list1.get(list1.size() / 3 * 2 + i + 1).getNum());
map.put("value3", list1.get(list1.size() / 3 * 2 + i + 1).getValue());
map.put("result3", list1.get(list1.size() / 3 * 2 + i + 1).getResult());
}
resultList1.add(map);
} else if (list1.size() % 3 == 2) {
Map<String, Object> map = new HashMap<>();
map.put("num1", list1.get(i).getNum());
map.put("value1", list1.get(i).getValue());
map.put("result1", list1.get(i).getResult());
map.put("num2", list1.get(list1.size() / 3 + i + 1).getNum());
map.put("value2", list1.get(list1.size() / 3 + i + 1).getValue());
map.put("result2", list1.get(list1.size() / 3 + i + 1).getResult());
if (i < list1.size() / 3) {
map.put("num3", list1.get(list1.size() / 3 * 2 + i + 2).getNum());
map.put("value3", list1.get(list1.size() / 3 * 2 + i + 2).getValue());
map.put("result3", list1.get(list1.size() / 3 * 2 + i + 2).getResult());
if (i < list1.size() / 3) {
map.put("num3", list1.get(list1.size() / 3 * 2 + i + 2).getNum());
map.put("value3", list1.get(list1.size() / 3 * 2 + i + 2).getValue());
map.put("result3", list1.get(list1.size() / 3 * 2 + i + 2).getResult());
}
resultList1.add(map);
}
resultList1.add(map);
}
}
}
@ -3034,11 +3037,13 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
@Override
public void repairPrint(String id, HttpServletResponse response) {
String dateStamp = new java.text.SimpleDateFormat("yyyyMMddHHmmss").format(new Date());
String srcPathName = "C://Users//AAA//Desktop//shuojin//" + dateStamp;
String outputFile = "C://Users//AAA//Desktop//shuojin//" + dateStamp + ".zip";
// String srcPathName = "C://Users//AAA//Desktop//shuojin//" + dateStamp;
String srcPathName = "D://" + dateStamp;
// String outputFile = "C://Users//AAA//Desktop//shuojin//" + dateStamp + ".zip";
String outputFile = "D://" + dateStamp + ".zip";
File file = new File(srcPathName);
//如果文件夹不存在,创建文件夹
if(!file.exists()){
if (!file.exists()) {
file.mkdir();
}
XWPFDocument doc = null;
@ -3123,7 +3128,7 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
int length = 0;
while ((length = stream.read(buff)) > 0) {
out.write(buff,0,length);
out.write(buff, 0, length);
}
stream.close();
out.close();

@ -0,0 +1,22 @@
package org.springblade.lims.service.impl;
import lombok.AllArgsConstructor;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.lims.entry.RepairApplication;
import org.springblade.lims.entry.ScrapApplication;
import org.springblade.lims.mapper.RepairApplicationMapper;
import org.springblade.lims.mapper.ScrapApplicationMapper;
import org.springblade.lims.service.IRepairApplicationService;
import org.springblade.lims.service.IScrapApplicationService;
import org.springframework.stereotype.Service;
/**
* @author swj
* @since 2022年6月2日15:53:01
*/
@Service
@AllArgsConstructor
public class ScrapApplicationServiceImpl extends BaseServiceImpl<ScrapApplicationMapper, ScrapApplication> implements IScrapApplicationService {
}
Loading…
Cancel
Save