package doumeemes.service.business.impl;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import doumeemes.core.model.ApiResponse;
|
import doumeemes.core.model.LoginUserInfo;
|
import doumeemes.core.model.PageData;
|
import doumeemes.core.model.PageWrap;
|
import doumeemes.core.utils.Constants;
|
import doumeemes.core.utils.DateUtil;
|
import doumeemes.core.utils.Utils;
|
import doumeemes.dao.business.WorkorderCheckMapper;
|
import doumeemes.dao.business.model.Appliances;
|
import doumeemes.dao.business.model.Workorder;
|
import doumeemes.dao.business.model.WorkorderCheck;
|
import doumeemes.dao.business.model.WorkorderHistory;
|
import doumeemes.dao.ext.WorkorderCheckExtMapper;
|
import doumeemes.dao.ext.WorkorderExtMapper;
|
import doumeemes.dao.ext.WorkorderHistoryExtMapper;
|
import doumeemes.dao.ext.dto.QueryWorkorderCheckExtDTO;
|
import doumeemes.dao.ext.vo.WorkorderCheckExtListVO;
|
import doumeemes.dao.system.model.SystemDictData;
|
import doumeemes.service.business.WorkorderCheckService;
|
import doumeemes.service.ext.WorkorderCheckExtService;
|
import doumeemes.service.ext.impl.WorkorderExtServiceImpl;
|
import doumeemes.service.system.impl.SystemDictDataServiceImpl;
|
import org.apache.commons.lang3.StringUtils;
|
import org.apache.shiro.SecurityUtils;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.util.CollectionUtils;
|
|
import java.util.ArrayList;
|
import java.util.Date;
|
import java.util.List;
|
|
/**
|
* 工单类-检验信息表Service实现
|
* @author 江蹄蹄
|
* @date 2022/04/20 09:37
|
*/
|
@Service
|
public class WorkorderCheckServiceImpl implements WorkorderCheckService {
|
|
@Autowired
|
private WorkorderExtMapper workorderExtMapper;
|
@Autowired
|
private WorkorderHistoryExtMapper workorderHistoryExtMapper;
|
@Autowired
|
private WorkorderCheckMapper workorderCheckMapper;
|
@Autowired
|
private WorkorderCheckExtService workorderCheckExtService;
|
@Autowired
|
private AppliancesServiceImpl appliancesServiceImpl;
|
|
@Autowired
|
private SystemDictDataServiceImpl systemDictDataServiceimpl;
|
|
@Autowired
|
private WorkorderCheckExtMapper workorderCheckExtMapper;
|
|
@Override
|
public Integer create(WorkorderCheck workorderCheck) {
|
workorderCheckMapper.insert(workorderCheck);
|
return workorderCheck.getId();
|
}
|
|
@Override
|
public ApiResponse deleteById(Integer id) {
|
LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
|
QueryWorkorderCheckExtDTO qwc=new QueryWorkorderCheckExtDTO();
|
qwc.setId(id);
|
qwc.setCreateUser(user.getId());
|
List<WorkorderCheckExtListVO> result = workorderCheckExtMapper.selectListNew(qwc);
|
if(result!=null&&result.size()>0){
|
WorkorderCheckExtListVO wca=result.get(0);
|
|
if(wca!=null&&(Constants.equalsInteger(Constants.WORKORDER_STATUS.done,wca.getWorkorderstatus())||Constants.equalsInteger(Constants.WORKORDER_STATUS.baogong,wca.getWorkorderstatus()))){
|
return ApiResponse.failed("工单已完工/已报工状态下不允许删除!");
|
}else{
|
WorkorderCheck find=workorderCheckMapper.selectById(wca.getId());
|
find.setDeleted(Constants.ONE);
|
workorderCheckMapper.updateById(find);
|
return ApiResponse.success(null);
|
}
|
|
}else{
|
return ApiResponse.failed("只能删除自己创建的检验记录!");
|
}
|
|
}
|
|
@Override
|
public void delete(WorkorderCheck workorderCheck) {
|
UpdateWrapper<WorkorderCheck> deleteWrapper = new UpdateWrapper<>(workorderCheck);
|
workorderCheckMapper.delete(deleteWrapper);
|
}
|
|
@Override
|
public void deleteByIdInBatch(List<Integer> ids) {
|
if (CollectionUtils.isEmpty(ids)) {
|
return;
|
}
|
workorderCheckMapper.deleteBatchIds(ids);
|
}
|
|
@Override
|
public void updateById(WorkorderCheck workorderCheck) {
|
workorderCheckMapper.updateById(workorderCheck);
|
}
|
|
@Override
|
public void updateByIdInBatch(List<WorkorderCheck> workorderChecks) {
|
if (CollectionUtils.isEmpty(workorderChecks)) {
|
return;
|
}
|
for (WorkorderCheck workorderCheck: workorderChecks) {
|
this.updateById(workorderCheck);
|
}
|
}
|
|
@Override
|
public WorkorderCheck findById(Integer id) {
|
return workorderCheckMapper.selectById(id);
|
}
|
|
@Override
|
public WorkorderCheck findOne(WorkorderCheck workorderCheck) {
|
QueryWrapper<WorkorderCheck> wrapper = new QueryWrapper<>(workorderCheck);
|
return workorderCheckMapper.selectOne(wrapper);
|
}
|
|
@Override
|
public List<WorkorderCheck> findList(WorkorderCheck workorderCheck) {
|
QueryWrapper<WorkorderCheck> wrapper = new QueryWrapper<>(workorderCheck);
|
return workorderCheckMapper.selectList(wrapper);
|
}
|
|
@Override
|
public PageData<WorkorderCheck> findPage(PageWrap<WorkorderCheck> pageWrap) {
|
IPage<WorkorderCheck> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
|
QueryWrapper<WorkorderCheck> queryWrapper = new QueryWrapper<>();
|
Utils.MP.blankToNull(pageWrap.getModel());
|
if (pageWrap.getModel().getId() != null) {
|
queryWrapper.lambda().eq(WorkorderCheck::getId, pageWrap.getModel().getId());
|
}
|
if (pageWrap.getModel().getDeleted() != null) {
|
queryWrapper.lambda().eq(WorkorderCheck::getDeleted, pageWrap.getModel().getDeleted());
|
}
|
if (pageWrap.getModel().getCreateUser() != null) {
|
queryWrapper.lambda().eq(WorkorderCheck::getCreateUser, pageWrap.getModel().getCreateUser());
|
}
|
if (pageWrap.getModel().getCreateTime() != null) {
|
queryWrapper.lambda().ge(WorkorderCheck::getCreateTime, Utils.Date.getStart(pageWrap.getModel().getCreateTime()));
|
queryWrapper.lambda().le(WorkorderCheck::getCreateTime, Utils.Date.getEnd(pageWrap.getModel().getCreateTime()));
|
}
|
if (pageWrap.getModel().getUpdateUser() != null) {
|
queryWrapper.lambda().eq(WorkorderCheck::getUpdateUser, pageWrap.getModel().getUpdateUser());
|
}
|
if (pageWrap.getModel().getUpdateTime() != null) {
|
queryWrapper.lambda().ge(WorkorderCheck::getUpdateTime, Utils.Date.getStart(pageWrap.getModel().getUpdateTime()));
|
queryWrapper.lambda().le(WorkorderCheck::getUpdateTime, Utils.Date.getEnd(pageWrap.getModel().getUpdateTime()));
|
}
|
if (pageWrap.getModel().getRemark() != null) {
|
queryWrapper.lambda().eq(WorkorderCheck::getRemark, pageWrap.getModel().getRemark());
|
}
|
if (pageWrap.getModel().getRootDepartId() != null) {
|
queryWrapper.lambda().eq(WorkorderCheck::getRootDepartId, pageWrap.getModel().getRootDepartId());
|
}
|
if (pageWrap.getModel().getDepartId() != null) {
|
queryWrapper.lambda().eq(WorkorderCheck::getDepartId, pageWrap.getModel().getDepartId());
|
}
|
if (pageWrap.getModel().getPlanId() != null) {
|
queryWrapper.lambda().eq(WorkorderCheck::getPlanId, pageWrap.getModel().getPlanId());
|
}
|
if (pageWrap.getModel().getWorkorderId() != null) {
|
queryWrapper.lambda().eq(WorkorderCheck::getWorkorderId, pageWrap.getModel().getWorkorderId());
|
}
|
if (pageWrap.getModel().getBatch() != null) {
|
queryWrapper.lambda().eq(WorkorderCheck::getBatch, pageWrap.getModel().getBatch());
|
}
|
if (pageWrap.getModel().getFactoryId() != null) {
|
queryWrapper.lambda().eq(WorkorderCheck::getFactoryId, pageWrap.getModel().getFactoryId());
|
}
|
if (pageWrap.getModel().getProcedureId() != null) {
|
queryWrapper.lambda().eq(WorkorderCheck::getProcedureId, pageWrap.getModel().getProcedureId());
|
}
|
if (pageWrap.getModel().getProDeviceId() != null) {
|
queryWrapper.lambda().eq(WorkorderCheck::getProDeviceId, pageWrap.getModel().getProDeviceId());
|
}
|
if (pageWrap.getModel().getAppliancesId() != null) {
|
queryWrapper.lambda().eq(WorkorderCheck::getAppliancesId, pageWrap.getModel().getAppliancesId());
|
}
|
if (pageWrap.getModel().getProDate() != null) {
|
queryWrapper.lambda().ge(WorkorderCheck::getProDate, Utils.Date.getStart(pageWrap.getModel().getProDate()));
|
queryWrapper.lambda().le(WorkorderCheck::getProDate, Utils.Date.getEnd(pageWrap.getModel().getProDate()));
|
}
|
if (pageWrap.getModel().getType() != null) {
|
queryWrapper.lambda().eq(WorkorderCheck::getType, pageWrap.getModel().getType());
|
}
|
if (pageWrap.getModel().getNum() != null) {
|
queryWrapper.lambda().eq(WorkorderCheck::getNum, pageWrap.getModel().getNum());
|
}
|
if (pageWrap.getModel().getDoneType() != null) {
|
queryWrapper.lambda().eq(WorkorderCheck::getDoneType, pageWrap.getModel().getDoneType());
|
}
|
if (pageWrap.getModel().getMaterialId() != null) {
|
queryWrapper.lambda().eq(WorkorderCheck::getMaterialId, pageWrap.getModel().getMaterialId());
|
}
|
if (pageWrap.getModel().getUnitId() != null) {
|
queryWrapper.lambda().eq(WorkorderCheck::getUnitId, pageWrap.getModel().getUnitId());
|
}
|
if (pageWrap.getModel().getMaterialBatch() != null) {
|
queryWrapper.lambda().eq(WorkorderCheck::getMaterialBatch, pageWrap.getModel().getMaterialBatch());
|
}
|
if (pageWrap.getModel().getCheckWay() != null) {
|
queryWrapper.lambda().eq(WorkorderCheck::getCheckWay, pageWrap.getModel().getCheckWay());
|
}
|
if (pageWrap.getModel().getCheckUserId() != null) {
|
queryWrapper.lambda().eq(WorkorderCheck::getCheckUserId, pageWrap.getModel().getCheckUserId());
|
}
|
if (pageWrap.getModel().getQualifiedNum() != null) {
|
queryWrapper.lambda().eq(WorkorderCheck::getQualifiedNum, pageWrap.getModel().getQualifiedNum());
|
}
|
if (pageWrap.getModel().getUnqualifiedNum() != null) {
|
queryWrapper.lambda().eq(WorkorderCheck::getUnqualifiedNum, pageWrap.getModel().getUnqualifiedNum());
|
}
|
if (pageWrap.getModel().getCheckScope() != null) {
|
queryWrapper.lambda().eq(WorkorderCheck::getCheckScope, pageWrap.getModel().getCheckScope());
|
}
|
if (pageWrap.getModel().getCheckDate() != null) {
|
queryWrapper.lambda().ge(WorkorderCheck::getCheckDate, Utils.Date.getStart(pageWrap.getModel().getCheckDate()));
|
queryWrapper.lambda().le(WorkorderCheck::getCheckDate, Utils.Date.getEnd(pageWrap.getModel().getCheckDate()));
|
}
|
if (pageWrap.getModel().getCheckInfo() != null) {
|
queryWrapper.lambda().eq(WorkorderCheck::getCheckInfo, pageWrap.getModel().getCheckInfo());
|
}
|
if (pageWrap.getModel().getQualifiedApplianceId() != null) {
|
queryWrapper.lambda().eq(WorkorderCheck::getQualifiedApplianceId, pageWrap.getModel().getQualifiedApplianceId());
|
}
|
if (pageWrap.getModel().getProUserids() != null) {
|
queryWrapper.lambda().eq(WorkorderCheck::getProUserids, pageWrap.getModel().getProUserids());
|
}
|
for(PageWrap.SortData sortData: pageWrap.getSorts()) {
|
if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
|
queryWrapper.orderByDesc(sortData.getProperty());
|
} else {
|
queryWrapper.orderByAsc(sortData.getProperty());
|
}
|
}
|
return PageData.from(workorderCheckMapper.selectPage(page, queryWrapper));
|
}
|
|
@Override
|
public long count(WorkorderCheck workorderCheck) {
|
QueryWrapper<WorkorderCheck> wrapper = new QueryWrapper<>(workorderCheck);
|
return workorderCheckMapper.selectCount(wrapper);
|
}
|
|
@Override
|
@Transactional
|
public ApiResponse insertData(WorkorderCheck wc) {
|
if(wc.getWorkorderId()==null){
|
return ApiResponse.failed("工单id不能为空");
|
}
|
if(wc.getAppliancesId()==null){
|
return ApiResponse.failed("工装id不能为空");
|
}
|
if(wc.getCheckType()==null){
|
return ApiResponse.failed("检验类型不能为空!");
|
}
|
LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
|
|
//工单对象
|
Workorder workorder=workorderExtMapper.selectById(wc.getWorkorderId());
|
if(workorder==null
|
|| workorder.getStatus()==Constants.WORKORDER_STATUS.done
|
||workorder.getStatus()==Constants.WORKORDER_STATUS.baogong
|
||workorder.getStatus()==Constants.WORKORDER_STATUS.instock
|
||workorder.getStatus()==Constants.WORKORDER_STATUS.cancel){
|
return ApiResponse.failed("工单不允许检验");
|
}
|
if(workorder.getPlanNum()!=null){
|
Integer unqualifiedNum=wc.getUnqualifiedNum()!=null?wc.getUnqualifiedNum():0;
|
Integer qualifiedNum=wc.getQualifiedNum()!=null?wc.getQualifiedNum():0;
|
Integer num=unqualifiedNum+qualifiedNum;
|
if(num>workorder.getPlanNum()){
|
return ApiResponse.failed("合格数量加不良数量不能大于计划数量");
|
}
|
|
}else{
|
return ApiResponse.failed("计划数量无数据");
|
}
|
/* Appliances checkappliance= appliancesServiceImpl.findById(Integer.valueOf(wc.getAppliancesId()));//
|
if(checkappliance!=null&&checkappliance.getNum()!=null){
|
Integer unqualifiedNum1=wc.getUnqualifiedNum();
|
Integer qualifiedNum1=wc.getQualifiedNum();
|
Integer num=unqualifiedNum1+qualifiedNum1;
|
if(num>checkappliance.getNum().intValue()){
|
return ApiResponse.failed("合格数量加不良数量不能大于篮筐中物料的数量");
|
}
|
}else{
|
return ApiResponse.failed("工装不存在");
|
}*/
|
|
if (Constants.equalsInteger(wc.getCheckType() ,Constants.WORKORDER_CHECKTYPE.done)){
|
//完工检验时先判断 是否存在巡线或者巡检记录不存在不允许完工检验
|
WorkorderCheck cd=new WorkorderCheck();
|
cd.setDeleted(Constants.ZERO);
|
cd.setWorkorderId(wc.getWorkorderId());
|
cd.setRootDepartId(workorder.getRootDepartId());
|
cd.setDepartId(workorder.getDepartId());
|
List<WorkorderCheck> listcd=this.findList(cd);
|
if(listcd==null || listcd.size() ==0){
|
return ApiResponse.failed("巡线或者巡检检验记录不存在,不允许完工检验");
|
}
|
}
|
wc.setMaterialBatch(workorder.getBatch());
|
wc.setMaterialId(workorder.getMaterialId());
|
wc.setDeleted(Constants.ZERO);
|
wc.setCreateTime(new Date());
|
wc.setCreateUser(user.getId());
|
wc.setRootDepartId(workorder.getRootDepartId());
|
wc.setDepartId(workorder.getDepartId());
|
wc.setPlanId(workorder.getPlanId());
|
// wc.setWorkorderId();
|
wc.setBatch(workorder.getBatch());
|
wc.setFactoryId(workorder.getFactoryId());
|
wc.setProcedureId(workorder.getProcedureId());
|
wc.setProDeviceId(workorder.getProGroupId());
|
//wc.setAppliancesId(null);
|
wc.setProDate(workorder.getPlanDate());
|
|
// wc.setType();
|
wc.setNum(workorder.getPlanNum());
|
//工装对象
|
if(wc.getQualifiedApplianceId()!=null){
|
Appliances appliances= appliancesServiceImpl.findById(Integer.valueOf(wc.getQualifiedApplianceId()));//
|
wc.setDoneType(appliances.getType());
|
if(wc.getUnqualifiedNum()>0&&workorder.getType()==1||workorder.getType()==2){
|
SystemDictData systemDictData=systemDictDataServiceimpl.findById(appliances.getType());
|
if(!StringUtils.equals(Constants.APPLIANCES_TYPE_LABLE.scrap,systemDictData.getLabel()) ){
|
return ApiResponse.failed("当前工单为返工返修--只能选择报废工装");
|
}
|
}
|
}
|
|
// wc.setMaterialId(workorder.getMaterialId());
|
wc.setUnitId(workorder.getUnitId());
|
wc.setCheckWay(1);
|
wc.setCheckScope(1);
|
wc.setCheckDate(new Date());
|
wc.setCheckUserId(user.getId());
|
if(workorder.getProUserId()!=null){
|
wc.setProUserids("["+workorder.getProUserId()+"]");
|
}
|
workorder.setUpdateTime(new Date());
|
//插入编码
|
wc.setCode(workorderCheckExtService.getNextCode(user.getCompany().getId()));
|
workorderCheckMapper.insert(wc);
|
List<WorkorderHistory> whList = new ArrayList<>();
|
Workorder order = new Workorder();
|
order.setUpdateTime(DateUtil.getCurrentDate());
|
order.setUpdateUser(user.getId());
|
order.setId(workorder.getId());
|
order.setRootDepartId(workorder.getRootDepartId());
|
order.setDepartId(workorder.getDepartId());
|
if(Constants.equalsInteger(wc.getCheckType() ,Constants.WORKORDER_CHECKTYPE.done)){
|
//已完工
|
order.setStatus(Constants.WORKORDER_STATUS.done);
|
//工单历史数据
|
whList.add(WorkorderExtServiceImpl.initHistoryByModel(order,user.getId(),Constants.WORKORDER_HISTORY_STATUS.done));
|
}else if(Constants.equalsInteger(wc.getCheckType() ,Constants.WORKORDER_CHECKTYPE.check)){
|
//已检验
|
order.setStatus(Constants.WORKORDER_STATUS.check);
|
whList.add(WorkorderExtServiceImpl.initHistoryByModel(order,user.getId(),Constants.WORKORDER_HISTORY_STATUS.check));
|
}
|
workorderExtMapper.updateById(order);
|
if(whList.size()>0){
|
workorderHistoryExtMapper.insertBatch(whList);
|
}
|
return ApiResponse.success(wc.getId());
|
}
|
|
|
|
|
@Override
|
@Transactional
|
public ApiResponse insertDataStandard(WorkorderCheck wc) {
|
if(wc.getWorkorderId()==null){
|
return ApiResponse.failed("工单id不能为空");
|
}
|
if(wc.getCheckType()==null){
|
return ApiResponse.failed("检验类型不能为空!");
|
}
|
LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
|
|
//工单对象
|
Workorder workorder=workorderExtMapper.selectById(wc.getWorkorderId());
|
if(workorder==null || workorder.getStatus()==Constants.WORKORDER_STATUS.done||workorder.getStatus()==Constants.WORKORDER_STATUS.baogong
|
||workorder.getStatus()==Constants.WORKORDER_STATUS.instock ||workorder.getStatus()==Constants.WORKORDER_STATUS.cancel){
|
return ApiResponse.failed("工单不允许检验");
|
}
|
if(workorder.getPlanNum()!=null){
|
Integer unqualifiedNum=wc.getUnqualifiedNum()!=null?wc.getUnqualifiedNum():0;
|
Integer qualifiedNum=wc.getQualifiedNum()!=null?wc.getQualifiedNum():0;
|
Integer num=unqualifiedNum+qualifiedNum;
|
if(num>workorder.getPlanNum()){
|
return ApiResponse.failed("合格数量加不良数量不能大于计划数量");
|
}
|
|
}else{
|
return ApiResponse.failed("计划数量无数据");
|
}
|
/* Appliances checkappliance= appliancesServiceImpl.findById(Integer.valueOf(wc.getAppliancesId()));//
|
if(checkappliance!=null&&checkappliance.getNum()!=null){
|
Integer unqualifiedNum1=wc.getUnqualifiedNum();
|
Integer qualifiedNum1=wc.getQualifiedNum();
|
Integer num=unqualifiedNum1+qualifiedNum1;
|
if(num>checkappliance.getNum().intValue()){
|
return ApiResponse.failed("合格数量加不良数量不能大于篮筐中物料的数量");
|
}
|
}else{
|
return ApiResponse.failed("工装不存在");
|
}*/
|
|
if (Constants.equalsInteger(wc.getCheckType() ,Constants.WORKORDER_CHECKTYPE.done)){
|
//完工检验时先判断 是否存在巡线或者巡检记录不存在不允许完工检验
|
WorkorderCheck cd=new WorkorderCheck();
|
cd.setDeleted(Constants.ZERO);
|
cd.setWorkorderId(wc.getWorkorderId());
|
cd.setRootDepartId(workorder.getRootDepartId());
|
cd.setDepartId(workorder.getDepartId());
|
List<WorkorderCheck> listcd=this.findList(cd);
|
if(listcd==null || listcd.size() ==0){
|
return ApiResponse.failed("巡线或者巡检检验记录不存在,不允许完工检验");
|
}
|
}
|
wc.setMaterialBatch(workorder.getBatch());
|
wc.setMaterialId(workorder.getMaterialId());
|
wc.setDeleted(Constants.ZERO);
|
wc.setCreateTime(new Date());
|
wc.setCreateUser(user.getId());
|
wc.setRootDepartId(workorder.getRootDepartId());
|
wc.setDepartId(workorder.getDepartId());
|
wc.setPlanId(workorder.getPlanId());
|
// wc.setWorkorderId();
|
wc.setBatch(workorder.getBatch());
|
wc.setFactoryId(workorder.getFactoryId());
|
wc.setProcedureId(workorder.getProcedureId());
|
wc.setProDeviceId(workorder.getProGroupId());
|
//wc.setAppliancesId(null);
|
wc.setProDate(workorder.getPlanDate());
|
|
// wc.setType();
|
wc.setNum(workorder.getPlanNum());
|
//工装对象
|
if(wc.getQualifiedApplianceId()!=null){
|
Appliances appliances= appliancesServiceImpl.findById(Integer.valueOf(wc.getQualifiedApplianceId()));//
|
wc.setDoneType(appliances.getType());
|
if(wc.getUnqualifiedNum()>0&&workorder.getType()==1||workorder.getType()==2){
|
SystemDictData systemDictData=systemDictDataServiceimpl.findById(appliances.getType());
|
if(!StringUtils.equals(Constants.APPLIANCES_TYPE_LABLE.scrap,systemDictData.getLabel()) ){
|
return ApiResponse.failed("当前工单为返工返修--只能选择报废工装");
|
}
|
}
|
}
|
|
// wc.setMaterialId(workorder.getMaterialId());
|
wc.setUnitId(workorder.getUnitId());
|
wc.setCheckWay(1);
|
wc.setCheckScope(1);
|
wc.setCheckDate(new Date());
|
wc.setCheckUserId(user.getId());
|
if(workorder.getProUserId()!=null){
|
wc.setProUserids("["+workorder.getProUserId()+"]");
|
}
|
workorder.setUpdateTime(new Date());
|
//插入编码
|
wc.setCode(workorderCheckExtService.getNextCode(user.getCompany().getId()));
|
workorderCheckMapper.insert(wc);
|
List<WorkorderHistory> whList = new ArrayList<>();
|
Workorder order = new Workorder();
|
order.setUpdateTime(DateUtil.getCurrentDate());
|
order.setUpdateUser(user.getId());
|
order.setId(workorder.getId());
|
order.setRootDepartId(workorder.getRootDepartId());
|
order.setDepartId(workorder.getDepartId());
|
if(Constants.equalsInteger(wc.getCheckType() ,Constants.WORKORDER_CHECKTYPE.done)){
|
//已完工
|
order.setStatus(Constants.WORKORDER_STATUS.done);
|
//工单历史数据
|
whList.add(WorkorderExtServiceImpl.initHistoryByModel(order,user.getId(),Constants.WORKORDER_HISTORY_STATUS.done));
|
}else if(Constants.equalsInteger(wc.getCheckType() ,Constants.WORKORDER_CHECKTYPE.check)){
|
//已检验
|
order.setStatus(Constants.WORKORDER_STATUS.check);
|
whList.add(WorkorderExtServiceImpl.initHistoryByModel(order,user.getId(),Constants.WORKORDER_HISTORY_STATUS.check));
|
}
|
workorderExtMapper.updateById(order);
|
if(whList.size()>0){
|
workorderHistoryExtMapper.insertBatch(whList);
|
}
|
return ApiResponse.success(wc.getId());
|
}
|
}
|