月度计划导入

master
xhj 6 months ago
parent 6851cf0f4b
commit b3db79464f

@ -265,12 +265,21 @@ public class DmYdjh implements Serializable {
private String slxzxqrq; // 小组需求期
private String sldzxqrq; // 大组需求期
private String ckbzrq;
private String ckbzry;
private String bmbzrq;
private String bmbzry;
private String bmxgry;
private String bmxgrq;
// 上料信息
private String slkcdw; // 库存垛位
private String slcs; // 层数
private String slxhth; // 小合同号
private String slhth; // 合同号
private String slwlh; // 物料号
private String kcch; // 物料号
private String slkcxx; // 所有库存信息
private Integer slycldw; // 预处理垛位
private Integer slyclcs; // 预处理垛位

@ -6,6 +6,7 @@ import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.dsic.gj_erp.annotation.AuthFunction;
import com.dsic.gj_erp.bean.ResultBean;
import com.dsic.gj_erp.bean.fd.DmCzjbb;
@ -19,6 +20,8 @@ import com.dsic.gj_erp.bean.pgd.PgdTzjh;
import com.dsic.gj_erp.bean.sy.Dm_zhbmp;
import com.dsic.gj_erp.dao.sy.Dm_zhbmpRepository;
import com.dsic.gj_erp.exception.CustomException;
import com.dsic.gj_erp.exception.ServiceException;
import com.dsic.gj_erp.mapper.jhgk.DmYdjhMapper;
import com.dsic.gj_erp.mapper.kc.ImCkwpkwpMapper;
import com.dsic.gj_erp.service.fd.DmCzjbbService;
import com.dsic.gj_erp.service.jcsj.DmCbxxpService;
@ -35,6 +38,8 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
/**
@ -56,6 +61,9 @@ public class PgdSljhController {
@Autowired
DmYdjhService dmYdjhService;
@Autowired
DmYdjhMapper dmYdjhMapper;
@Autowired
ImCkwpkwpMapper imCkwpkwpMapper;
@ -268,7 +276,9 @@ public class PgdSljhController {
}
String cjs1=cjs;
DmYdjh dmYdjh = ydjhs.stream()
.filter(fst -> fst.getDcCh().equalsIgnoreCase(slKc.getDCCH()) &&StringUtils.isNotBlank(fst.getWpgg())&& StringUtils.isNotBlank(fst.getWpxh())
.filter(fst -> fst.getDcCh().equalsIgnoreCase(slKc.getDCCH())
&&StringUtils.isNotBlank(fst.getWpgg())
&& StringUtils.isNotBlank(fst.getWpxh())
&& fst.getWpgg().equalsIgnoreCase(slKc.getWPGG())
&& (fst.getWpxh().equalsIgnoreCase(slKc.getWPXH())
|| (cjs1 + fst.getWpxh()).equalsIgnoreCase(slKc.getWPXH()))
@ -320,6 +330,153 @@ public class PgdSljhController {
return new ResultBean(retrunMap);
}
/**
*
* @param req
*
* dm_ydjh
* dm_ydjh id dm_ydjh
* @return
* @throws Exception
* @throws CustomException
*/
@PostMapping("kcAdnSlBd1")
@ResponseBody
public ResultBean kcAdnSlBd1(HttpServletRequest req, @RequestBody List<SlKc> slKcs) throws Exception, CustomException {
List<DmCbxxp> czList = dmCbxxpService.list();
List<DmYdjh>ydupList=new ArrayList<>();
List<DmYdjh>ydadList=new ArrayList<>();
List<SlKc>ckupList=new ArrayList<>();
// 进行比对
for(SlKc slKc :slKcs){
// 获取船级社
String cjs="";
DmCbxxp dmCzjbb = czList.stream().filter(fst -> fst.getCbbm().equalsIgnoreCase(slKc.getDCCH())).findFirst().orElse(null);
if(null!=dmCzjbb){
cjs=dmCzjbb.getCjs();
}
String cjs1=cjs;
// 根据需求批量 船号 去 查询
List<DmYdjh> ydjhs = dmYdjhService.list(new QueryWrapper<DmYdjh>().eq("dc_ch", slKc.getZYCH() ).eq("isnull(ZT,'')","2")
.eq("dc_pl",slKc.getZYPL())
);
DmYdjh dmYdjh = ydjhs.stream()
.filter(fst -> fst.getDcCh().equalsIgnoreCase(slKc.getZYCH())
&&StringUtils.isNotBlank(fst.getWpgg())
&& StringUtils.isNotBlank(fst.getWpxh())
&& fst.getWpgg().equalsIgnoreCase(slKc.getWPGG())
&& (fst.getWpxh().equalsIgnoreCase(slKc.getWPXH())
|| (cjs1 + fst.getWpxh()).equalsIgnoreCase(slKc.getWPXH()))
&& fst.getDcPl().equalsIgnoreCase(slKc.getZYPL())
)
.findFirst()
.orElse(null);
if(null!=dmYdjh){
System.out.println("slKc = " + slKc);
System.out.println(slKc.getCFCS1()+dmYdjh.getId());
dmYdjh.setSlkcdw(slKc.getKWH());
dmYdjh.setSlcs(slKc.getCFCS1());
dmYdjh.setSlxhth(slKc.getGCDDH());
dmYdjh.setSlhth(slKc.getDcFd());
dmYdjh.setSlwlh(slKc.getWPH());
dmYdjh.setKcch(slKc.getDCCH());
ydupList.add(dmYdjh);
slKc.setZYLX(getLx(dmYdjh.getLqlb(), dmYdjh.getZl()));
slKc.setSLDW(dmYdjh.getKw());
slKc.setDHH(dmYdjh.getSljhrq());
//slKc.setPwwz(dmYdjh.getKw());
slKc.setYdid(dmYdjh.getId());
slKc.setDCTH(dmYdjh.getTzbh());
ydjhs.remove(dmYdjh); // 从列表中移除找到的元素
ckupList.add(slKc);
}else{
// 等于nul应该就是没有
// 新增月度计划
// 根据 月度计划新增一条信息。
// 获取
DmYdjh ydjhMin = dmYdjhMapper.getYdjhMin(slKc.getZYCH(), slKc.getZYPL());
if(null!=ydjhMin){
DmYdjh ydjh =new DmYdjh();
ydjh.setId(IdWorker.get32UUID());
ydjh.setDcCh(slKc.getZYCH());
ydjh.setDcPl(slKc.getZYPL());
ydjh.setWpgg(slKc.getWPGG());
ydjh.setWpxh(slKc.getWPXH());
ydjh.setSlrq(ydjhMin.getSlrq());
ydjh.setPwrq(ydjhMin.getPwrq());
ydjh.setHxrq(ydjhMin.getHxrq());
ydjh.setQgrq(ydjhMin.getQgrq());
ydjh.setDmrq(ydjhMin.getDmrq());
ydjh.setQjgrq(ydjhMin.getQgjhrq());
ydjh.setJssj(ydjhMin.getJssj());
ydjh.setSljhrq(ydjhMin.getSljhrq());
ydjh.setPwjhrq(ydjhMin.getPwjhrq());
ydjh.setLljhrq(ydjhMin.getLljhrq());
ydjh.setHxjhrq(ydjhMin.getHxjhrq());
ydjh.setQgjhrq(ydjhMin.getQgjhrq());
ydjh.setKw(extractNumber(slKc.getDcFd()));
ydjh.setCkbzrq(DateUtil.format(DateUtil.date(), "yyyy/MM/dd HH:mm"));
ydjh.setCkbzry((String) req.getAttribute("yhms"));
//------
ydjh.setSlkcdw(slKc.getKWH());
ydjh.setSlcs(slKc.getCFCS1());
ydjh.setSlxhth(slKc.getGCDDH());
ydjh.setSlhth(slKc.getDcFd());
ydjh.setSlwlh(slKc.getWPH());
ydjh.setKcch(slKc.getDCCH());
slKc.setYdid(ydjh.getId());
//ydjhs.remove(dmYdjh); // 从列表中移除找到的元素
ckupList.add(slKc);
ydadList.add(ydjh);
//-----
}else{
throw new ServiceException(10001,slKc.getZYCH()+"船只"+slKc.getZYPL()+"未进行排产");
}
}
}
dmYdjhService.updateBatchById(ydupList);
dmYdjhService.saveBatch(ydadList);
for(SlKc slKc :slKcs){
ImCkwpkwp imCkwpkwp =new ImCkwpkwp();
imCkwpkwp.setCkh(slKc.getCKH());
imCkwpkwp.setWph(slKc.getWPH());
imCkwpkwp.setKwh(slKc.getKWH());
imCkwpkwp.setNbsbm(slKc.getNBSBM());
imCkwpkwp.setYdid(slKc.getYdid());
imCkwpkwp.setZych(slKc.getZYCH());
imCkwpkwp.setZypl(slKc.getZYPL());
imCkwpkwp.setZylx(slKc.getZYLX());
imCkwpkwp.setSldw(slKc.getSLDW());
imCkwpkwp.setPwwz(slKc.getPwwz());
imCkwpkwp.setBz(slKc.getBZ());
imCkwpkwp.setDhh(slKc.getDHH());
imCkwpkwp.setDcTh(slKc.getDCTH());
imCkwpkwp.setYdid(slKc.getYdid());
imCkwpkwpService.updateByMultiId(imCkwpkwp);
}
return new ResultBean();
}
public String extractNumber(String str) {
Pattern pattern = Pattern.compile("-(\\d+)");
Matcher matcher = pattern.matcher(str);
if (matcher.find()) {
return matcher.group(1);
}
return "";
}
@PostMapping("kcAdnSlZx")
@ResponseBody
public ResultBean kcAdnSlZx(HttpServletRequest req, @RequestBody Map map) throws Exception, CustomException {
@ -331,6 +488,7 @@ public class PgdSljhController {
List<DmYdjh>ydupList=new ArrayList<>();
List<ImCkwpkwp>ckupList=new ArrayList<>();
//String id = syService.f_getpjh("DM", "SYSTEM", "YLBH");
for(SlKc slKc :slKcs){
@ -473,5 +631,95 @@ public class PgdSljhController {
}
return "";
}
@PostMapping("kcAdnSlBd2")
@ResponseBody
public ResultBean kcAdnSlBd2(HttpServletRequest req, @RequestBody Map map) throws Exception, CustomException {
String str= JSON.toJSONString(map.get("data1"));
List<SlKc> slKcs= JSONObject.parseArray(str, SlKc.class);
QueryWrapper<DmYdjh> qw =new QueryWrapper<>();
qw.eq(StrUtil.isNotEmpty((String)map.get("dcch")),"dc_ch",(String)map.get("dcch"));
qw.eq(StrUtil.isNotEmpty((String)map.get("dcpl")),"dc_pl",(String)map.get("dcpl"));
qw.eq("isnull(ZT,'')","2").eq("isnull(slkcdw,'')","");
List<DmYdjh> ydjhs = dmYdjhService.list(qw);
//库存标识 不等于 01 没有匹配上
List<DmCbxxp> czList = dmCbxxpService.list();
List<DmYdjh>ydupList=new ArrayList<>();
List<SlKc>ckupList=new ArrayList<>();
// 进行比对
for(SlKc slKc :slKcs){
// 获取船级社
String cjs="";
DmCbxxp dmCzjbb = czList.stream().filter(fst -> fst.getCbbm().equalsIgnoreCase(slKc.getDCCH())).findFirst().orElse(null);
if(null!=dmCzjbb){
cjs=dmCzjbb.getCjs();
}
String cjs1=cjs;
DmYdjh dmYdjh = ydjhs.stream()
.filter(fst -> fst.getDcCh().equalsIgnoreCase(slKc.getDCCH())
&&StringUtils.isNotBlank(fst.getWpgg())
&& StringUtils.isNotBlank(fst.getWpxh())
&& fst.getWpgg().equalsIgnoreCase(slKc.getWPGG())
&& (fst.getWpxh().equalsIgnoreCase(slKc.getWPXH())
|| (cjs1 + fst.getWpxh()).equalsIgnoreCase(slKc.getWPXH()))
)
.findFirst()
.orElse(null);
if(null!=dmYdjh){
System.out.println("slKc = " + slKc);
dmYdjh.setSlkcdw(slKc.getKWH());
System.out.println(slKc.getCFCS1()+dmYdjh.getId());
dmYdjh.setSlcs(slKc.getCFCS1());
dmYdjh.setSlxhth(slKc.getGCDDH());
dmYdjh.setSlhth(slKc.getDcFd());
dmYdjh.setSlwlh(slKc.getWPH());
dmYdjh.setSlycldw((Integer) map.get("dw"));
// ImCkwpkwp imCkwpkwp =new ImCkwpkwp();
// imCkwpkwp.setCkh(slKc.getCKH());
// imCkwpkwp.setWph(slKc.getWPH());
// imCkwpkwp.setKwh(slKc.getKWH());
// imCkwpkwp.setNbsbm(slKc.getNBSBM());
// imCkwpkwp.setYdid(dmYdjh.getId());
// imCkwpkwp.setZych(dmYdjh.getDcCh());
// imCkwpkwp.setZypl(dmYdjh.getDcPl());
// imCkwpkwp.setZylx(dmYdjh.getZl());
// imCkwpkwp.setSldw(dmYdjh.getKw());
ydupList.add(dmYdjh);
// ckupList.add(imCkwpkwp);
slKc.setZYLX(getLx(dmYdjh.getLqlb(), dmYdjh.getZl()));
slKc.setZYCH(dmYdjh.getDcCh());
slKc.setZYPL(dmYdjh.getDcPl());
slKc.setDCTH(dmYdjh.getTzbh());
// slKc.setZYLX(dmYdjh.getZl());
slKc.setSLDW(dmYdjh.getKw());
slKc.setDHH(dmYdjh.getSljhrq());
//slKc.setPwwz(dmYdjh.getKw());
slKc.setYdid(dmYdjh.getId());
ydjhs.remove(dmYdjh); // 从列表中移除找到的元素
ckupList.add(slKc);
}
// 填写 库存垛位 kwh 层数 cfcs1 小合同号 gcddh 合同工 dc_fd 物料号 wph 炉批号 lph
}
Map retrunMap =new HashMap();
retrunMap.put("slkcs",ckupList);
// retrunMap.put("ydjhs",ydupList);
return new ResultBean(retrunMap);
}
}

@ -49,4 +49,6 @@ public interface DmYdjhMapper extends BaseMapper<DmYdjh> {
List<Map<String,Object>> gxjhwcqk(String from,String to);
List<Map<String,Object>> gcjd(List<String> czbh);
DmYdjh getYdjhMin(@Param("dcch") String dcch, @Param("dcpl") String dcpl);
}

@ -822,4 +822,21 @@
#{item}
</foreach>
</insert>
<select id="getYdjhMin" parameterType="string" resultType="com.dsic.gj_erp.bean.jhgk.DmYdjh">
select min (slrq) as slrq,
min (pwrq) as pwrq,
min (hxrq) as hxrq,
min (qgrq) as qgrq,
min (dmrq) as dmrq,
min (qjgrq) as qjgrq,
min (jssj) as jssj,
min (sljhrq) as sljhrq,
min (pwjhrq) as pwjhrq,
min (lljhrq) as lljhrq,
min (hxjhrq) as hxjhrq,
min (qgjhrq) as qgjhrq from dm_ydjh
where dc_ch=#{dcch} and dc_pl =#{dcpl}
</select>
</mapper>

Loading…
Cancel
Save