diff --git a/src/main/java/com/dsic/gj_erp/Test.java b/src/main/java/com/dsic/gj_erp/Test.java index b4ad045..6da244f 100644 --- a/src/main/java/com/dsic/gj_erp/Test.java +++ b/src/main/java/com/dsic/gj_erp/Test.java @@ -1,5 +1,6 @@ package com.dsic.gj_erp; +import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.StrUtil; import java.io.IOException; @@ -7,7 +8,9 @@ import java.io.IOException; public class Test { public static void main(String[] args) throws IOException { - System.out.println(StrUtil.padPre("1",3,"0")); + System.out.println(DateUtil.thisYear()); + +// System.out.println(StrUtil.padPre("1",3,"0")); //String aaa="gagagag"; //System.out.println(aaa.split("@")[0]); diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmXbjh.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmXbjh.java index 8630bce..7f383e3 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmXbjh.java +++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmXbjh.java @@ -51,6 +51,6 @@ public class DmXbjh implements Serializable { @ApiModelProperty(value = "船号") private String dcCh; - + private int version; } diff --git a/src/main/java/com/dsic/gj_erp/controller/jhgk/DmSygdController.java b/src/main/java/com/dsic/gj_erp/controller/jhgk/DmSygdController.java index 1d840a8..34ae684 100644 --- a/src/main/java/com/dsic/gj_erp/controller/jhgk/DmSygdController.java +++ b/src/main/java/com/dsic/gj_erp/controller/jhgk/DmSygdController.java @@ -80,15 +80,15 @@ public class DmSygdController { @PostMapping("/tj") @AuthFunction @ResponseBody - public ResultBean tj(@RequestBody List list){ - service.tj(list); + public ResultBean tj(String from,String to){ + mxService.tj(from,to); return new ResultBean(); } @ApiOperation(value = "批量审核") @PostMapping(value = "/sh") - public ResultBean sh(@RequestBody List dmSygds) { - service.sh(dmSygds); + public ResultBean sh(String from,String to) { + mxService.sh(from,to); return new ResultBean(); } diff --git a/src/main/java/com/dsic/gj_erp/service/jhgk/DmSygdMxService.java b/src/main/java/com/dsic/gj_erp/service/jhgk/DmSygdMxService.java index 61d4624..eab0184 100644 --- a/src/main/java/com/dsic/gj_erp/service/jhgk/DmSygdMxService.java +++ b/src/main/java/com/dsic/gj_erp/service/jhgk/DmSygdMxService.java @@ -31,7 +31,8 @@ public interface DmSygdMxService extends IService { List tqSygd1(String begin, String end); Object cgjhdhqk(Map map); - + void tj(String from,String to); + void sh(String from,String to); void ydjhImport(List objList); } diff --git a/src/main/java/com/dsic/gj_erp/service/jhgk/DmSygdService.java b/src/main/java/com/dsic/gj_erp/service/jhgk/DmSygdService.java index 6091495..3c4088d 100644 --- a/src/main/java/com/dsic/gj_erp/service/jhgk/DmSygdService.java +++ b/src/main/java/com/dsic/gj_erp/service/jhgk/DmSygdService.java @@ -21,8 +21,8 @@ public interface DmSygdService extends IService { Map uploadSy(List list, HttpServletRequest req); Boolean tj(List dmSygds); - void tj1(String from,String to); + Boolean sh(List dmSygds); - void sh1(String from,String to); + } diff --git a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmSygdMxServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmSygdMxServiceImpl.java index a600e8d..01e9e69 100644 --- a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmSygdMxServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmSygdMxServiceImpl.java @@ -26,10 +26,7 @@ import com.dsic.gj_erp.handler.dto.RealCapacity; import com.dsic.gj_erp.mapper.jhgk.DmSygdMxMapper; import com.dsic.gj_erp.service.jcsj.DmBomService; import com.dsic.gj_erp.service.jcsj.EmSbcnpService; -import com.dsic.gj_erp.service.jhgk.DmSygdMxService; -import com.dsic.gj_erp.service.jhgk.DmSygdService; -import com.dsic.gj_erp.service.jhgk.DmTzjhService; -import com.dsic.gj_erp.service.jhgk.DmXbjhService; +import com.dsic.gj_erp.service.jhgk.*; import com.dsic.gj_erp.util.MyString; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -68,6 +65,68 @@ public class DmSygdMxServiceImpl extends ServiceImpl i Dm_zhbmpRepository dm_zhbmpRepository; @Autowired DmBomService bomService; + @Autowired + DmYdjhService ydjhService; + + @Override + @Transactional(rollbackFor = Exception.class) + public void tj(String from,String to){ + List sygdMxes = this.list(Wrappers.lambdaQuery().between(DmSygdMx::getJssj, from, to)); + List collect = sygdMxes.stream().map(dmSygd -> { + DmSygdMx dmSygdMx = new DmSygdMx(); + dmSygdMx.setId(dmSygd.getId()); + dmSygdMx.setZt("1"); + return dmSygdMx; + }).collect(Collectors.toList()); + this.updateBatchById(collect); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void sh(String from,String to){ + List sygdMxes = this.list(Wrappers.lambdaQuery().between(DmSygdMx::getJssj, from, to)); + List collect = sygdMxes.stream().map(dmSygd -> { + DmSygdMx dmSygdMx = new DmSygdMx(); + dmSygdMx.setId(dmSygd.getId()); + dmSygdMx.setZt("2"); + return dmSygdMx; + }).collect(Collectors.toList()); + this.updateBatchById(collect); + //生成作业计划 + new Thread(()->{ + this.generateYdjh(sygdMxes); + }).start(); + } + + @Transactional(rollbackFor = Exception.class) + public void generateYdjh(List sygdMxes) { + List ydjhList = sygdMxes.stream().map(item -> { + DmYdjh dmYdjh = new DmYdjh(); + BeanUtil.copyProperties(item, dmYdjh); + return dmYdjh; + }).collect(Collectors.toList()); + ydjhList.forEach(l->{ + if (StrUtil.isAllNotEmpty(l.getXzglxq(),l.getJssj())){ + //状态 2拖期 1提前 3追加 + if (l.getXzglxq().compareTo(l.getJssj())<0){ + if (!DateUtil.isSameMonth(DateUtil.parseDate(l.getXzglxq()),DateUtil.parseDate(l.getJssj()))){ + l.setJhlx("3"); + }else { + l.setJhlx("1"); + } + } + if (l.getXzglxq().compareTo(l.getJssj())>0){ + l.setJhlx("2"); + } + l.setJssjOld(StrUtil.isEmpty(l.getJssj())?"":l.getJssj()); + l.setJssj(l.getXzglxq()); + } + if (StrUtil.isEmpty(l.getTzbh())){ + l.setJhlx("3"); + } + }); + ydjhService.saveBatch(ydjhList); + } public Map> getMxMap(String begin,String end){ diff --git a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmSygdServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmSygdServiceImpl.java index 6b28c30..c006024 100644 --- a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmSygdServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmSygdServiceImpl.java @@ -35,9 +35,6 @@ import java.util.stream.Collectors; @AllArgsConstructor public class DmSygdServiceImpl extends ServiceImpl implements DmSygdService { - private final DmYdjhService ydjhService; - private final DmSygdMxService sygdMxService; - @Override @Transactional(rollbackFor = Exception.class) public Map uploadSy(List list, HttpServletRequest req){ @@ -70,19 +67,6 @@ public class DmSygdServiceImpl extends ServiceImpl impleme return this.updateBatchById(dmSygds); } - @Override - @Transactional(rollbackFor = Exception.class) - public void tj1(String from,String to){ - List sygdMxes = this.sygdMxService.list(Wrappers.lambdaQuery().between(DmSygdMx::getJssj, from, to)); - List collect = sygdMxes.stream().map(dmSygd -> { - DmSygdMx dmSygdMx = new DmSygdMx(); - dmSygdMx.setId(dmSygd.getId()); - dmSygdMx.setZt("1"); - return dmSygdMx; - }).collect(Collectors.toList()); - this.sygdMxService.updateBatchById(collect); - } - @Override @Transactional(rollbackFor = Exception.class) @@ -94,50 +78,4 @@ public class DmSygdServiceImpl extends ServiceImpl impleme return this.updateBatchById(dmSygds); } - @Override - @Transactional(rollbackFor = Exception.class) - public void sh1(String from,String to){ - List sygdMxes = this.sygdMxService.list(Wrappers.lambdaQuery().between(DmSygdMx::getJssj, from, to)); - List collect = sygdMxes.stream().map(dmSygd -> { - DmSygdMx dmSygdMx = new DmSygdMx(); - dmSygdMx.setId(dmSygd.getId()); - dmSygdMx.setZt("2"); - return dmSygdMx; - }).collect(Collectors.toList()); - this.sygdMxService.updateBatchById(collect); - //生成作业计划 - new Thread(()->{ - this.generateYdjh(sygdMxes); - }).start(); - } - - @Transactional(rollbackFor = Exception.class) - public void generateYdjh(List sygdMxes) { - List ydjhList = sygdMxes.stream().map(item -> { - DmYdjh dmYdjh = new DmYdjh(); - BeanUtil.copyProperties(item, dmYdjh); - return dmYdjh; - }).collect(Collectors.toList()); - ydjhList.forEach(l->{ - if (StrUtil.isAllNotEmpty(l.getXzglxq(),l.getJssj())){ - //状态 2拖期 1提前 3追加 - if (l.getXzglxq().compareTo(l.getJssj())<0){ - if (!DateUtil.isSameMonth(DateUtil.parseDate(l.getXzglxq()),DateUtil.parseDate(l.getJssj()))){ - l.setJhlx("3"); - }else { - l.setJhlx("1"); - } - } - if (l.getXzglxq().compareTo(l.getJssj())>0){ - l.setJhlx("2"); - } - l.setJssjOld(StrUtil.isEmpty(l.getJssj())?"":l.getJssj()); - l.setJssj(l.getXzglxq()); - } - if (StrUtil.isEmpty(l.getTzbh())){ - l.setJhlx("3"); - } - }); - ydjhService.saveBatch(ydjhList); - } } diff --git a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmXbjhServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmXbjhServiceImpl.java index b25fdd9..b1c0b61 100644 --- a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmXbjhServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmXbjhServiceImpl.java @@ -1,10 +1,15 @@ package com.dsic.gj_erp.service.jhgk.impl; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.io.FileUtil; +import cn.hutool.core.io.IoUtil; import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.dsic.gj_erp.bean.jhgk.DmXbjh; import com.dsic.gj_erp.mapper.jhgk.DmXbjhMapper; @@ -17,6 +22,8 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; +import java.io.File; +import java.io.FileOutputStream; import java.io.IOException; import java.util.ArrayList; import java.util.LinkedHashMap; @@ -26,7 +33,7 @@ import java.util.stream.Collectors; /** *

- * 服务实现类 + * 服务实现类 *

* * @author xn @@ -40,69 +47,72 @@ public class DmXbjhServiceImpl extends ServiceImpl impleme ModelMapper modelMapper; @Override - public Map> getList(JSONObject json) { - QueryWrapper queryWrapper=new QueryWrapper<>(); - if(StringUtils.isNotEmpty(json.getString("dcCh"))){ - queryWrapper.eq("dc_ch",json.getString("dcCh")); + public Map> getList(JSONObject json) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + if (StringUtils.isNotEmpty(json.getString("dcCh"))) { + queryWrapper.eq("dc_ch", json.getString("dcCh")); } - if(StringUtils.isNotEmpty(json.getString("Zt"))){ - queryWrapper.eq("zt",json.getString("Zt")); + if (StringUtils.isNotEmpty(json.getString("Zt"))) { + queryWrapper.eq("zt", json.getString("Zt")); } - if(StringUtils.isNotEmpty(json.getString("nf"))){ - String nf=json.getString("nf"); - String startTime=nf.split("~")[0]; - String endTime=nf.split("~")[1]; - queryWrapper.between("nf",startTime,endTime); + if (StringUtils.isNotEmpty(json.getString("nf"))) { + String nf = json.getString("nf"); + String startTime = nf.split("~")[0]; + String endTime = nf.split("~")[1]; + queryWrapper.between("nf", startTime, endTime); } queryWrapper.orderByDesc("zl"); - List dmTzjhs=dmXbjhMapper.selectList(queryWrapper); - Map> map=dmTzjhs.stream() + List dmTzjhs = dmXbjhMapper.selectList(queryWrapper); + Map> map = dmTzjhs.stream() .collect(Collectors.groupingBy(DmXbjh::getDcCh)); - //对map的value进行排序,并返回降序以后的map集合 - LinkedHashMap> collect = map.entrySet().stream().sorted((entry1, entry2) -> { - Double zl1=entry1.getValue().stream().filter(l->ObjectUtil.isNotEmpty(l.getZl())).mapToDouble(DmXbjh::getZl).sum(); - Double zl2=entry2.getValue().stream().filter(l->ObjectUtil.isNotEmpty(l.getZl())).mapToDouble(DmXbjh::getZl).sum(); - //降序排序 - return zl2.compareTo(zl1); - }).collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue,(oldValue, newValue) -> oldValue, LinkedHashMap::new)); + //对map的value进行排序,并返回降序以后的map集合 + LinkedHashMap> collect = map.entrySet().stream().sorted((entry1, entry2) -> { + Double zl1 = entry1.getValue().stream().filter(l -> ObjectUtil.isNotEmpty(l.getZl())).mapToDouble(DmXbjh::getZl).sum(); + Double zl2 = entry2.getValue().stream().filter(l -> ObjectUtil.isNotEmpty(l.getZl())).mapToDouble(DmXbjh::getZl).sum(); + //降序排序 + return zl2.compareTo(zl1); + }).collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, (oldValue, newValue) -> oldValue, LinkedHashMap::new)); return collect; } - - @Override + @Transactional public JSONObject upload(MultipartFile file) throws IOException { - // ExcelReader reader = ExcelUtil.getReader(file.getInputStream()); - //List dmXbjhs= ExcelUtil.readDmXbjh(file); - JSONObject dmXbjhs= ExcelUtil.readDmXbjh(file); + JSONObject dmXbjhs = ExcelUtil.readDmXbjh(file); + if (dmXbjhs != null) { + List listByNf = list(Wrappers.lambdaQuery().eq(DmXbjh::getNf, dmXbjhs.getString("nf"))); + this.save(dmXbjhs); -// List list=new ArrayList<>(); -// mapList.forEach(stringObjectMap -> { -// DmXbjh dmXbjh = modelMapper.map(stringObjectMap, DmXbjh.class); -// dmXbjh.setZt("0"); -// list.add(dmXbjh); -// }); - this.save(dmXbjhs); + String type = FileUtil.extName(file.getOriginalFilename()); + File uploadFile = new File("./线表计划"); + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + int version = !listByNf.isEmpty() ? listByNf.get(0).getVersion() + 1 : 1; + File uploadFiles = new File(StrUtil.format("./线表计划/{}_{}{}{}", dmXbjhs.getString("nf"), version, StrUtil.DOT, type)); + + file.transferTo(uploadFiles); + } return dmXbjhs; } @Override @Transactional public void save(JSONObject json) { - List dmXbjhs=new ArrayList<>(); - for (String key:json.keySet()) { - JSONArray jsonArray=json.getJSONArray(key); - for (Object object:jsonArray) { - // JSONObject dmxb=JSONObject.parseObject(object.toString()); - DmXbjh dmXbjh= modelMapper.map(object,DmXbjh.class); + List dmXbjhs = new ArrayList<>(); + for (String key : json.keySet()) { + JSONArray jsonArray = json.getJSONArray(key); + for (Object object : jsonArray) { + // JSONObject dmxb=JSONObject.parseObject(object.toString()); + DmXbjh dmXbjh = modelMapper.map(object, DmXbjh.class); dmXbjh.setDcCh(key); dmXbjhs.add(dmXbjh); - this.remove(new QueryWrapper().eq("dc_ch",dmXbjh.getDcCh()) - .eq("nf",dmXbjh.getNf()) - .eq("yf",dmXbjh.getYf()) + this.remove(new QueryWrapper().eq("dc_ch", dmXbjh.getDcCh()) + .eq("nf", dmXbjh.getNf()) + .eq("yf", dmXbjh.getYf()) ); } }