GZMachinesWeb/.svn/pristine/d4/d461a32069790f4e38bac006f9a...

274 lines
6.7 KiB
Plaintext
Raw Normal View History

2025-06-20 17:47:53 +08:00
package com.bonus.rm.service;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.bonus.core.DateTimeHelper;
import com.bonus.core.StringHelper;
import com.bonus.ma.beans.MachineBean;
import com.bonus.ma.dao.MachineDao;
import com.bonus.rm.beans.ReturnMaterialDetailsBean;
import com.bonus.rm.dao.ReturnMaterialDetailsDao;
import com.bonus.sys.BaseServiceImp;
@Service("returnMaterialDetails")
public class ReturnMaterialDetailsServiceImp extends BaseServiceImp<ReturnMaterialDetailsBean> implements ReturnMaterialDetailsService{
@Autowired ReturnMaterialDetailsDao dao;
@Autowired MachineDao mdao;
@Override
public Object findByCode(ReturnMaterialDetailsBean o) {
//查询退料详细
List<ReturnMaterialDetailsBean> back = dao.findByTaskId(o);
String unitId = "";
String workId = "";
if(back.size() > 0){
unitId = back.get(0).getUnitId();
workId = back.get(0).getWorkId();
}
//查询领料信息
List<ReturnMaterialDetailsBean> receive = dao.findByCode(o);
String reUnitId = "";
String reProjectId = "";
String batchStatus = "";
if(receive.size() > 0){
reUnitId = receive.get(0).getReceiveUnitId();
reProjectId = receive.get(0).getReceiveProjectId();
batchStatus = receive.get(0).getBatchStatus();
if("6".equals(batchStatus)){
if(unitId.equals(reUnitId) && workId.equals(reProjectId)){
return "1";
}else{
return receive;
}
}else{
return "-2";
}
}else{
return "-1";
}
}
//退料接收
@Override
public Object receiveDevice(ReturnMaterialDetailsBean o) {
//1-修改机具状态
MachineBean ma = new MachineBean();
ma.setId(o.getMaId());
List<MachineBean> mList = mdao.find(ma);
String batchStatus = mList.get(0).getBatchStatus();
if("6".equals(batchStatus)){
int updRes = updDevice(o);
if(updRes == 1){
//2-添加退料明细
int detailsRes = rmDetails(o);
return detailsRes;
}else{
return -1;
}
}else{
return -1;
}
}
public int updDevice(ReturnMaterialDetailsBean o){
MachineBean bean = new MachineBean();
bean.setId(o.getMaId());
bean.setBatchStatus(o.getBatchStatus());
try {
mdao.updateBatchStatus(bean);
return 1;
} catch (Exception e) {
return -1;
}
}
public int rmDetails(ReturnMaterialDetailsBean o){
MachineBean ma = new MachineBean();
ma.setId(o.getMaId());
List<MachineBean> list = mdao.find(ma);
String modelId = "";
try {
if(list.size()==1){
modelId = list.get(0).getTypeId();
o.setModelId(modelId);
//1-查询是否存在明细任务
//2-存在则获取任务ID存入详细表
//3-不存在则新增明细任务,并存入详细表
String supId = dao.findSupId(o);
if(supId == "" || supId == null){
o.setReturnMaterialTime(DateTimeHelper.getNowTime());
o.setOperationTime(DateTimeHelper.getNowTime());
dao.insert(o);
int infoRes = rmInfo(o);
if(infoRes == 1){
return 1;
}else{
return -1;
}
}else{
//3-添加退料详情
o.setSupId(supId);
o.setOperationTime(DateTimeHelper.getNowTime());
int infoRes = rmInfo(o);
if(infoRes == 1){
return 1;
}else{
return -1;
}
}
}else if(list.size() > 1){
//设备编号重复
return -2;
}else{
//设备编号重不存在
return 0;
}
} catch (Exception e) {
e.printStackTrace();
return -1;
}
}
public int rmInfo(ReturnMaterialDetailsBean o) {
MachineBean ma = new MachineBean();
ma.setId(o.getMaId());
List<MachineBean> list = mdao.find(ma);
String modelId = "";
String maId = "";
try {
if (list.size() == 1) {
modelId = list.get(0).getTypeId();
maId = list.get(0).getId();
o.setModelId(modelId);
o.setMaId(maId);
o.setOperationTime(DateTimeHelper.getNowTime());
o.setMaNum("1");
o.setState("4");
dao.insertInfo(o);
return 1;
} else if (list.size() > 1) {
// 设备编号重复
return -2;
} else {
// 设备编号重不存在
return 0;
}
} catch (Exception e) {
e.printStackTrace();
return -1;
}
}
@Override
public Object findLeaseBackNum(ReturnMaterialDetailsBean o) {
return dao.findLeaseBackNum(o);
}
@Override
public Object reBackNums(ReturnMaterialDetailsBean o) {
int detailsRes = addRmTask(o);
return detailsRes;
}
/**
* 数量退料接收
*/
public int addRmTask(ReturnMaterialDetailsBean o){
//1-查询是否存在明细任务
//2-存在则获取任务ID存入详细表
//3-不存在则新增明细任务,并存入详细表
try {
String supId = dao.findSupId(o);
if(StringHelper.isEmpty(supId) || supId == null){
o.setReturnMaterialTime(DateTimeHelper.getNowTime());
o.setOperationTime(DateTimeHelper.getNowTime());
dao.insert(o);
//3-添加退料详情
if(StringHelper.isNotEmpty(o.getNum()) && !"0".equals(o.getNum())){//合格
o.setMaNum(o.getNum());
o.setRmStatus("1");
int infoRes = addNumInfo(o);
if(infoRes != 1){
return -1;
}
}
if(StringHelper.isNotEmpty(o.getRepairNum()) && !"0".equals(o.getRepairNum())){//维修
o.setMaNum(o.getRepairNum());
o.setRmStatus("2");
int infoRes = addNumInfo(o);
if(infoRes != 1){
return -1;
}
}
if(StringHelper.isNotEmpty(o.getScrapNum()) && !"0".equals(o.getScrapNum())){//报废
o.setMaNum(o.getScrapNum());
o.setRmStatus("3");
int infoRes = addNumInfo(o);
if(infoRes != 1){
return -1;
}
}
}else{
//3-添加退料详情
o.setSupId(supId);
o.setOperationTime(DateTimeHelper.getNowTime());
if(StringHelper.isNotEmpty(o.getNum()) && !"0".equals(o.getNum())){
o.setMaNum(o.getNum());
o.setRmStatus("1");
int infoRes = addNumInfo(o);
if(infoRes != 1){
return -1;
}
}
if(StringHelper.isNotEmpty(o.getRepairNum()) && !"0".equals(o.getRepairNum())){
o.setMaNum(o.getRepairNum());
o.setRmStatus("2");
int infoRes = addNumInfo(o);
if(infoRes != 1){
return -1;
}
}
if(StringHelper.isNotEmpty(o.getScrapNum()) && !"0".equals(o.getScrapNum())){
o.setMaNum(o.getScrapNum());
o.setRmStatus("3");
int infoRes = addNumInfo(o);
if(infoRes != 1){
return -1;
}
}
}
return 1;
} catch (Exception e) {
return -1;
}
}
public int addNumInfo(ReturnMaterialDetailsBean o){
try {
o.setState("4");
dao.insertInfo(o);
return 1;
} catch (Exception e) {
return -1;
}
}
@Override
public List<ReturnMaterialDetailsBean> findTaskDetail(ReturnMaterialDetailsBean o) {
return dao.findTaskDetail(o);
}
@Override
public List<ReturnMaterialDetailsBean> findTaskDetailInfo(ReturnMaterialDetailsBean o) {
return dao.findTaskDetailInfo(o);
}
}