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

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

@ -41,23 +41,8 @@ public class DmSygdController {
@RequestMapping("/getList") @RequestMapping("/getList")
@AuthFunction @AuthFunction
public ResultBean getList(@RequestBody DmSygd sygd){ public ResultBean getList(@RequestBody DmSygd sygd){
// List<DmSygd> list= service.list(new QueryWrapper<DmSygd>() List<DmYdjhxf> list= mxService.tqSygd2(sygd.getBeginTime(),sygd.getEndTime(),sygd.getGdZt());
// .eq(StrUtil.isNotEmpty(sygd.getGdZt()),"gd_zt",sygd.getGdZt()) return new ResultBean(list);
// .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);
} }
@PostMapping("/upload") @PostMapping("/upload")

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

@ -71,31 +71,41 @@ public class DmSygdMxServiceImpl extends ServiceImpl<DmSygdMxMapper, DmSygdMx> i
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void tj(String from,String to){ public void tj(String from,String to){
List<DmSygdMx> sygdMxes = this.list(Wrappers.<DmSygdMx>lambdaQuery().between(DmSygdMx::getJssj, from, to)); List<DmSygdMx> sygdMxes = this.list(Wrappers.<DmSygdMx>lambdaQuery()
List<DmSygdMx> collect = sygdMxes.stream().map(dmSygd -> { .eq(DmSygdMx::getZt,"0")
DmSygdMx dmSygdMx = new DmSygdMx(); .between(DmSygdMx::getJssj, from, to)
dmSygdMx.setId(dmSygd.getId()); );
dmSygdMx.setZt("1"); if (ObjectUtil.isNotEmpty(sygdMxes)){
return dmSygdMx; List<DmSygdMx> collect = sygdMxes.stream().map(dmSygd -> {
}).collect(Collectors.toList()); DmSygdMx dmSygdMx = new DmSygdMx();
this.updateBatchById(collect); dmSygdMx.setId(dmSygd.getId());
dmSygdMx.setZt("1");
return dmSygdMx;
}).collect(Collectors.toList());
this.updateBatchById(collect);
}
} }
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void sh(String from,String to){ public void sh(String from,String to){
List<DmSygdMx> sygdMxes = this.list(Wrappers.<DmSygdMx>lambdaQuery().between(DmSygdMx::getJssj, from, to)); List<DmSygdMx> sygdMxes = this.list(Wrappers.<DmSygdMx>lambdaQuery()
List<DmSygdMx> collect = sygdMxes.stream().map(dmSygd -> { .eq(DmSygdMx::getZt,"1")
DmSygdMx dmSygdMx = new DmSygdMx(); .between(DmSygdMx::getJssj, from, to)
dmSygdMx.setId(dmSygd.getId()); );
dmSygdMx.setZt("2"); if (ObjectUtil.isNotEmpty(sygdMxes)){
return dmSygdMx; List<DmSygdMx> collect = sygdMxes.stream().map(dmSygd -> {
}).collect(Collectors.toList()); DmSygdMx dmSygdMx = new DmSygdMx();
this.updateBatchById(collect); dmSygdMx.setId(dmSygd.getId());
//生成作业计划 dmSygdMx.setZt("2");
new Thread(()->{ return dmSygdMx;
this.generateYdjh(sygdMxes); }).collect(Collectors.toList());
}).start(); this.updateBatchById(collect);
//生成作业计划
new Thread(()->{
this.generateYdjh(sygdMxes);
}).start();
}
} }
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@ -970,9 +980,10 @@ public class DmSygdMxServiceImpl extends ServiceImpl<DmSygdMxMapper, DmSygdMx> i
return new ResultBean(sygdList); 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<String> slkw=Arrays.asList("7","8","9","5","6","15","11","14");
List<DmSygdMx> list = this.list(Wrappers.<DmSygdMx>lambdaQuery() List<DmSygdMx> list = this.list(Wrappers.<DmSygdMx>lambdaQuery()
.eq(StrUtil.isNotEmpty(zt),DmSygdMx::getZt,zt)
.between(DmSygdMx::getJssj, begin, end) .between(DmSygdMx::getJssj, begin, end)
.orderBy(true,true,DmSygdMx::getDcCh,DmSygdMx::getDcPl,DmSygdMx::getSlrq) .orderBy(true,true,DmSygdMx::getDcCh,DmSygdMx::getDcPl,DmSygdMx::getSlrq)
); );
@ -1142,7 +1153,7 @@ public class DmSygdMxServiceImpl extends ServiceImpl<DmSygdMxMapper, DmSygdMx> i
// list2.add(ydjhxf1); // 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.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 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.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dsic.gj_erp.bean.jhgk.DmXbjh; import com.dsic.gj_erp.bean.jhgk.DmXbjh;
import com.dsic.gj_erp.mapper.jhgk.DmXbjhMapper; 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 com.dsic.gj_erp.util.ExcelUtil;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.modelmapper.ModelMapper; import org.modelmapper.ModelMapper;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.io.File; import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList; import java.util.*;
import java.util.LinkedHashMap; import java.util.concurrent.atomic.AtomicInteger;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
@ -46,6 +43,9 @@ public class DmXbjhServiceImpl extends ServiceImpl<DmXbjhMapper, DmXbjh> impleme
@Resource @Resource
ModelMapper modelMapper; ModelMapper modelMapper;
@Value("${xbjh-path}")
String xbjhPath;
@Override @Override
public Map<String, List<DmXbjh>> getList(JSONObject json) { public Map<String, List<DmXbjh>> getList(JSONObject json) {
QueryWrapper<DmXbjh> queryWrapper = new QueryWrapper<>(); QueryWrapper<DmXbjh> queryWrapper = new QueryWrapper<>();
@ -83,18 +83,31 @@ public class DmXbjhServiceImpl extends ServiceImpl<DmXbjhMapper, DmXbjh> impleme
public JSONObject upload(MultipartFile file) throws IOException { public JSONObject upload(MultipartFile file) throws IOException {
JSONObject dmXbjhs = ExcelUtil.readDmXbjh(file); JSONObject dmXbjhs = ExcelUtil.readDmXbjh(file);
if (dmXbjhs != null) { if (dmXbjhs != null) {
List<DmXbjh> listByNf = list(Wrappers.<DmXbjh>lambdaQuery().eq(DmXbjh::getNf, dmXbjhs.getString("nf"))); File[] files = FileUtil.ls(xbjhPath);
this.save(dmXbjhs); 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()); String type = FileUtil.extName(file.getOriginalFilename());
File uploadFile = new File("./线表计划"); File uploadFile = new File(xbjhPath);
if (!uploadFile.exists()) { if (!uploadFile.exists()) {
uploadFile.mkdirs(); uploadFile.mkdirs();
} }
int version = !listByNf.isEmpty() ? listByNf.get(0).getVersion() + 1 : 1; int version = maxVersion.incrementAndGet();
File uploadFiles = new File(StrUtil.format("./线表计划/{}_{}{}{}", dmXbjhs.getString("nf"), version, StrUtil.DOT, type)); File uploadFiles = new File(StrUtil.format("{}/{}_{}{}{}{}", xbjhPath,DateUtil.thisYear(), "v",version, StrUtil.DOT, type));
file.transferTo(uploadFiles); file.transferTo(uploadFiles);
this.save(dmXbjhs);
} }
return dmXbjhs; return dmXbjhs;
} }

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