|
|
|
@ -1,6 +1,7 @@
|
|
|
|
|
package com.dsic.gj_erp.service.jhgk.impl;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import cn.hutool.core.date.DateTime;
|
|
|
|
|
import cn.hutool.core.date.DateUtil;
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
|
|
@ -14,12 +15,15 @@ import com.dsic.gj_erp.service.jhgk.DmQfxqService;
|
|
|
|
|
import com.dsic.gj_erp.service.jhgk.DmYdjhService;
|
|
|
|
|
import com.dsic.gj_erp.service.jiuzhou.SljhService;
|
|
|
|
|
import com.dsic.gj_erp.service.pgd.*;
|
|
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
import org.springframework.context.ApplicationEventPublisher;
|
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
|
|
import java.time.LocalDate;
|
|
|
|
|
import java.util.HashMap;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
import java.util.Map;
|
|
|
|
@ -69,7 +73,7 @@ public class DmYdjhServiceImpl extends ServiceImpl<DmYdjhMapper, DmYdjh> impleme
|
|
|
|
|
if (sygdmx.size() < 1) {
|
|
|
|
|
System.out.println("请导入零件配套表信息!");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 判断要是不满足条件不可以提交
|
|
|
|
|
//TODO 重新排产
|
|
|
|
|
// pc(sygdMxList);
|
|
|
|
|
|
|
|
|
@ -89,111 +93,150 @@ public class DmYdjhServiceImpl extends ServiceImpl<DmYdjhMapper, DmYdjh> impleme
|
|
|
|
|
// String end =DateUtil.format(DateUtil.endOfMonth(DateUtil.offsetMonth(DateUtil.date(),1)),"yyyy/MM/dd");
|
|
|
|
|
//图纸计划
|
|
|
|
|
|
|
|
|
|
List<PgdTzjh> tzjhList=tzjhService.list(new QueryWrapper<PgdTzjh>().between("qgxqrq",begin,end).orderByAsc("czbh,pl,qgxqrq"));
|
|
|
|
|
if (tzjhList.size()<1){
|
|
|
|
|
baseMapper.getTzjh(begin,end);
|
|
|
|
|
tzjhList=tzjhService.list(new QueryWrapper<PgdTzjh>().between("qgxqrq",begin,end)
|
|
|
|
|
.orderByAsc("czbh,pl,qgxqrq")
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
List<PgdTzjh> tzjhList= baseMapper.getTzjh1(begin,end);
|
|
|
|
|
|
|
|
|
|
//订货清单
|
|
|
|
|
List<PgdDh> dhList=dhService.list(new QueryWrapper<PgdDh>().between("slxqrq",begin,end).orderByAsc("czbh,slxqrq"));
|
|
|
|
|
if (dhList.size()<1){
|
|
|
|
|
List<PgdDh> dh= baseMapper.getDhjh(begin,end);
|
|
|
|
|
if (dh.size()>0){
|
|
|
|
|
List<PgdDh> dhList=baseMapper.getDhjh(begin,end);
|
|
|
|
|
|
|
|
|
|
dhService.saveBatch(dh);
|
|
|
|
|
dhList=dhService.list(new QueryWrapper<PgdDh>().between("slxqrq",begin,end).orderByAsc("czbh,slxqrq"));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//上料计划
|
|
|
|
|
List<PgdSljh> slList=slService.list(new QueryWrapper<PgdSljh>().between("sljhrq",begin,end).orderByAsc("czbh,pl,sljhrq"));
|
|
|
|
|
if (slList.size()<1){
|
|
|
|
|
baseMapper.getSljh(begin,end);
|
|
|
|
|
slList=slService.list(new QueryWrapper<PgdSljh>().between("sljhrq",begin,end).orderByAsc("czbh,pl,sljhrq"));
|
|
|
|
|
}
|
|
|
|
|
List<PgdSljh> slList= baseMapper.getSljh1(begin,end);
|
|
|
|
|
|
|
|
|
|
//抛丸计划
|
|
|
|
|
|
|
|
|
|
List<PgdPwjh> pwList=pwService.list(new QueryWrapper<PgdPwjh>().between("pwjhrq",begin,end).orderByAsc("czbh,pl,pwjhrq"));
|
|
|
|
|
if (pwList.size()<1){
|
|
|
|
|
baseMapper.getPwjh(begin,end);
|
|
|
|
|
pwList=pwService.list(new QueryWrapper<PgdPwjh>().between("pwjhrq",begin,end).orderByAsc("czbh,pl,pwjhrq"));
|
|
|
|
|
}
|
|
|
|
|
List<PgdPwjh> pwList= baseMapper.getPwjh1(begin,end);
|
|
|
|
|
|
|
|
|
|
//切割计划
|
|
|
|
|
List<PgdQgjh> qgList=qgService.list(new QueryWrapper<PgdQgjh>().between("qgjhrq",begin,end).orderByAsc("czbh,pl,qgjhrq"));
|
|
|
|
|
if (qgList.size()<1){
|
|
|
|
|
baseMapper.getQgjh(begin,end);
|
|
|
|
|
qgList=qgService.list(new QueryWrapper<PgdQgjh>().between("qgjhrq",begin,end).orderByAsc("czbh,pl,qgjhrq"));
|
|
|
|
|
}
|
|
|
|
|
map.put("tzjhList",tzjhList);
|
|
|
|
|
map.put("dhList",dhList);
|
|
|
|
|
map.put("slList",slList);
|
|
|
|
|
map.put("pwList",pwList);
|
|
|
|
|
map.put("qgList",qgList);
|
|
|
|
|
return map;
|
|
|
|
|
}
|
|
|
|
|
List<PgdQgjh> qgList= baseMapper.getQgjh1(begin,end);
|
|
|
|
|
List<DmYdjh> list= this.list(new QueryWrapper<DmYdjh>()
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
@Transactional
|
|
|
|
|
public Map<String,Object> hz(List<DmYdjh> ydjhList){
|
|
|
|
|
Map<String,Object> map=new HashMap<>();
|
|
|
|
|
//月度计划汇总
|
|
|
|
|
//汇总时生成切割之前的派工单 状态为空
|
|
|
|
|
String begin= DateUtil.format(DateUtil.nextMonth(),"yyyy/MM/01");
|
|
|
|
|
String end =DateUtil.format(DateUtil.endOfMonth(DateUtil.offsetMonth(DateUtil.date(),1)),"yyyy/MM/dd");
|
|
|
|
|
//图纸计划
|
|
|
|
|
.eq("zt","0")
|
|
|
|
|
.ge( "jssj", DateUtil.beginOfMonth(DateUtil.parseDate(from)).toString("yyyy/MM/dd"))
|
|
|
|
|
.le( "jssj", DateUtil.endOfMonth(DateUtil.parseDate(to)).toString("yyyy/MM/dd"))
|
|
|
|
|
.orderByAsc("jssj,dc_ch,dc_pl,zl,lqlb")
|
|
|
|
|
);
|
|
|
|
|
for(DmYdjh dmYdjh :list){
|
|
|
|
|
PgdTzjh pgdTzjh = tzjhList.stream().filter(fst -> fst.getCzbh().equals(dmYdjh.getDcCh()) && fst.getPl().equals(dmYdjh.getDcPl())
|
|
|
|
|
).findFirst().orElse(null);
|
|
|
|
|
if(null!=pgdTzjh){
|
|
|
|
|
dmYdjh.setPgdTzjh(pgdTzjh);
|
|
|
|
|
//领取表 早于上料日期
|
|
|
|
|
// 套料图早于划线日期
|
|
|
|
|
if(StringUtils.isBlank(pgdTzjh.getLqbxfrq())||StringUtils.isBlank(dmYdjh.getSlrq()) ){
|
|
|
|
|
// corlor red
|
|
|
|
|
dmYdjh.setColor("red");
|
|
|
|
|
}else{
|
|
|
|
|
|
|
|
|
|
List<PgdTzjh> tzjhList=tzjhService.list(new QueryWrapper<PgdTzjh>().between("qgxqrq",begin,end).orderByAsc("czbh,pl,qgxqrq"));
|
|
|
|
|
if (tzjhList.size()<1){
|
|
|
|
|
baseMapper.getTzjh(begin,end);
|
|
|
|
|
tzjhList=tzjhService.list(new QueryWrapper<PgdTzjh>().between("qgxqrq",begin,end)
|
|
|
|
|
.orderByAsc("czbh,pl,qgxqrq")
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
//订货清单
|
|
|
|
|
List<PgdDh> dhList=dhService.list(new QueryWrapper<PgdDh>().between("slxqrq",begin,end).orderByAsc("czbh,slxqrq"));
|
|
|
|
|
if (dhList.size()<1){
|
|
|
|
|
List<PgdDh> dh= baseMapper.getDhjh(begin,end);
|
|
|
|
|
if (dh.size()>0){
|
|
|
|
|
DateTime dateStr1 = DateUtil.parse(pgdTzjh.getLqbxfrq(), "yyyy/MM/dd");
|
|
|
|
|
DateTime dateStr2 = DateUtil.parse(dmYdjh.getSlrq(), "yyyy/MM/dd");
|
|
|
|
|
int result = DateUtil.compare(dateStr1, dateStr2);
|
|
|
|
|
if (result > 0) {
|
|
|
|
|
System.out.println(dateStr1 + " is after " + dateStr2);
|
|
|
|
|
dmYdjh.setColor("red");
|
|
|
|
|
} else if (result < 0) {
|
|
|
|
|
System.out.println(dateStr1 + " is before " + dateStr2);
|
|
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
System.out.println(dateStr1 + " is equal to " + dateStr2);
|
|
|
|
|
dmYdjh.setColor("yellow");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if(StringUtils.isBlank(pgdTzjh.getTltxfrq())||StringUtils.isBlank(dmYdjh.getHxrq()) ){
|
|
|
|
|
// corlor yellow
|
|
|
|
|
dmYdjh.setColor("red");
|
|
|
|
|
}else{
|
|
|
|
|
|
|
|
|
|
dhService.saveBatch(dh);
|
|
|
|
|
dhList=dhService.list(new QueryWrapper<PgdDh>().between("slxqrq",begin,end).orderByAsc("czbh,slxqrq"));
|
|
|
|
|
|
|
|
|
|
DateTime dateStr1 = DateUtil.parse(pgdTzjh.getTltxfrq(), "yyyy/MM/dd");
|
|
|
|
|
DateTime dateStr2 = DateUtil.parse(dmYdjh.getHxrq(), "yyyy/MM/dd");
|
|
|
|
|
int result = DateUtil.compare(dateStr1, dateStr2);
|
|
|
|
|
if (result > 0) {
|
|
|
|
|
System.out.println(dateStr1 + " is after " + dateStr2);
|
|
|
|
|
dmYdjh.setColor("red");
|
|
|
|
|
} else if (result < 0) {
|
|
|
|
|
System.out.println(dateStr1 + " is before " + dateStr2);
|
|
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
System.out.println(dateStr1 + " is equal to " + dateStr2);
|
|
|
|
|
dmYdjh.setColor("yellow");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}else {
|
|
|
|
|
dmYdjh.setColor("red");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//上料计划
|
|
|
|
|
List<PgdSljh> slList=slService.list(new QueryWrapper<PgdSljh>().between("sljhrq",begin,end).orderByAsc("czbh,pl,sljhrq"));
|
|
|
|
|
if (slList.size()<1){
|
|
|
|
|
baseMapper.getSljh(begin,end);
|
|
|
|
|
slList=slService.list(new QueryWrapper<PgdSljh>().between("sljhrq",begin,end).orderByAsc("czbh,pl,sljhrq"));
|
|
|
|
|
}
|
|
|
|
|
//抛丸计划
|
|
|
|
|
|
|
|
|
|
List<PgdPwjh> pwList=pwService.list(new QueryWrapper<PgdPwjh>().between("pwjhrq",begin,end).orderByAsc("czbh,pl,pwjhrq"));
|
|
|
|
|
if (pwList.size()<1){
|
|
|
|
|
baseMapper.getPwjh(begin,end);
|
|
|
|
|
pwList=pwService.list(new QueryWrapper<PgdPwjh>().between("pwjhrq",begin,end).orderByAsc("czbh,pl,pwjhrq"));
|
|
|
|
|
}
|
|
|
|
|
//切割计划
|
|
|
|
|
List<PgdQgjh> qgList=qgService.list(new QueryWrapper<PgdQgjh>().between("qgjhrq",begin,end).orderByAsc("czbh,pl,qgjhrq"));
|
|
|
|
|
if (qgList.size()<1){
|
|
|
|
|
baseMapper.getQgjh(begin,end);
|
|
|
|
|
qgList=qgService.list(new QueryWrapper<PgdQgjh>().between("qgjhrq",begin,end).orderByAsc("czbh,pl,qgjhrq"));
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
map.put("tzjhList",tzjhList);
|
|
|
|
|
map.put("dhList",dhList);
|
|
|
|
|
map.put("slList",slList);
|
|
|
|
|
map.put("pwList",pwList);
|
|
|
|
|
map.put("qgList",qgList);
|
|
|
|
|
map.put("list",list);
|
|
|
|
|
return map;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// @Override
|
|
|
|
|
// @Transactional
|
|
|
|
|
// public Map<String,Object> hz(List<DmYdjh> ydjhList){
|
|
|
|
|
// Map<String,Object> map=new HashMap<>();
|
|
|
|
|
// //月度计划汇总
|
|
|
|
|
// //汇总时生成切割之前的派工单 状态为空
|
|
|
|
|
// String begin= DateUtil.format(DateUtil.nextMonth(),"yyyy/MM/01");
|
|
|
|
|
// String end =DateUtil.format(DateUtil.endOfMonth(DateUtil.offsetMonth(DateUtil.date(),1)),"yyyy/MM/dd");
|
|
|
|
|
// //图纸计划
|
|
|
|
|
//
|
|
|
|
|
// List<PgdTzjh> tzjhList=tzjhService.list(new QueryWrapper<PgdTzjh>().between("qgxqrq",begin,end).orderByAsc("czbh,pl,qgxqrq"));
|
|
|
|
|
// if (tzjhList.size()<1){
|
|
|
|
|
// baseMapper.getTzjh(begin,end);
|
|
|
|
|
// tzjhList=tzjhService.list(new QueryWrapper<PgdTzjh>().between("qgxqrq",begin,end)
|
|
|
|
|
// .orderByAsc("czbh,pl,qgxqrq")
|
|
|
|
|
// );
|
|
|
|
|
// }
|
|
|
|
|
// //订货清单
|
|
|
|
|
// List<PgdDh> dhList=dhService.list(new QueryWrapper<PgdDh>().between("slxqrq",begin,end).orderByAsc("czbh,slxqrq"));
|
|
|
|
|
// if (dhList.size()<1){
|
|
|
|
|
// List<PgdDh> dh= baseMapper.getDhjh(begin,end);
|
|
|
|
|
// if (dh.size()>0){
|
|
|
|
|
//
|
|
|
|
|
// dhService.saveBatch(dh);
|
|
|
|
|
// dhList=dhService.list(new QueryWrapper<PgdDh>().between("slxqrq",begin,end).orderByAsc("czbh,slxqrq"));
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
// //上料计划
|
|
|
|
|
// List<PgdSljh> slList=slService.list(new QueryWrapper<PgdSljh>().between("sljhrq",begin,end).orderByAsc("czbh,pl,sljhrq"));
|
|
|
|
|
// if (slList.size()<1){
|
|
|
|
|
// baseMapper.getSljh(begin,end);
|
|
|
|
|
// slList=slService.list(new QueryWrapper<PgdSljh>().between("sljhrq",begin,end).orderByAsc("czbh,pl,sljhrq"));
|
|
|
|
|
// }
|
|
|
|
|
// //抛丸计划
|
|
|
|
|
//
|
|
|
|
|
// List<PgdPwjh> pwList=pwService.list(new QueryWrapper<PgdPwjh>().between("pwjhrq",begin,end).orderByAsc("czbh,pl,pwjhrq"));
|
|
|
|
|
// if (pwList.size()<1){
|
|
|
|
|
// baseMapper.getPwjh(begin,end);
|
|
|
|
|
// pwList=pwService.list(new QueryWrapper<PgdPwjh>().between("pwjhrq",begin,end).orderByAsc("czbh,pl,pwjhrq"));
|
|
|
|
|
// }
|
|
|
|
|
// //切割计划
|
|
|
|
|
// List<PgdQgjh> qgList=qgService.list(new QueryWrapper<PgdQgjh>().between("qgjhrq",begin,end).orderByAsc("czbh,pl,qgjhrq"));
|
|
|
|
|
// if (qgList.size()<1){
|
|
|
|
|
// baseMapper.getQgjh(begin,end);
|
|
|
|
|
// qgList=qgService.list(new QueryWrapper<PgdQgjh>().between("qgjhrq",begin,end).orderByAsc("czbh,pl,qgjhrq"));
|
|
|
|
|
// }
|
|
|
|
|
// map.put("tzjhList",tzjhList);
|
|
|
|
|
// map.put("dhList",dhList);
|
|
|
|
|
// map.put("slList",slList);
|
|
|
|
|
// map.put("pwList",pwList);
|
|
|
|
|
// map.put("qgList",qgList);
|
|
|
|
|
// return map;
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
@Resource
|
|
|
|
|
private ApplicationEventPublisher publisher;
|
|
|
|
|
|
|
|
|
|
//下发 派工单状态改为编制 生成零件信息
|
|
|
|
|
@Override
|
|
|
|
|
public void xf(List<DmYdjh> ydjhList) {
|
|
|
|
|
|
|
|
|
|
public void xf(List<DmYdjh> ydjhList, HttpServletRequest request) {
|
|
|
|
|
String bzry= (String) request.getAttribute("yhms");
|
|
|
|
|
String bzrq= DateUtil.format(DateUtil.date(), "yyyy/MM/dd");
|
|
|
|
|
//修改状态
|
|
|
|
|
List<String> idList = ydjhList.stream().map(DmYdjh::getId).collect(Collectors.toList());
|
|
|
|
|
|
|
|
|
@ -203,7 +246,14 @@ public class DmYdjhServiceImpl extends ServiceImpl<DmYdjhMapper, DmYdjh> impleme
|
|
|
|
|
this.update(new UpdateWrapper<DmYdjh>().set("zt", "2")
|
|
|
|
|
.in("id", list)
|
|
|
|
|
);
|
|
|
|
|
baseMapper.xfbc(list);
|
|
|
|
|
|
|
|
|
|
// 生成 数据
|
|
|
|
|
// baseMapper.xfbc(list);
|
|
|
|
|
baseMapper.getTzjh(list,bzry,bzrq);
|
|
|
|
|
baseMapper.getSljh(list,bzry,bzrq);
|
|
|
|
|
baseMapper.getPwjh(list,bzry,bzrq);
|
|
|
|
|
baseMapper.getQgjh(list,bzry,bzrq);
|
|
|
|
|
|
|
|
|
|
baseMapper.tqlj(list);
|
|
|
|
|
do {
|
|
|
|
|
int i = index.decrementAndGet();
|
|
|
|
@ -211,7 +261,12 @@ public class DmYdjhServiceImpl extends ServiceImpl<DmYdjhMapper, DmYdjh> impleme
|
|
|
|
|
this.update(new UpdateWrapper<DmYdjh>().set("zt", "2")
|
|
|
|
|
.in("id", list1)
|
|
|
|
|
);
|
|
|
|
|
baseMapper.xfbc(list1);
|
|
|
|
|
// baseMapper.xfbc(list1);
|
|
|
|
|
baseMapper.getTzjh(list1,bzry,bzrq);
|
|
|
|
|
baseMapper.getSljh(list1,bzry,bzrq);
|
|
|
|
|
baseMapper.getPwjh(list1,bzry,bzrq);
|
|
|
|
|
baseMapper.getQgjh(list1,bzry,bzrq);
|
|
|
|
|
|
|
|
|
|
baseMapper.tqlj(list1);
|
|
|
|
|
}while (index.get()>1);
|
|
|
|
|
|
|
|
|
@ -219,9 +274,16 @@ public class DmYdjhServiceImpl extends ServiceImpl<DmYdjhMapper, DmYdjh> impleme
|
|
|
|
|
this.update(new UpdateWrapper<DmYdjh>().set("zt", "2")
|
|
|
|
|
.in("id", idList)
|
|
|
|
|
);
|
|
|
|
|
//修改汇总状态 改为 编制
|
|
|
|
|
baseMapper.xfbc(idList);
|
|
|
|
|
//生成对应零件信息 bom->tzjhLj
|
|
|
|
|
// //修改汇总状态 改为 编制
|
|
|
|
|
// baseMapper.xfbc(idList);
|
|
|
|
|
// //生成对应零件信息 bom->tzjhLj
|
|
|
|
|
// baseMapper.tqlj(idList);
|
|
|
|
|
// baseMapper.xfbc(idList);
|
|
|
|
|
baseMapper.getTzjh(idList,bzry,bzrq);
|
|
|
|
|
baseMapper.getSljh(idList,bzry,bzrq);
|
|
|
|
|
baseMapper.getPwjh(idList,bzry,bzrq);
|
|
|
|
|
baseMapper.getQgjh(idList,bzry,bzrq);
|
|
|
|
|
|
|
|
|
|
baseMapper.tqlj(idList);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|