package com.thhy.engineering.modules.biz.device.service.impl; import cn.hutool.core.io.IoUtil; import cn.hutool.poi.excel.ExcelWriter; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.github.pagehelper.util.StringUtil; import com.thhy.engineering.modules.biz.device.entity.TBigDevice; import com.thhy.engineering.modules.biz.device.entity.TBigPath; import com.thhy.engineering.modules.biz.device.entity.dto.BigDeviceExcelDto; import com.thhy.engineering.modules.biz.device.mapper.TBigDeviceMapper; import com.thhy.engineering.modules.biz.device.service.TBigDeviceService; import com.thhy.engineering.modules.biz.file.service.FileService; import com.thhy.general.common.BasicResult; import com.thhy.general.config.SysUserInfo; import com.thhy.general.utils.ExcelUtils; import com.thhy.general.utils.UUIDUtils; import com.thhy.general.utils.UserInfoUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.OutputStream; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @Service public class TBigDeviceServiceImpl implements TBigDeviceService { @Resource private TBigDeviceMapper bigDeviceMapper; @Resource private FileService fileService; private final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM"); @Override @Transactional public BasicResult bigDeviceInsert(Map values) { SysUserInfo sysUserInfo = UserInfoUtils.getInstance().getUserInfo(); String companyId = sysUserInfo.getCompanyId(); String bigNumber = values.get("bigNumber").toString(); String bigDeviceId = bigDeviceMapper.bigNumberByOne(bigNumber,companyId); if(!StringUtil.isEmpty(bigDeviceId)){ return BasicResult.faild("11111","设备编号重复","error"); } values.put("bigDeviceId", UUIDUtils.create()); values.put("companyId",companyId); values.put("createUser",sysUserInfo.getUserId()); try { values.put("dateOfProduction",sdf.parse((String) values.get("dateOfProduction"))); values.put("useYearMonth",sdf.parse((String) values.get("useYearMonth"))); }catch (Exception e){} bigDeviceMapper.bigDeviceInsert(values); // //大型生产设备id // String bigDeviceId1 = values.get("bigDeviceId").toString(); // //图片 列表 // List pictures = (List) values.get("pictures"); // if(pictures!=null && pictures.size()>0){ // for (String p:pictures){ // HashMap val = new HashMap<>(); // val.put("bigDeviceId",bigDeviceId1); // val.put("id",""); // val.put("fileType",1); // val.put("filePath",p); // bigDeviceMapper.picturesInsert(val); // } // } // //文件 // List files = (List) values.get("files"); // if(files!=null && files.size()>0){ // for (String f:files){ // HashMap val = new HashMap<>(); // val.put("bigDeviceId",bigDeviceId1); // val.put("id",""); // val.put("fileType",2); // val.put("filePath",f); // bigDeviceMapper.picturesInsert(val); // } // } return BasicResult.success("添加成功"); } @Override public BasicResult bigDeviceList(Map values) { SysUserInfo sysUserInfo = UserInfoUtils.getInstance().getUserInfo(); String companyId = sysUserInfo.getCompanyId(); values.put("companyId",companyId); Integer pageSize = Integer.valueOf(values.get("pageSize").toString()); Integer pageNum = Integer.valueOf(values.get("pageNum").toString()); PageHelper.startPage(pageNum,pageSize); List tBigDevices = bigDeviceMapper.bigDeviceList(values); PageInfo tBigDevicePageInfo = new PageInfo<>(tBigDevices); return BasicResult.success(tBigDevicePageInfo); } @Override public BasicResult bigDeviceInfo(String bigDeviceId) { TBigDevice tBigDevices = bigDeviceMapper.bigDeviceInfo(bigDeviceId); return BasicResult.success(tBigDevices); } @Override @Transactional public BasicResult bigDeviceDel(String bigDeviceId) { bigDeviceMapper.bigDeviceDel(bigDeviceId); bigDeviceMapper.bigDevicePathDel(bigDeviceId); return BasicResult.success("删除成功"); } @Override @Transactional public BasicResult bigDeviceUpdate(Map values) { SysUserInfo sysUserInfo = UserInfoUtils.getInstance().getUserInfo(); String companyId = sysUserInfo.getCompanyId(); String bigNumber = values.get("bigNumber").toString(); String bigDeviceId = bigDeviceMapper.bigNumberByOne(bigNumber,companyId); String bigDeviceId1 = values.get("bigDeviceId").toString(); if(!StringUtil.isEmpty(bigDeviceId)&&!bigDeviceId.equals(bigDeviceId1)){ return BasicResult.faild("11111","设备编号重复","error"); } // bigDeviceMapper.bigDevicePathDel(bigDeviceId1); // // List pictures = (List) values.get("pictures"); // if(pictures!=null && pictures.size()>0){ // for (String p:pictures){ // HashMap val = new HashMap<>(); // val.put("bigDeviceId",bigDeviceId1); // val.put("id",""); // val.put("fileType",1); // val.put("filePath",p); // bigDeviceMapper.picturesInsert(val); // } // } // //文件 // List files = (List) values.get("files"); // if(files!=null && files.size()>0){ // for (String f:files){ // HashMap val = new HashMap<>(); // val.put("bigDeviceId",bigDeviceId1); // val.put("id",""); // val.put("fileType",2); // val.put("filePath",f); // bigDeviceMapper.picturesInsert(val); // } // } try { values.put("dateOfProduction",sdf.parse((String) values.get("dateOfProduction"))); values.put("useYearMonth",sdf.parse((String) values.get("useYearMonth"))); }catch (Exception e){} bigDeviceMapper.bigDeviceUpdate(values); return BasicResult.success("修改成功"); } @Override public BasicResult bigDevicePull() { SysUserInfo sysUserInfo = UserInfoUtils.getInstance().getUserInfo(); String companyId = sysUserInfo.getCompanyId(); List bigDevices = bigDeviceMapper.bigDevicePull(companyId); return BasicResult.success(bigDevices); } @Override public void bigDeviceExcel(Map values, HttpServletResponse response) { SysUserInfo sysUserInfo = UserInfoUtils.getInstance().getUserInfo(); String companyId = sysUserInfo.getCompanyId(); values.put("companyId",companyId); List tBigDevices = bigDeviceMapper.bigDeviceList(values); ExcelUtils.downExcel(tBigDevices,TBigDevice.class,response,"设备信息管理"); } }