CheckingRegisterService.java
3.96 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
package com.huaheng.pc.check.checkingRegister.service;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.huaheng.common.exception.service.ServiceException;
import com.huaheng.common.utils.StringUtils;
import com.huaheng.common.utils.security.ShiroUtils;
import com.huaheng.framework.web.domain.AjaxResult;
import com.huaheng.pc.check.checkDetail.domain.CheckDetail;
import com.huaheng.pc.check.checkDetail.service.CheckDetailService;
import com.huaheng.pc.check.checkHeader.domain.CheckHeader;
import com.huaheng.pc.check.checkHeader.service.CheckHeaderService;
import com.huaheng.pc.config.material.domain.Material;
import com.huaheng.pc.config.material.service.MaterialService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.huaheng.pc.check.checkingRegister.domain.CheckingRegister;
import com.huaheng.pc.check.checkingRegister.mapper.CheckingRegisterMapper;
@Service
public class CheckingRegisterService extends ServiceImpl<CheckingRegisterMapper, CheckingRegister> {
@Resource
private CheckHeaderService checkHeaderService;
@Resource
private CheckDetailService checkDetailService;
@Resource
private MaterialService materialService;
/**
* 质检登记修改
* @return
*/
public AjaxResult edit(CheckingRegister checkingRegister){
//判断关联质检头表信息是否正确
CheckHeader checkHeader = checkHeaderService.getById(checkingRegister.getCheckHeaderId());
if (checkHeader.getEnable() == 0){
return AjaxResult.error("关联质检单无效,不允许修改");
}
//判断关联质检头表状态是否允许修改
if ("30".equals(checkHeader.getStatus())){
return AjaxResult.error("关联质检单已完成质检不允许修改质检登记");
}
//判断关联质检明细信息是否正确
LambdaQueryWrapper<CheckDetail> checkDetailLambda = Wrappers.lambdaQuery();
checkDetailLambda.eq(CheckDetail::getCheckHeaderId, checkingRegister.getCheckHeaderId());
List<CheckDetail> checkDetails = checkDetailService.list();
int i = 0;
for (CheckDetail checkDetail: checkDetails){
if (checkDetail.getId() == checkingRegister.getReceiptDetailId()){
i = 1;
}
}
if (i == 0){
return AjaxResult.error("质检单下不存在该质检明细");
}
//判断关联质检明细物料信息是否正确
CheckDetail checkDetail = checkDetailService.getById(checkingRegister.getReceiptDetailId());
if (checkDetail.getMaterialCode() != checkingRegister.getMaterialCode()){
return AjaxResult.error("关联质检明细的物料编码不匹配");
}
LambdaQueryWrapper<Material> materialLambda = Wrappers.lambdaQuery();
materialLambda.eq(Material::getCode, checkingRegister.getMaterialCode());
Material material = materialService.getOne(materialLambda);
checkingRegister.setMaterialName(material.getName());
checkingRegister.setMaterialSpec(material.getSpec());
checkingRegister.setMaterialUnit(material.getUnit());
checkingRegister.setLastUpdatedBy(ShiroUtils.getLoginName());
checkingRegister.setCheckAt(new Date());
checkingRegister.setCheckBy(ShiroUtils.getLoginName());
if (StringUtils.isNull(checkingRegister.getId())){
checkingRegister.setCreatedBy(ShiroUtils.getLoginName());
if (!this.save(checkingRegister)){
throw new ServiceException("添加质检登记失败");
}
} else {
if (!this.updateById(checkingRegister)){
throw new SecurityException("更新质检登记失败");
}
}
return AjaxResult.success("");
}
}