package com.shlanbao.tzsc.pms.equ.wcplan.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.utils.tools.*;
|
import org.apache.log4j.Logger;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
|
import com.shlanbao.tzsc.base.dao.EqmWheelCovelParamDaoI;
|
import com.shlanbao.tzsc.base.dao.EqmWheelCovelPlanDaoI;
|
import com.shlanbao.tzsc.base.dao.SysEqpTypeDaoI;
|
import com.shlanbao.tzsc.base.dao.TransmitterOutputDaoI;
|
import com.shlanbao.tzsc.base.dao.TransmitterWorkOrderDaoI;
|
import com.shlanbao.tzsc.base.interceptor.WorkOrderStatChangeInterceptor;
|
import com.shlanbao.tzsc.base.mapping.EqmWheelCovelParam;
|
import com.shlanbao.tzsc.base.mapping.EqmWheelCovelPlan;
|
import com.shlanbao.tzsc.base.mapping.EqmWheelCovelPlanInfo;
|
import com.shlanbao.tzsc.base.mapping.MdEquipment;
|
import com.shlanbao.tzsc.base.mapping.MdShift;
|
import com.shlanbao.tzsc.base.mapping.SysEqpCategory;
|
import com.shlanbao.tzsc.base.mapping.SysEqpType;
|
import com.shlanbao.tzsc.base.mapping.SysUser;
|
import com.shlanbao.tzsc.base.model.DataGrid;
|
import com.shlanbao.tzsc.base.model.PageParams;
|
import com.shlanbao.tzsc.base.service.BaseService;
|
import com.shlanbao.tzsc.pms.equ.wcplan.beans.EqmWheelCalendar;
|
import com.shlanbao.tzsc.pms.equ.wcplan.beans.EqmWheelCovelPlanBean;
|
import com.shlanbao.tzsc.pms.equ.wcplan.service.EqmWheelCovelPlanServiceI;
|
import com.shlanbao.tzsc.pms.sch.workorder.beans.MesMdMatBean;
|
import com.shlanbao.tzsc.pms.sch.workorder.beans.MesWorkOrderBean;
|
import com.shlanbao.tzsc.pms.sch.workorder.beans.TransmitterOutput;
|
import com.shlanbao.tzsc.pms.sch.workorder.beans.TransmitterWorkOrderBean;
|
import com.shlanbao.tzsc.pms.sch.workorder.service.WorkOrderServiceI;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
@Service
|
public class EqmWheelCovelPlanServiceImpl extends BaseService implements EqmWheelCovelPlanServiceI {
|
Logger log = Logger.getLogger(this.getClass());
|
@Autowired
|
private WorkOrderServiceI orderServiceImpl;
|
@Autowired
|
private EqmWheelCovelPlanDaoI eqmWheelCovelPlanDao;
|
@Autowired
|
private EqmWheelCovelParamDaoI eqmWheelCovelParamDao;
|
@Autowired
|
private SysEqpTypeDaoI sysEqpTypeDao;
|
@Autowired
|
private TransmitterWorkOrderDaoI transmitterWorkOrderDaoI;
|
@Autowired
|
private TransmitterOutputDaoI transmitterOutputDao;
|
@Autowired
|
private HttpServletRequest request;
|
//查询功能
|
@Override
|
public DataGrid queryWCPlan(EqmWheelCovelPlanInfo wcpBean,PageParams pageParams) throws Exception {
|
StringBuilder hql=new StringBuilder();
|
hql.append("from EqmWheelCovelPlanInfo o where 1=1 and o.del=0 and o.type='"+wcpBean.getType()+"'");
|
//时间查询
|
if(StringUtil.notNull(wcpBean.getDate1())){
|
hql.append(" and o.plan_date >= to_date('"+wcpBean.getDate1()+"','yyyy-MM-dd')");
|
}
|
if(StringUtil.notNull(wcpBean.getDate2())){
|
hql.append(" and o.plan_date <= to_date('"+wcpBean.getDate2()+"','yyyy-MM-dd')");
|
}
|
List<EqmWheelCovelPlanInfo> list = eqmWheelCovelPlanDao.queryByPage(hql.toString(), pageParams);
|
hql.insert(0,"select count(*) ");
|
long total = eqmWheelCovelPlanDao.queryTotal(hql.toString());
|
return new DataGrid(list,total);
|
}
|
|
//轮保日历查询功能
|
@Override
|
public List<EqmWheelCalendar> queryWCPlanCalendar(String date1,String date2) throws Exception {
|
StringBuilder hql=new StringBuilder();
|
hql.append("from EqmWheelCovelPlan o where 1=1 and o.del=0 ");
|
|
if(StringUtil.notNull(date1)){
|
hql.append(" and o.scheduleDate >= '"+date1+"'");
|
}
|
if(StringUtil.notNull(date2)){
|
hql.append(" and o.scheduleEndDate <= '"+date2+"'");
|
}
|
List<EqmWheelCovelPlan> eqmWheelCovelPlan =null;// eqmWheelCovelPlanDao.query(hql.toString());
|
List<EqmWheelCalendar> list=new ArrayList<EqmWheelCalendar>();
|
for(EqmWheelCovelPlan wcp : eqmWheelCovelPlan){
|
EqmWheelCalendar bean =new EqmWheelCalendar();
|
bean.setName(wcp.getPlanName());
|
bean.setId(wcp.getId());
|
bean.setStart(DateUtil.formatDateToString(wcp.getScheduleDate(),"yyyy-MM-dd"));
|
bean.setTitle(wcp.getPlanName());
|
// 0\新增 1、审核通过2、运行3、停止运行4、操作工操作完毕5、轮保工操作完毕6、操作工、轮保工操作完毕7、审核完毕8、计划完成
|
if(wcp.getWheelCoverType().equals('7')){
|
bean.setColor("GREEN");
|
}else{
|
bean.setColor("Red");
|
}
|
|
list.add(bean);
|
}
|
return list;
|
}
|
//修改轮保内容状态
|
@Override
|
public void updateWCPlanStatus(String id, String status) {
|
/*EqmWheelCovelPlan bean=eqmWheelCovelPlanDao.findById(EqmWheelCovelPlan.class, id);
|
bean.setWheelCoverType(status);
|
eqmWheelCovelPlanDao.save(bean);*/
|
}
|
|
@Override
|
public void addWCPlan(EqmWheelCovelPlanBean wcpBean, String userId) throws Exception {
|
EqmWheelCovelPlan wcp = BeanConvertor.copyProperties(wcpBean, EqmWheelCovelPlan.class);
|
//设备ID赋值
|
wcp.setMdEquipment(new MdEquipment(wcpBean.getEqmId()));
|
//创建人,创建时间赋值(只在设备管理员这赋值)
|
SysUser sysUser = new SysUser();
|
sysUser.setId(userId);
|
wcp.setCreateDate(new Date());
|
wcp.setSysUserByCreateId(sysUser);
|
//轮保状态 设置为已经保存
|
wcp.setWheelCoverType("新建");
|
//责任人赋值
|
wcp.setMdShift(new MdShift(wcpBean.getMdShiftId()));
|
SysUser sysUser2 = new SysUser();
|
sysUser2.setId(wcpBean.getDutyPeopleId());
|
wcp.setSysUserByDutyPeopleId(sysUser2);
|
wcp.setDel("0");
|
//eqmWheelCovelPlanDao.save(wcp);
|
}
|
|
@Override
|
public void editWCPlan(EqmWheelCovelPlanBean wcpBean) throws Exception{
|
/*EqmWheelCovelPlan WCPlan = eqmWheelCovelPlanDao.findById(EqmWheelCovelPlan.class, wcpBean.getId());
|
if(StringUtil.notNull(wcpBean.getId())){
|
WCPlan.setEqmWheelCovelPlan(new EqmWheelCovelPlan(wcpBean.getId()));
|
}
|
WCPlan.setMdShift(new MdShift(wcpBean.getMdShiftId()));
|
WCPlan.setMdEquipment(new MdEquipment(wcpBean.getEqmId()));
|
WCPlan.setSysUserByDutyPeopleId(new SysUser(wcpBean.getDutyPeopleId()));
|
|
BeanConvertor.copyProperties(wcpBean,WCPlan);*/
|
}
|
|
@Override
|
public EqmWheelCovelPlanBean getById(String id) throws Exception {
|
EqmWheelCovelPlan eqmWheelCovelPlan =null;// eqmWheelCovelPlanDao.findById(EqmWheelCovelPlan.class, id);
|
EqmWheelCovelPlanBean wcpBean = BeanConvertor.copyProperties(eqmWheelCovelPlan,EqmWheelCovelPlanBean.class);
|
wcpBean.setEqmId(eqmWheelCovelPlan.getMdEquipment().getId());//设备id
|
wcpBean.setDutyPeopleId(eqmWheelCovelPlan.getSysUserByDutyPeopleId().getId());//责任人id
|
wcpBean.setEqmName(eqmWheelCovelPlan.getMdEquipment().getEquipmentName());
|
if(null!=eqmWheelCovelPlan.getSysUserByDutyPeopleId()){
|
wcpBean.setDutyPeopleName(eqmWheelCovelPlan.getSysUserByDutyPeopleId().getName());
|
}
|
if(eqmWheelCovelPlan.getMdShift()!=null){
|
wcpBean.setMdShiftId(eqmWheelCovelPlan.getMdShift().getId());
|
}
|
return wcpBean;
|
}
|
|
|
@Override
|
public void deleteWCPlan(String id) throws Exception {
|
String sql_eqm_wheel_plan="DELETE from EQM_WHEEL_COVEL_PLAN where id='"+id+"'";
|
eqmWheelCovelPlanDao.updateBySql(sql_eqm_wheel_plan, null);
|
String sql_eqm_wheel_plan_param="DELETE from EQM_WHEEL_COVEL_PARAM where pid='"+id+"'";
|
eqmWheelCovelPlanDao.updateBySql(sql_eqm_wheel_plan_param, null);
|
//eqmWheelCovelPlanDao.findById(EqmWheelCovelPlan.class, id).setDel("1");
|
}
|
|
|
/**
|
* [功能说明]:将设备保养记录信息反馈MES
|
* @param type 1轮保 2润滑 3检修
|
* @param ids 主键ID status 0-默认 1-完成 3-后期处理 4-下发状态
|
* @createTime 2016年6月15日14:53:31
|
* @author wanchanghuang
|
* @说明 为劲量减速数据库操作,通过ids查询主表,
|
* 和子表所有数据 然后通过id对比找出对应值封装XML
|
*/
|
@Override
|
public int dasSendEquipmentWorkOrderResult(String type,String ids) {
|
ids=ids.replaceAll(",", "','");//如: 1,2拼接成 1','2
|
StringBuilder hql=new StringBuilder(1000);
|
hql.append("from EqmWheelCovelPlanInfo o where 1=1 and o.del=0 and sh_status=1 and o.id in ('"+ids+"')");
|
List<EqmWheelCovelPlanInfo> list = eqmWheelCovelPlanDao.query(hql.toString());
|
//判断,如果没有完成不反馈
|
if(list==null || list.size()<1){
|
return 0;
|
}
|
hql.setLength(0);//清空
|
hql.append("from EqmWheelCovelParam t where 1=1 and t.del=0 and t.eqm_wcp_id in ('"+ids+"') ");
|
List<EqmWheelCovelParam> listParam = eqmWheelCovelParamDao.query(hql.toString());
|
//调用封装XML方法
|
List<String> fackIds=new ArrayList<>();
|
fackIds=WorkOrderStatChangeInterceptor.getInstance().dasSendEquipmentWorkOrderResult(list,listParam,fackIds);
|
//反馈成功之后修改状态
|
if(fackIds.size()<1){
|
for (String id : fackIds) {
|
for (EqmWheelCovelPlanInfo bean : list) {
|
if(id.equals(bean.getId())){
|
bean.setSh_status(5);
|
break;
|
}
|
}
|
}
|
return 1;
|
}else {
|
return 0;
|
}
|
|
}
|
|
/** 批量删除*/
|
@Override
|
public void deleteEqmWheelCovelById(String type, String ids) {
|
ids=ids.replaceAll(",", "','");//如: 1,2拼接成 1','2
|
String sql="delete from eqm_wheel_covel_plan where 1=1 id in ('"+ids+"')";
|
String sqlParam="delete from eqm_wheel_covel_param where 1=1 eqm_wcp_id in ('"+ids+"')";
|
eqmWheelCovelParamDao.updateBySql(sql, null);
|
eqmWheelCovelParamDao.updateBySql(sqlParam, null);
|
}
|
|
/**
|
* [功能说明]:设备保养工单下发,保存主表对象
|
* @date 2016年6月16日8:25:09
|
* @author wanchanghuang
|
* */
|
@Override
|
public String saveByEqmWheelCovelPlanByObj(EqmWheelCovelPlanInfo ecp) {
|
return eqmWheelCovelPlanDao.saveBackKey(ecp);
|
}
|
|
/**
|
* [功能说明]:设备保养工单下发,保存子表
|
* @date 2016年6月16日8:25:09
|
* @author wanchanghuang
|
* @type 1轮保 2润滑 3点检
|
* */
|
@Override
|
public void saveByEqmWheelCovelParamByObj(EqmWheelCovelPlanInfo ecp) {
|
//通过设备型号(zj17)和类型 1轮保 2润滑 3检修查询数据字典子表
|
String sql="select * from sys_eqp_type where del=0 and cid in (select id from sys_eqp_category where eqp_type=(select b.id from md_equipment a left join md_eqp_type b on a.eqp_type_id=b.id where a.id='"+ecp.getEqp_id()+"') and maintainace_type='"+ecp.getType()+"') ";
|
//String sql="select * from sys_eqp_type where del=0 and cid in (select id from sys_eqp_category where eqp_type=(select b.id from md_equipment a left join md_eqp_type b on a.eqp_type_id=b.id where a.id='297eefec549a3ec801549a416fa10001') and maintainace_type='1') ";
|
List<SysEqpType> list=getListSysEqpType(sysEqpTypeDao.queryBySql(sql));
|
EqmWheelCovelParam ewcp=null;
|
for(SysEqpType stype:list){
|
ewcp=new EqmWheelCovelParam();
|
/*ewcp.setEqm_wcp_id(ecp.getId()); //主表ID
|
ewcp.setContent(stype.getName());//保养内容
|
ewcp.setJob_standard(stype.getDjMethodId());//保养方法
|
ewcp.setContent_datail(stype.getDes());//保养标准
|
ewcp.setRole_id(stype.getLxType());//保养角色ID
|
ewcp.setRole_name("");//保养角色名称
|
ewcp.setDel(0);
|
ewcp.setStatus(0);
|
ewcp.setAttr3(stype.getRhPart());//润滑部位
|
*/ //保存
|
eqmWheelCovelParamDao.save(ewcp);
|
}
|
}
|
|
/**
|
* [功能说明]:将Object转换成实体bean
|
* */
|
public List<SysEqpType> getListSysEqpType(List<?> list){
|
List<SysEqpType> lists=new ArrayList<SysEqpType>();
|
SysEqpType setp=null;
|
SysEqpCategory sec=null;
|
if(list.size()>0){
|
for(Object o:list){
|
setp=new SysEqpType();
|
Object[] temp=(Object[]) o;
|
sec=new SysEqpCategory();
|
if(temp[1]!=null){
|
sec.setId(temp[1].toString());
|
}
|
setp.setSysEqpCategory(sec);
|
if(temp[2]!=null){
|
setp.setCode(temp[2].toString());
|
}
|
if(temp[3]!=null){
|
setp.setName(temp[3].toString());
|
}
|
if(temp[4]!=null){
|
setp.setDes(temp[4].toString());
|
}
|
if(temp[7]!=null){
|
setp.setLxType(temp[7].toString());
|
}
|
if(temp[9]!=null){
|
setp.setDjMethodId(temp[9].toString());
|
}
|
lists.add(setp);
|
}
|
}
|
return lists;
|
}
|
|
/**
|
* [功能说明]:工单实际反馈
|
* 1)通过ID集合,查询工单表集合,返回MES;
|
* 2)发送成功后修改工单状态;
|
* 1
|
* */
|
@LogAnno(operateType = "反馈MES")
|
@Override
|
public void orderResult(String ids,Integer type) {
|
//ids=ids.replaceAll(",", "','");//如: 1,2拼接成 1','2
|
try {
|
log.error("卷包成型工单返回IDS="+ids.replaceAll(",", "','") );
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
String[] idst=ids.split(",");
|
for(int i=0;i<idst.length;i++){
|
StringBuffer sql=new StringBuffer(1000);
|
sql.append("select ");
|
sql.append("a.code,a.shift,a.team,a.real_stim,a.real_etim,(select code from MD_MAT where id=mat) as matName, ");
|
sql.append("b.qty,(select work_center from MD_EQUIPMENT where id=eqp) as eqpCode, ");
|
sql.append("stop_times,stop_time,b.id,a.type,b.main_qty ");
|
sql.append("from SCH_WORKORDER a LEFT JOIN SCH_STAT_OUTPUT_FB b on a.id=b.oid ");
|
if (type==1) {
|
sql.append("where a.sts=4 and a.id in ('"+idst[i]+"') ");
|
}
|
if (type==2) {
|
sql.append("where a.sts=4 and b.id in ('"+idst[i]+"') ");
|
}
|
|
//查询工单实际消耗
|
List<?> wklist=sysEqpTypeDao.queryBySql(sql.toString());
|
sql.setLength(0);
|
//查询辅料消耗
|
sql.append("select a.qty,( select code from MD_UNIT where id=a.unit) as unitName,b.code from SCH_STAT_INPUT_FB a , MD_MAT b where a.mat=b.id ");
|
if (type==1) {
|
sql.append("and a.out_id in ( select id from SCH_STAT_OUTPUT_FB where oid in ('"+idst[i]+"') ) ");
|
}
|
if (type==2) {
|
sql.append("and a.out_id in ('"+idst[i]+"')");
|
}
|
|
List<?> fllist=sysEqpTypeDao.queryBySql(sql.toString());
|
getListMesWorkOrder(wklist,fllist);
|
}
|
}
|
|
/**
|
* [功能说明]:发射工单结果反馈
|
* 1)通过ID集合,查询工单表集合,返回MES;
|
* 2)发送成功后修改工单状态;
|
* 1
|
* */
|
@LogAnno(operateType = "反馈MES")
|
@Override
|
public void orderResultFSJ(String idarr,Integer type) {
|
//ids=ids.replaceAll(",", "','");//如: 1,2拼接成 1','2
|
String[] idst=idarr.split(",");
|
List<String> ids=new ArrayList<>();
|
for(int i=0;i<idst.length;i++){
|
TransmitterWorkOrderBean bean = null;
|
List<TransmitterOutput> outputs = new ArrayList<>();
|
bean = transmitterWorkOrderDaoI.findById(TransmitterWorkOrderBean.class, idst[i]);
|
if (bean !=null) {
|
List<?> Ueqp = transmitterWorkOrderDaoI.queryBySql("select equipment_code from MD_EQUIPMENT where id = ? ", bean.getEqpId());
|
if (Ueqp != null&&Ueqp.size()>0) {
|
if ("131".equals(Ueqp.get(0).toString())) {
|
bean.setEqpName("S01");
|
}else if("132".equals(Ueqp.get(0).toString())){
|
bean.setEqpName("S02");
|
}else if("133".equals(Ueqp.get(0).toString())){
|
bean.setEqpName("S03");
|
} else {
|
bean.setEqpName("");
|
}
|
}else {
|
bean.setEqpName("");
|
}
|
List<?> outList = transmitterOutputDao.queryBySql(" select a.tw_id,a.piping_no,b.code,a.shut_no,a.receive_no,e.qty*10000 "
|
+" from SCH_TRANSMITTER_OUTPUT a "
|
+" left join SCH_WORKORDER b on a.work_code = b.id "
|
// +" left join MD_EQUIPMENT c on a.EQP_ID = c.id "
|
+" left join SCH_STAT_OUTPUT d on d.oid =b.id "
|
+" left join SCH_STAT_INPUT e on e.out_id = d.id and e.mat = ? "
|
+" where a.TW_ID=? ",bean.getMaterialCode(),
|
bean.getWorkOrderCode());
|
TransmitterOutput output = null;
|
Object[] obj = null;
|
if(outList!=null && outList.size() > 0) {
|
for (Object object : outList) {
|
obj = (Object[]) object;
|
output = new TransmitterOutput();
|
output.setTwId(StringUtil.convertObjToString(obj[0]));
|
output.setPipingNo(StringUtil.convertObjToString(obj[1]));
|
int num = Integer.parseInt(output.getPipingNo())+1;
|
if(num<10) {
|
output.setPipingNo(bean.getEqpName()+"0"+num);
|
}else {
|
output.setPipingNo(bean.getEqpName()+num);
|
}
|
output.setWorkCode(StringUtil.convertObjToString(obj[2]));
|
output.setShutNo(StringUtil.converObj2Double(obj[3]));
|
output.setDumpNo(StringUtil.converObj2Double(obj[4]));
|
output.setEqpId(output.getWorkCode().substring(0,3));
|
output.setReceiveNo(StringUtil.converObj2Double(obj[5]));
|
outputs.add(output);
|
}
|
}
|
|
List<?> mat = transmitterWorkOrderDaoI.queryBySql("select code from md_mat where id = ? ", bean.getMaterialCode());
|
if (mat != null&&mat.size()>0) {
|
bean.setMatName(mat.get(0).toString());
|
}else {
|
bean.setMatName("");
|
}
|
bean.setOutputs(outputs);
|
FillUserInfoUtil.fillUpdateUserInfo(bean,request);
|
WorkOrderStatChangeInterceptor.getInstance().DASSendFSJOrderResult(bean,ids);
|
}
|
}
|
|
}
|
|
public List<MesWorkOrderBean> getListMesWorkOrder(List<?> wklist,List fllist){
|
List<MesMdMatBean> fllt=new ArrayList<MesMdMatBean>();
|
MesWorkOrderBean bean=null;
|
List<String> ids=new ArrayList<>();
|
if(wklist.size()>0){
|
for(Object o:wklist){
|
bean=new MesWorkOrderBean();
|
Object[] temp=(Object[]) o;
|
Object[] other;
|
List otherFl = new ArrayList();
|
bean.setCode(temp[0].toString()); //工单号
|
if (bean.getCode().endsWith("#020")) {
|
bean.setCode(bean.getCode().substring(0,bean.getCode().indexOf("#"))+"#030");
|
}
|
bean.setShift(temp[1].toString()); //班次
|
bean.setTeam(temp[2].toString()); //班组
|
bean.setReal_stim(temp[3].toString().substring(0,19)); //实际开始时间
|
bean.setReal_etim(temp[4].toString().substring(0,19)); //实际结束时间
|
bean.setMatName(temp[5].toString()); //物料名称
|
bean.setId(temp[10].toString());
|
// 卷包工单反馈时相互查询拼接成一条工单产耗 卷接工单类型 1 包装工单类型 2
|
/*if(temp[11]!=null && "12".contains(temp[11].toString())){ // 判断工单类型
|
if (temp[11].toString().equals("1")){ // 卷接工单
|
// 查询包装工单产耗
|
other = getObjects(bean.getCode().substring(0,bean.getCode().indexOf("#"))+"#020");
|
bean.setYzQuantity(temp[6]==null?0D:Double.parseDouble( temp[6].toString() ));
|
bean.setXhQuantity(other[1]==null?0D:Double.parseDouble( other[1].toString() ));
|
bean.setThQuantity(other[0]==null?0D:Double.parseDouble( other[0].toString() ));
|
getFls(fllist,other[2]);
|
}else{ // 包装工单
|
// 查询卷接工单产耗
|
other = getObjects(bean.getCode().substring(0,bean.getCode().indexOf("#"))+"#010");
|
bean.setXhQuantity(temp[12]==null?0D:Double.parseDouble( temp[12].toString() ));
|
bean.setThQuantity(temp[6]==null?0D:Double.parseDouble( temp[6].toString() ));
|
bean.setYzQuantity(other[0]==null?0D:Double.parseDouble( other[0].toString() ));
|
getFls(fllist,other[2]);
|
}
|
}*/
|
if(temp[6]!=null){
|
bean.setOutput(Double.parseDouble( temp[6].toString() ));//实际产量
|
}
|
// 包装机工单添加条盒和小盒产量反馈
|
if(temp[11]!=null && "2".contains(temp[11].toString())) {
|
bean.setXhQuantity(temp[12] == null ? 0D : Double.parseDouble(temp[12].toString()));
|
bean.setThQuantity(temp[6] == null ? 0D : Double.parseDouble(temp[6].toString()));
|
}
|
if(temp[7]!=null){
|
bean.setEqpCode( temp[7].toString() );//设备mes——code
|
}
|
if(temp[8]!=null){
|
bean.setDowntimeTimes(Integer.parseInt( temp[8].toString() )); //停机次数
|
}
|
if(temp[9]!=null){
|
bean.setDowntimeDuration( temp[9].toString() ); //停机时间
|
}
|
//添加物料
|
if(wklist.size()>0){
|
MesMdMatBean mesMdMat=null;
|
if (otherFl!=null){
|
fllist.addAll(otherFl);
|
}
|
for(Object o2:fllist){
|
mesMdMat=new MesMdMatBean();
|
Object[] temp2=(Object[]) o2;
|
if(temp2[0]!=null){
|
mesMdMat.setQuantity( Float.parseFloat(temp2[0].toString() )); //辅料产量
|
}
|
if(temp2[1]!=null){
|
mesMdMat.setUom(temp2[1].toString() ); //辅料单位
|
}
|
if(temp2[2]!=null){
|
mesMdMat.setMaterialCode( temp2[2].toString() ); //辅料编码
|
}
|
fllt.add(mesMdMat);
|
}
|
}
|
bean.setListFl(fllt);
|
//循环向MES发送
|
WorkOrderStatChangeInterceptor.getInstance().DASSendOrderResult(bean,ids);
|
}
|
}
|
|
for (String string : ids) {
|
try {
|
orderServiceImpl.updateOrder(string);
|
} catch (Exception e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
}
|
|
}
|
return null;
|
}
|
|
public void getFls(List fllist,Object o) {
|
List otherFl;
|
String sql = "select a.qty,( select code from MD_UNIT where id=a.unit) as unitName,b.code from SCH_STAT_INPUT_FB a , MD_MAT b " +
|
"where a.mat=b.id and a.out_id = '"+ o +"'";
|
otherFl=sysEqpTypeDao.queryBySql(sql);
|
if (otherFl != null) {
|
fllist.addAll(otherFl);
|
}
|
}
|
|
public Object[] getObjects(String param) {
|
String sql = "select qty,main_qty,id from SCH_STAT_OUTPUT_FB where oid = (select id from sch_workorder where code = ?)";
|
List<?> list = transmitterWorkOrderDaoI.queryBySql(sql,param);
|
return (Object[]) list.get(0);
|
}
|
|
@LogAnno(operateType = "反馈统计员")
|
@Override
|
public void orderResultToCounter(String ids, Integer type) {
|
String[] idst=ids.split(",");
|
//增加创建人与创建时间信息
|
SessionInfo sessionInfo = (SessionInfo) request.getSession().getAttribute("sessionInfo");
|
String updateUserName = sessionInfo.getUser().getName();
|
String updateUserTime = DateUtil.datetoStr(new Date(), "yyyy-MM-dd HH:mm:ss");
|
String sql = "update SCH_STAT_OUTPUT set is_feedback = 2,UPDATE_USER_NAME = '"+updateUserName+"' ,FEEDBACK_TIME=to_date('"+updateUserTime+"','yyyy-mm-dd hh24:mi:ss'),UPDATE_USER_TIME = to_date('"+updateUserTime+"','yyyy-mm-dd hh24:mi:ss') where id = ?";
|
String insertOutSql = "insert into SCH_STAT_OUTPUT_FB select * from SCH_STAT_OUTPUT where id = ? ";
|
String updateFBTime = "update sch_stat_output_fb set feedback_time = null where id= ? ";
|
String insertInSql = "insert into SCH_STAT_INPUT_fb select * from SCH_STAT_INPUT where out_id = ? ";
|
for(int i=0;i<idst.length;i++){
|
List<Object> list = new ArrayList<>();
|
list.add(idst[i]);
|
transmitterOutputDao.updateBySql(sql, list);
|
transmitterOutputDao.updateBySql(insertOutSql, list);
|
transmitterOutputDao.updateBySql(insertInSql, list);
|
transmitterOutputDao.updateBySql(updateFBTime,list);
|
|
}
|
|
}
|
@LogAnno(operateType = "撤销反馈统计员")
|
@Override
|
public void revokeCounter(String ids, Integer type) {
|
String[] idst=ids.split(",");
|
//增加创建人与创建时间信息
|
SessionInfo sessionInfo = (SessionInfo) request.getSession().getAttribute("sessionInfo");
|
String updateUserName = sessionInfo.getUser().getName();
|
String updateUserTime = DateUtil.datetoStr(new Date(), "yyyy-MM-dd HH:mm:ss");
|
String sql = "update SCH_STAT_OUTPUT set is_feedback = 0,UPDATE_USER_NAME = '"+updateUserName+"' ,FEEDBACK_TIME=to_date('"+updateUserTime+"','yyyy-mm-dd hh24:mi:ss'),UPDATE_USER_TIME = to_date('"+updateUserTime+"','yyyy-mm-dd hh24:mi:ss') where id = ?";
|
String insertOutSql = "delete from SCH_STAT_OUTPUT_FB where id = ? ";
|
|
String insertInSql = "delete from SCH_STAT_INPUT_fb where out_id = ? ";
|
for(int i=0;i<idst.length;i++){
|
List<Object> list = new ArrayList<>();
|
list.add(idst[i]);
|
transmitterOutputDao.updateBySql(sql, list);
|
transmitterOutputDao.updateBySql(insertInSql, list);
|
transmitterOutputDao.updateBySql(insertOutSql, list);
|
|
|
}
|
}
|
|
@LogAnno(operateType = "反馈统计员")
|
@Override
|
public void orderCounterFSJ(String ids, Integer type) {
|
String[] idst=ids.split(",");
|
List<String> idarr=new ArrayList<>();
|
for(int i=0;i<idst.length;i++){
|
List<Object> o = new ArrayList<>();
|
o.add(idst[i]);
|
//增加创建人与创建时间信息
|
SessionInfo sessionInfo = (SessionInfo) request.getSession().getAttribute("sessionInfo");
|
String updateUserName = sessionInfo.getUser().getName();
|
String updateUserTime = DateUtil.datetoStr(new Date(), "yyyy-MM-dd HH:mm:ss");
|
transmitterWorkOrderDaoI.updateBySql("update SCH_TRANSMITTER_WKORDER set is_feedback = 2,UPDATE_USER_NAME = '"+updateUserName+"' ,FEEDBACK_TIME=to_date('"+updateUserTime+"','yyyy-mm-dd hh24:mi:ss'),UPDATE_USER_TIME = to_date('"+updateUserTime+"','yyyy-mm-dd hh24:mi:ss') where id=?",o);
|
}
|
}
|
|
|
|
|
}
|