1.调整线表计划导入,按文件导入年份划分文件名

2.修复月度计划提交审批功能
master
董哲奇 6 months ago
parent 9b1a1a6efc
commit 572ab4fac9

@ -41,23 +41,8 @@ public class DmSygdController {
@RequestMapping("/getList")
@AuthFunction
public ResultBean getList(@RequestBody DmSygd sygd){
// List<DmSygd> list= service.list(new QueryWrapper<DmSygd>()
// .eq(StrUtil.isNotEmpty(sygd.getGdZt()),"gd_zt",sygd.getGdZt())
// .ge(StrUtil.isNotEmpty(sygd.getBeginTime()),"gjjs_xz",sygd.getBeginTime())
// .le(StrUtil.isNotEmpty(sygd.getEndTime()),"gjjs_xz",sygd.getEndTime())
// .orderByAsc("sl_sj,dc_ch,dc_pl")
// );
List<DmYdjhxf> list= mxService.tqSygd1(sygd.getBeginTime(),sygd.getEndTime());
Map map=new HashMap();
// if (list.size()>0){
// String beginTime=list.get(0).getGjjsXz();
// String endTime=list.get(list.size()-1).getGjjsXz();
// List<EmGcrl> emGcrls= gcrlService.list(new QueryWrapper<EmGcrl>().select("gl").between("gl",beginTime,endTime).eq("xxr","0"));
// List<String> gcrl = emGcrls.stream().map(EmGcrl::getGl).collect(Collectors.toList());
// map.put("gcrl",gcrl);
// }
map.put("list",list);
return new ResultBean(map);
List<DmYdjhxf> list= mxService.tqSygd2(sygd.getBeginTime(),sygd.getEndTime(),sygd.getGdZt());
return new ResultBean(list);
}
@PostMapping("/upload")

@ -19,6 +19,7 @@ import java.util.Map;
* @since 2023-10-09
*/
public interface DmSygdMxService extends IService<DmSygdMx> {
List<DmYdjhxf> tqSygd2(String from, String to,String zt);
ResultBean sygdPC();
// List<DmSygdMx> saveByDcch(HashMap<String, List<Object>> map);
List<Kwdto> getKwList(List<DmSygdMx> list,String begin,String end);

@ -71,31 +71,41 @@ public class DmSygdMxServiceImpl extends ServiceImpl<DmSygdMxMapper, DmSygdMx> i
@Override
@Transactional(rollbackFor = Exception.class)
public void tj(String from,String to){
List<DmSygdMx> sygdMxes = this.list(Wrappers.<DmSygdMx>lambdaQuery().between(DmSygdMx::getJssj, from, to));
List<DmSygdMx> collect = sygdMxes.stream().map(dmSygd -> {
DmSygdMx dmSygdMx = new DmSygdMx();
dmSygdMx.setId(dmSygd.getId());
dmSygdMx.setZt("1");
return dmSygdMx;
}).collect(Collectors.toList());
this.updateBatchById(collect);
List<DmSygdMx> sygdMxes = this.list(Wrappers.<DmSygdMx>lambdaQuery()
.eq(DmSygdMx::getZt,"0")
.between(DmSygdMx::getJssj, from, to)
);
if (ObjectUtil.isNotEmpty(sygdMxes)){
List<DmSygdMx> 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<DmSygdMx> sygdMxes = this.list(Wrappers.<DmSygdMx>lambdaQuery().between(DmSygdMx::getJssj, from, to));
List<DmSygdMx> 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();
List<DmSygdMx> sygdMxes = this.list(Wrappers.<DmSygdMx>lambdaQuery()
.eq(DmSygdMx::getZt,"1")
.between(DmSygdMx::getJssj, from, to)
);
if (ObjectUtil.isNotEmpty(sygdMxes)){
List<DmSygdMx> 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)
@ -970,9 +980,10 @@ public class DmSygdMxServiceImpl extends ServiceImpl<DmSygdMxMapper, DmSygdMx> i
return new ResultBean(sygdList);
}
private List<DmYdjhxf> tqSygd2(String begin,String end){
public List<DmYdjhxf> tqSygd2(String begin,String end,String zt){
List<String> slkw=Arrays.asList("7","8","9","5","6","15","11","14");
List<DmSygdMx> list = this.list(Wrappers.<DmSygdMx>lambdaQuery()
.eq(StrUtil.isNotEmpty(zt),DmSygdMx::getZt,zt)
.between(DmSygdMx::getJssj, begin, end)
.orderBy(true,true,DmSygdMx::getDcCh,DmSygdMx::getDcPl,DmSygdMx::getSlrq)
);
@ -1142,7 +1153,7 @@ public class DmSygdMxServiceImpl extends ServiceImpl<DmSygdMxMapper, DmSygdMx> i
// list2.add(ydjhxf1);
// }
return this.tqSygd2(begin,end);
return this.tqSygd2(begin,end,null);
}

@ -9,7 +9,6 @@ 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,18 +16,16 @@ import com.dsic.gj_erp.service.jhgk.DmXbjhService;
import com.dsic.gj_erp.util.ExcelUtil;
import org.apache.commons.lang3.StringUtils;
import org.modelmapper.ModelMapper;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
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;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.stream.Collectors;
/**
@ -46,6 +43,9 @@ public class DmXbjhServiceImpl extends ServiceImpl<DmXbjhMapper, DmXbjh> impleme
@Resource
ModelMapper modelMapper;
@Value("${xbjh-path}")
String xbjhPath;
@Override
public Map<String, List<DmXbjh>> getList(JSONObject json) {
QueryWrapper<DmXbjh> queryWrapper = new QueryWrapper<>();
@ -83,18 +83,31 @@ public class DmXbjhServiceImpl extends ServiceImpl<DmXbjhMapper, DmXbjh> impleme
public JSONObject upload(MultipartFile file) throws IOException {
JSONObject dmXbjhs = ExcelUtil.readDmXbjh(file);
if (dmXbjhs != null) {
List<DmXbjh> listByNf = list(Wrappers.<DmXbjh>lambdaQuery().eq(DmXbjh::getNf, dmXbjhs.getString("nf")));
this.save(dmXbjhs);
File[] files = FileUtil.ls(xbjhPath);
AtomicInteger maxVersion= new AtomicInteger(0);
if (files.length > 0) {
HashSet<String> names = new HashSet<>();
for (File file1 : files) {
String name = FileUtil.getPrefix(file1.getName());
String[] s = name.split("_");
names.add(s[s.length - 1]);
}
String tmpVersion=names.stream().max(String::compareTo).get();
Optional.of(tmpVersion).ifPresent(item->{
String v = item.replace("v", "");
maxVersion.set(Integer.parseInt(v));
});
}
String type = FileUtil.extName(file.getOriginalFilename());
File uploadFile = new File("./线表计划");
File uploadFile = new File(xbjhPath);
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));
int version = maxVersion.incrementAndGet();
File uploadFiles = new File(StrUtil.format("{}/{}_{}{}{}{}", xbjhPath,DateUtil.thisYear(), "v",version, StrUtil.DOT, type));
file.transferTo(uploadFiles);
this.save(dmXbjhs);
}
return dmXbjhs;
}

@ -0,0 +1 @@
xbjh-path: D:\\javaweb\\static\\upload\\线表计划
Loading…
Cancel
Save