package com.shlanbao.tzsc.pms.md.fixCode.service.impl;
|
|
import java.util.ArrayList;
|
import java.util.Date;
|
import java.util.List;
|
|
import com.shlanbao.tzsc.base.model.SessionInfo;
|
import com.shlanbao.tzsc.plugin.service.LoadComboboxServiceI;
|
import com.shlanbao.tzsc.pms.md.fixCode.beans.AccessParam;
|
import com.shlanbao.tzsc.pms.md.fixCode.beans.SelfCheckParam;
|
import com.shlanbao.tzsc.utils.params.ComboboxType;
|
import com.shlanbao.tzsc.utils.tools.BeanConvertor;
|
import com.shlanbao.tzsc.utils.tools.LogAnno;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
|
import com.shlanbao.tzsc.base.dao.MdFixCodeDaoI;
|
import com.shlanbao.tzsc.base.mapping.MdFixCode;
|
import com.shlanbao.tzsc.base.model.Json;
|
import com.shlanbao.tzsc.base.service.BaseService;
|
import com.shlanbao.tzsc.pms.md.fixCode.beans.FixCodeBean;
|
import com.shlanbao.tzsc.pms.md.fixCode.service.FixCodeServiceI;
|
import com.shlanbao.tzsc.utils.tools.StringUtil;
|
|
import javax.servlet.http.HttpServletRequest;
|
@Service
|
public class FixCodeServiceImpl extends BaseService implements FixCodeServiceI {
|
|
@Autowired
|
private MdFixCodeDaoI mdFixCodeDao;
|
@Autowired
|
private HttpServletRequest request;
|
@Autowired
|
private LoadComboboxServiceI loadComboboxService;
|
/**
|
* 【功能说明】:查询综合基础数据
|
*
|
* @author wanchanghuang
|
* @createTime 2016年6月2日15:56:12
|
* @return
|
*
|
*/
|
@Override
|
public List<FixCodeBean> queryFixCode(FixCodeBean fixBean) {
|
try {
|
StringBuffer sql = new StringBuffer(1000);
|
sql.append("select id,name,mes_code,type,del,code,upcode,des,create_time,create_name,update_time,update_name,bak from md_fix_code where del=0 ");
|
if (fixBean != null) {
|
if(StringUtil.notEmpty(fixBean.getId())){
|
sql.append(" and id='" + fixBean.getId() + "'");
|
}
|
if (StringUtil.notEmpty(fixBean.getName())) {
|
sql.append(" and name='" + fixBean.getName() + "'");
|
}
|
if (StringUtil.notEmpty(fixBean.getMesCode())) {
|
sql.append(" and mes_code='" + fixBean.getMesCode() + "'");
|
}
|
if (StringUtil.notEmpty(fixBean.getType())) {
|
sql.append(" and type='" + fixBean.getType() + "'");
|
}
|
if (StringUtil.notEmpty(fixBean.getCode())) {
|
sql.append(" and code='" + fixBean.getCode() + "'");
|
}
|
if (StringUtil.notEmpty(fixBean.getUpcode())) {
|
sql.append(" and upcode='" + fixBean.getUpcode() + "'");
|
}
|
if (StringUtil.notEmpty(fixBean.getBak())) {
|
sql.append(" and bak='" + fixBean.getBak() + "'");
|
}
|
|
}
|
sql.append(" order by upcode");
|
List<?> list = mdFixCodeDao.queryBySql(sql.toString());
|
List<FixCodeBean> fixc = new ArrayList<FixCodeBean>();
|
FixCodeBean fixbean = null;
|
for (int i = 0; i < list.size(); i++) {
|
Object[] arr = (Object[]) list.get(i);
|
fixbean = new FixCodeBean();
|
if (arr[0] != null) {
|
fixbean.setId(arr[0].toString());
|
}
|
if (arr[1] != null) {
|
fixbean.setName(arr[1].toString());
|
}
|
if (arr[2] != null) {
|
fixbean.setMesCode(arr[2].toString());
|
}
|
if (arr[3] != null) {
|
fixbean.setType(arr[3].toString());
|
}
|
if (arr[4] != null) {
|
fixbean.setDel(arr[4].toString());
|
}
|
if (arr[5] != null) {
|
fixbean.setCode(arr[5].toString());
|
}
|
if (arr[6] != null) {
|
fixbean.setUpcode(arr[6].toString());
|
}
|
|
if (arr[7] != null) {
|
fixbean.setDes(arr[7].toString());
|
}
|
if (arr[8] != null) {
|
fixbean.setCreateTime(arr[8].toString());
|
}
|
if (arr[9] != null) {
|
fixbean.setCreateName(arr[9].toString());
|
}
|
if (arr[10] != null) {
|
fixbean.setUpdateTime(arr[10].toString());
|
}
|
if (arr[11] != null) {
|
fixbean.setUpdateName(arr[11].toString());
|
}
|
if (arr[12] != null) {
|
fixbean.setBak(arr[12].toString());
|
}
|
//fixbean.setCreateTime(DateUtil.formatDateToString(new Date(), "yyyy-MM-dd HH:mm:sss"));
|
//fixbean.setUpdateTime(DateUtil.formatDateToString(new Date(), "yyyy-MM-dd HH:mm:sss"));
|
fixc.add(fixbean);
|
}
|
return fixc;
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
return null;
|
}
|
@LogAnno(operateType = "综合基础数据添加或编辑")
|
@Override
|
public Json saveFixCode(MdFixCode fixBean2,FixCodeBean params) {
|
//查询是否存在!存在更新 不存在添加
|
Json json=new Json();
|
try {
|
MdFixCode fixBean = new MdFixCode();
|
//如果fixBean2中有id值那么就是修改,需要从数据库查该条数据的创建信息
|
if(StringUtil.notNull(fixBean2.getId())){
|
fixBean = mdFixCodeDao.findById(MdFixCode.class, fixBean2.getId());
|
}
|
//将fixBean2转换到fixBean,如果是新增则没有改变
|
BeanConvertor.copyProperties(fixBean2,fixBean);
|
List<FixCodeBean> ls=null;
|
if(params!=null){
|
if(StringUtil.notEmpty(params.getId())){
|
FixCodeBean bean2=new FixCodeBean();
|
bean2.setId(fixBean.getId());
|
bean2.setDel("0");
|
ls=queryFixCode(bean2);
|
}else{
|
ls=queryFixCode(params);
|
}
|
}
|
//获得当前登录者的信息
|
SessionInfo sessionInfo = (SessionInfo) request.getSession().getAttribute("sessionInfo");
|
//如果创建信息为空则初始化创建信息与修改信息
|
if(!StringUtil.notNull(fixBean.getCreateName())){
|
fixBean.setCreateName(sessionInfo.getUser().getName());
|
fixBean.setCreateTime(new Date());
|
fixBean.setUpdateName(sessionInfo.getUser().getName());
|
fixBean.setUpdateTime(new Date());
|
}
|
json.setMsg("新增数据成功!");
|
json.setSuccess(true);
|
if((ls!=null && ls.size() <=1) || ls==null ){
|
if(ls!=null && ls.size()==1){
|
fixBean.setId(ls.get(0).getId());
|
//如果是修改则填充修改信息
|
fixBean.setUpdateName(sessionInfo.getUser().getName());
|
fixBean.setUpdateTime(new Date());
|
json.setMsg("更新数据成功!");
|
}
|
//避免id=“”的数据
|
if(!StringUtil.notEmpty(fixBean.getId())){
|
fixBean.setId(null);
|
}
|
mdFixCodeDao.saveOrUpdate(fixBean);
|
}else{
|
json.setSuccess(false);
|
json.setMsg("查询出的数据不唯一!保存或更新MdFixCode失败!");
|
log.error("查询出的数据不唯一!保存更新MdFixCode失败!");
|
}
|
} catch (Exception e) {
|
e.printStackTrace();
|
json.setSuccess(false);
|
json.setMsg("保存或更新MdFixCode异常!");
|
}
|
return json;
|
}
|
|
@Override
|
public void refrushData() {
|
/*BaseParams.getListMdFixCode().clear();
|
BaseParams.setListMdFixCode(queryFixCode(null));*/
|
loadComboboxService.initCombobox(ComboboxType.ALL); //初始化基础数据
|
}
|
|
@LogAnno(operateType = "综合基础数据删除")
|
@Override
|
public Json deleteFixCode(String id) {
|
Json json=new Json();
|
try {
|
MdFixCode mdFixCode= mdFixCodeDao.findById(MdFixCode.class, id);
|
mdFixCode.setDel("1");
|
json.setMsg("成功");
|
json.setSuccess(true);
|
} catch (Exception e) {
|
json.setMsg("失败");
|
json.setSuccess(false);
|
e.printStackTrace();
|
}
|
return json;
|
}
|
|
@Override
|
public void saveWorkCenterByCenter(String workCenterCode,MdFixCode fixCode){
|
FixCodeBean params=new FixCodeBean();
|
params.setMesCode(workCenterCode);
|
params.setUpcode("WORKCENTEREQP0001");
|
params.setDel("0");
|
List<FixCodeBean> ls=queryFixCode(params);
|
if(null==ls || ls.size()==0){
|
mdFixCodeDao.save(fixCode);
|
}
|
}
|
|
/**
|
* 更新发送状态
|
*
|
* */
|
@Override
|
public void updateQmOLinkCheck(String olid,String param) {
|
//更新修改人与修改时间
|
// SessionInfo sessionInfo = (SessionInfo) request.getSession().getAttribute("sessionInfo");
|
// String updateUserName = sessionInfo.getUser().getName();
|
try {
|
olid=olid.substring(0,olid.lastIndexOf(","));
|
if(!"".equals(olid)){
|
olid=olid.replaceAll(",", "','");
|
if(param!=null && !"".equals(param) ){
|
mdFixCodeDao.updateBySql("update QM_ONLINECHECK set sts='"+param+"',UPDATE_USER_TIME=sysdate where id in ('"+olid+"')", null);
|
}else{
|
mdFixCodeDao.updateBySql("update QM_ONLINECHECK set sts=1,UPDATE_USER_TIME=sysdate,check_sts=1 where id in ('"+olid+"')", null);
|
}
|
}
|
} catch (Exception e) {
|
log.error("查询出的数据不唯一!保存更新MdFixCode失败!");
|
}
|
}
|
|
/**
|
* [功能说明]修改外观数据自动反馈 共用方法
|
* 反馈成功,修改工单状态
|
* @author wanchanghuang
|
* @param olid
|
* flag true :20支质量反馈 false:正常MES反馈
|
* */
|
@Override
|
public void updateQmOutWard(String olid,String sts,boolean flag) {
|
try {
|
//更新修改人与修改时间
|
//SessionInfo sessionInfo = (SessionInfo) request.getSession().getAttribute("sessionInfo");
|
// String updateUserName = sessionInfo.getUser().getName();
|
if(flag){
|
mdFixCodeDao.updateBySql("update QM_OUTWARD set sts2='"+sts+"',UPDATE_USER_TIME=sysdate where id in ("+olid+")", null);
|
}else{
|
mdFixCodeDao.updateBySql("update QM_OUTWARD set sts='"+sts+"',UPDATE_USER_TIME=sysdate where id in ("+olid+")", null);
|
}
|
} catch (Exception e) {
|
e.printStackTrace();
|
log.error("修改反馈状态");
|
}
|
}
|
|
@Override
|
public void batchDeleteMdFixCode(String ids) {
|
String[] split = ids.split(",");
|
for (int i = 0; i <split.length; i++) {
|
mdFixCodeDao.findById(MdFixCode.class, split[i]).setDel("1");
|
}
|
|
|
}
|
|
|
@Override
|
public AccessParam queryWagesAccess() {
|
AccessParam accessParam = new AccessParam();
|
String sql = "from MdFixCode where upcode = 'JBGZKHCX'";
|
List<MdFixCode> list = mdFixCodeDao.query(sql);
|
if (list!=null && list.size()>0) {
|
list.forEach(item->{
|
if ("51qty".equals(item.getType())) {
|
accessParam.setA51qty(item.getCode());
|
} else if ("other1qty".equals(item.getType())) {
|
accessParam.setOther1qty(item.getCode());
|
} else if ("52qty".equals(item.getType())) {
|
accessParam.setA52qty(item.getCode());
|
} else if ("other2qty".equals(item.getType())) {
|
accessParam.setOther2qty(item.getCode());
|
} else if ("exceedEvery".equals(item.getType())) {
|
accessParam.setExceedEvery(item.getCode());
|
} else if ("exceedTotalAnther".equals(item.getType())) {
|
accessParam.setExceedTotalAnther(item.getCode());
|
} else if ("exceedAnther".equals(item.getType())) {
|
accessParam.setExceedAnther(item.getCode());
|
} else if ("totalQtyStd".equals(item.getType())) {
|
accessParam.setTotalQtystd(item.getCode());
|
} else if ("howMuch".equals(item.getType())) {
|
accessParam.setHowMuch(item.getCode());
|
} else if ("xiZhi".equals(item.getType())) {
|
accessParam.setXiZhi(item.getCode());
|
} else if ("changGui".equals(item.getType())) {
|
accessParam.setChangGui(item.getCode());
|
} else if ("underFirst".equals(item.getType())) {
|
accessParam.setUnderFirst(item.getCode());
|
} else if ("underFirstMiddle".equals(item.getType())) {
|
accessParam.setUnderFirstMiddle(item.getCode());
|
} else if ("underEvery".equals(item.getType())) {
|
accessParam.setUnderEvery(item.getCode());
|
} else if ("underSecond".equals(item.getType())) {
|
accessParam.setUnderSecond(item.getCode());
|
} else if ("underTotal".equals(item.getType())) {
|
accessParam.setUnderTotal(item.getCode());
|
} else if ("exceedOfPlan".equals(item.getType())){
|
accessParam.setExceedOfPlan(item.getCode());
|
} else if ("exceedOfPlanMiddle".equals(item.getType())){
|
accessParam.setExceedOfPlanMiddle(item.getCode());
|
} else if ("exceedOfPlanEvery".equals(item.getType())){
|
accessParam.setExceedOfPlanEvery(item.getCode());
|
}
|
});
|
}
|
return accessParam;
|
}
|
|
@Override
|
public void saveWagesAccess(AccessParam accessParam) {
|
String sql = "update md_fix_code set code = ? where upcode = 'JBGZKHCX' and type = ?";
|
List<Object> list = new ArrayList<>();
|
list.add(accessParam.getA51qty());
|
list.add("51qty");
|
mdFixCodeDao.updateBySql(sql,list);
|
list.clear();
|
list.add(accessParam.getOther1qty());
|
list.add("other1qty");
|
mdFixCodeDao.updateBySql(sql,list);
|
list.clear();
|
list.add(accessParam.getA52qty());
|
list.add("52qty");
|
mdFixCodeDao.updateBySql(sql,list);
|
list.clear();
|
list.add(accessParam.getOther2qty());
|
list.add("other2qty");
|
mdFixCodeDao.updateBySql(sql,list);
|
list.clear();
|
list.add(accessParam.getExceedAnther());
|
list.add("exceedAnther");
|
mdFixCodeDao.updateBySql(sql,list);
|
list.clear();
|
list.add(accessParam.getExceedEvery());
|
list.add("exceedEvery");
|
mdFixCodeDao.updateBySql(sql,list);
|
list.clear();
|
list.add(accessParam.getHowMuch());
|
list.add("howMuch");
|
mdFixCodeDao.updateBySql(sql,list);
|
list.clear();
|
list.add(accessParam.getExceedTotalAnther());
|
list.add("exceedTotalAnther");
|
mdFixCodeDao.updateBySql(sql,list);
|
list.clear();
|
list.add(accessParam.getTotalQtystd());
|
list.add("totalQtyStd");
|
mdFixCodeDao.updateBySql(sql,list);
|
list.clear();
|
list.add(accessParam.getXiZhi());
|
list.add("xiZhi");
|
mdFixCodeDao.updateBySql(sql,list);
|
list.clear();
|
list.add(accessParam.getChangGui());
|
list.add("changGui");
|
mdFixCodeDao.updateBySql(sql,list);
|
list.clear();
|
list.add(accessParam.getUnderFirst());
|
list.add("underFirst");
|
mdFixCodeDao.updateBySql(sql,list);
|
list.clear();
|
list.add(accessParam.getUnderFirstMiddle());
|
list.add("underFirstMiddle");
|
mdFixCodeDao.updateBySql(sql,list);
|
list.clear();
|
list.add(accessParam.getUnderEvery());
|
list.add("underEvery");
|
mdFixCodeDao.updateBySql(sql,list);
|
list.clear();
|
list.add(accessParam.getUnderSecond());
|
list.add("underSecond");
|
mdFixCodeDao.updateBySql(sql,list);
|
list.clear();
|
list.add(accessParam.getUnderTotal());
|
list.add("underTotal");
|
mdFixCodeDao.updateBySql(sql,list);
|
list.clear();
|
list.add(accessParam.getExceedOfPlan());
|
list.add("exceedOfPlan");
|
mdFixCodeDao.updateBySql(sql,list);
|
list.clear();
|
list.add(accessParam.getExceedOfPlanMiddle());
|
list.add("exceedOfPlanMiddle");
|
mdFixCodeDao.updateBySql(sql,list);
|
list.clear();
|
list.add(accessParam.getExceedOfPlanEvery());
|
list.add("exceedOfPlanEvery");
|
mdFixCodeDao.updateBySql(sql,list);
|
list.clear();
|
}
|
|
|
@Override
|
public SelfCheckParam queryWlkh(String upcode) {
|
SelfCheckParam param = new SelfCheckParam();
|
String hql = "from MdFixCode where upcode = '"+upcode+"'";
|
|
List<MdFixCode> fixCodes = mdFixCodeDao.query(hql);
|
if (fixCodes!=null && fixCodes.size()>0) {
|
fixCodes.forEach(item->{
|
if ("shoujianshijian".equals(item.getType())) {
|
param.setShoujianshijian(item.getCode());
|
} else if ("zijianpinlv".equals(item.getType())) {
|
param.setZijianpinlv(item.getCode());
|
} else if ("zijianyuncha".equals(item.getType())) {
|
param.setZijianyuncha(item.getCode());
|
} else if ("loujianfakuan".equals(item.getType())) {
|
param.setLoujianfakuan(item.getCode());
|
}
|
});
|
}
|
|
|
return param;
|
}
|
|
|
@Override
|
public void saveWlkh(SelfCheckParam param, String upcode) {
|
String sql = "update md_fix_code set code = ? where upcode = '"+upcode+"' and type = ?";
|
List<Object> list = new ArrayList<>();
|
list.add(param.getShoujianshijian());
|
list.add("shoujianshijian");
|
mdFixCodeDao.updateBySql(sql,list);
|
list.clear();
|
list.add(param.getZijianpinlv());
|
list.add("zijianpinlv");
|
mdFixCodeDao.updateBySql(sql,list);
|
list.clear();
|
list.add(param.getZijianyuncha());
|
list.add("zijianyuncha");
|
mdFixCodeDao.updateBySql(sql,list);
|
list.clear();
|
list.add(param.getLoujianfakuan());
|
list.add("loujianfakuan");
|
mdFixCodeDao.updateBySql(sql,list);
|
list.clear();
|
}
|
}
|