1.修复循环依赖问题

2.增加支持线表导入记录版本号功能,支持选择版本号查看指定线表导入记录
master
董哲奇 7 months ago
parent e0786c6043
commit 9b1a1a6efc

@ -1,5 +1,6 @@
package com.dsic.gj_erp; package com.dsic.gj_erp;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import java.io.IOException; import java.io.IOException;
@ -7,7 +8,9 @@ import java.io.IOException;
public class Test { public class Test {
public static void main(String[] args) throws IOException { 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"; //String aaa="gagagag";
//System.out.println(aaa.split("@")[0]); //System.out.println(aaa.split("@")[0]);

@ -51,6 +51,6 @@ public class DmXbjh implements Serializable {
@ApiModelProperty(value = "船号") @ApiModelProperty(value = "船号")
private String dcCh; private String dcCh;
private int version;
} }

@ -80,15 +80,15 @@ public class DmSygdController {
@PostMapping("/tj") @PostMapping("/tj")
@AuthFunction @AuthFunction
@ResponseBody @ResponseBody
public ResultBean tj(@RequestBody List<DmSygd> list){ public ResultBean tj(String from,String to){
service.tj(list); mxService.tj(from,to);
return new ResultBean(); return new ResultBean();
} }
@ApiOperation(value = "批量审核") @ApiOperation(value = "批量审核")
@PostMapping(value = "/sh") @PostMapping(value = "/sh")
public ResultBean sh(@RequestBody List<DmSygd> dmSygds) { public ResultBean sh(String from,String to) {
service.sh(dmSygds); mxService.sh(from,to);
return new ResultBean(); return new ResultBean();
} }

@ -31,7 +31,8 @@ public interface DmSygdMxService extends IService<DmSygdMx> {
List<DmYdjhxf> tqSygd1(String begin, String end); List<DmYdjhxf> tqSygd1(String begin, String end);
Object cgjhdhqk(Map<String,Object> map); Object cgjhdhqk(Map<String,Object> map);
void tj(String from,String to);
void sh(String from,String to);
void ydjhImport(List<JhxfExcel> objList); void ydjhImport(List<JhxfExcel> objList);
} }

@ -21,8 +21,8 @@ public interface DmSygdService extends IService<DmSygd> {
Map uploadSy(List<SyExcel> list, HttpServletRequest req); Map uploadSy(List<SyExcel> list, HttpServletRequest req);
Boolean tj(List<DmSygd> dmSygds); Boolean tj(List<DmSygd> dmSygds);
void tj1(String from,String to);
Boolean sh(List<DmSygd> dmSygds); Boolean sh(List<DmSygd> dmSygds);
void sh1(String from,String to);
} }

@ -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.mapper.jhgk.DmSygdMxMapper;
import com.dsic.gj_erp.service.jcsj.DmBomService; import com.dsic.gj_erp.service.jcsj.DmBomService;
import com.dsic.gj_erp.service.jcsj.EmSbcnpService; import com.dsic.gj_erp.service.jcsj.EmSbcnpService;
import com.dsic.gj_erp.service.jhgk.DmSygdMxService; import com.dsic.gj_erp.service.jhgk.*;
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.util.MyString; import com.dsic.gj_erp.util.MyString;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -68,6 +65,68 @@ public class DmSygdMxServiceImpl extends ServiceImpl<DmSygdMxMapper, DmSygdMx> i
Dm_zhbmpRepository dm_zhbmpRepository; Dm_zhbmpRepository dm_zhbmpRepository;
@Autowired @Autowired
DmBomService bomService; DmBomService bomService;
@Autowired
DmYdjhService ydjhService;
@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);
}
@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();
}
@Transactional(rollbackFor = Exception.class)
public void generateYdjh(List<DmSygdMx> sygdMxes) {
List<DmYdjh> 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<String,List<EmGcrlDto>> getMxMap(String begin,String end){ public Map<String,List<EmGcrlDto>> getMxMap(String begin,String end){

@ -35,9 +35,6 @@ import java.util.stream.Collectors;
@AllArgsConstructor @AllArgsConstructor
public class DmSygdServiceImpl extends ServiceImpl<DmSygdMapper, DmSygd> implements DmSygdService { public class DmSygdServiceImpl extends ServiceImpl<DmSygdMapper, DmSygd> implements DmSygdService {
private final DmYdjhService ydjhService;
private final DmSygdMxService sygdMxService;
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public Map uploadSy(List<SyExcel> list, HttpServletRequest req){ public Map uploadSy(List<SyExcel> list, HttpServletRequest req){
@ -70,19 +67,6 @@ public class DmSygdServiceImpl extends ServiceImpl<DmSygdMapper, DmSygd> impleme
return this.updateBatchById(dmSygds); return this.updateBatchById(dmSygds);
} }
@Override
@Transactional(rollbackFor = Exception.class)
public void tj1(String from,String to){
List<DmSygdMx> sygdMxes = this.sygdMxService.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.sygdMxService.updateBatchById(collect);
}
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@ -94,50 +78,4 @@ public class DmSygdServiceImpl extends ServiceImpl<DmSygdMapper, DmSygd> impleme
return this.updateBatchById(dmSygds); return this.updateBatchById(dmSygds);
} }
@Override
@Transactional(rollbackFor = Exception.class)
public void sh1(String from,String to){
List<DmSygdMx> sygdMxes = this.sygdMxService.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.sygdMxService.updateBatchById(collect);
//生成作业计划
new Thread(()->{
this.generateYdjh(sygdMxes);
}).start();
}
@Transactional(rollbackFor = Exception.class)
public void generateYdjh(List<DmSygdMx> sygdMxes) {
List<DmYdjh> 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);
}
} }

@ -1,10 +1,15 @@
package com.dsic.gj_erp.service.jhgk.impl; 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.ObjectUtil;
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,6 +22,8 @@ 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.FileOutputStream;
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
@ -71,21 +78,24 @@ public class DmXbjhServiceImpl extends ServiceImpl<DmXbjhMapper, DmXbjh> impleme
} }
@Override @Override
@Transactional
public JSONObject upload(MultipartFile file) throws IOException { public JSONObject upload(MultipartFile file) throws IOException {
// ExcelReader reader = ExcelUtil.getReader(file.getInputStream());
//List<DmXbjh> dmXbjhs= ExcelUtil.readDmXbjh(file);
JSONObject dmXbjhs = ExcelUtil.readDmXbjh(file); JSONObject dmXbjhs = ExcelUtil.readDmXbjh(file);
if (dmXbjhs != null) {
// List<DmXbjh> list=new ArrayList<>(); List<DmXbjh> listByNf = list(Wrappers.<DmXbjh>lambdaQuery().eq(DmXbjh::getNf, dmXbjhs.getString("nf")));
// mapList.forEach(stringObjectMap -> {
// DmXbjh dmXbjh = modelMapper.map(stringObjectMap, DmXbjh.class);
// dmXbjh.setZt("0");
// list.add(dmXbjh);
// });
this.save(dmXbjhs); 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; return dmXbjhs;
} }

Loading…
Cancel
Save