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

274 lines
6.7 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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);
}
}