master
xhj 6 months ago
parent e9eb11d3f1
commit 25e91b2032

@ -240,7 +240,7 @@ public class DmYdjh implements Serializable {
private String db;
private String cx;
private String txc;
private String jhlx="0";
private String jhlx;
private String jssjOld;

@ -164,6 +164,117 @@ public class PgdSljhController {
}
@PostMapping("/slPrintD")
@ResponseBody
public ResultBean slPrintD(HttpServletRequest req, @RequestBody List<SlKc> list) throws Exception, CustomException {
//ls_lsh = F_GETPJH("MM",'00',"MSMS")
String id = syService.f_getpjh("MM", "00", "MSMS");
//dw_1.object.sllsh[ll_ii] = ls_lsh
//dw_1.object.dyry[ll_ii] = gs_user
//dw_1.object.dyrq[ll_ii] = ls_datetime
List<DmYdjh>ydupList=new ArrayList<>();
List<ImCkwpkwp>ckupList=new ArrayList<>();
List<Dm_zhbmp> qgkws = dm_zhbmpRepository.findByBMLB("QGKW");
List<Dm_zhbmp> zylxs = dm_zhbmpRepository.findByBMLB("zylx");
List<Dm_zhbmp> pwwzs = dm_zhbmpRepository.findByBMLB("pwwz");
List<Dm_zhbmp> dhql = dm_zhbmpRepository.findByBMLB("DHQL");
List<Dm_zhbmp> wpzts = dm_zhbmpRepository.findByBMLB("WPZT");
Map<String, String> qgKwMap = qgkws.stream().collect(Collectors.toMap(Dm_zhbmp::getBM, Dm_zhbmp::getBmsm));
Map<String, String> zylxMap = zylxs.stream().collect(Collectors.toMap(Dm_zhbmp::getBM, Dm_zhbmp::getBmsm));
Map<String, String> pwwzMap = pwwzs.stream().collect(Collectors.toMap(Dm_zhbmp::getBM, Dm_zhbmp::getBmsm));
Map<String, String> dhqlMap = dhql.stream().collect(Collectors.toMap(Dm_zhbmp::getBM, Dm_zhbmp::getBmsm));
Map<String, String> wpztMap = wpzts.stream().collect(Collectors.toMap(Dm_zhbmp::getBM, Dm_zhbmp::getBmsm));
Integer sh=1;
for(SlKc slKc: list){
slKc.setXh(sh);
sh++;
slKc.setZYLX(zylxMap.get(slKc.getZYLX()));
slKc.setSLDW(qgKwMap.get(slKc.getSLDW()));
slKc.setWPZT(wpztMap.get(slKc.getWPZT()));
}
int ceil = (int) (Math.ceil((double) list.size() / 40));
List<SlKc> slKcList= new ArrayList<>();
if(ceil>1){
for(int i=0;i<ceil;i++){
SlKc slKc =new SlKc();
slKc.setDyrq(DateUtil.format(DateUtil.date(), "yyyy/MM/dd"));
if (ceil - i == 1){
slKc.setList(list.subList(i*40,list.size()));
}else{
int num =i*40+40;
slKc.setList(list.subList(i*40,num));
}
slKcList.add(slKc);
}
}else{
SlKc slKc =new SlKc();
slKc.setDyrq(DateUtil.format(DateUtil.date(), "yyyy/MM/dd"));
slKc.setList(list);
slKcList.add(slKc);
}
return new ResultBean(slKcList);
}
@PostMapping("/slPrintqx")
@ResponseBody
public ResultBean slPrintqx(HttpServletRequest req, @RequestBody List<SlKc> list) throws Exception, CustomException {
//ls_lsh = F_GETPJH("MM",'00',"MSMS")
// String id = syService.f_getpjh("MM", "00", "MSMS");
//dw_1.object.sllsh[ll_ii] = ls_lsh
//dw_1.object.dyry[ll_ii] = gs_user
//dw_1.object.dyrq[ll_ii] = ls_datetime
List<DmYdjh>ydupList=new ArrayList<>();
List<ImCkwpkwp>ckupList=new ArrayList<>();
for(SlKc slKc: list){
if(StringUtils.isNotBlank(slKc.getSllsh())){
ImCkwpkwp imCkwpkwp = new ImCkwpkwp();
imCkwpkwp.setCkh(slKc.getCKH());
imCkwpkwp.setWph(slKc.getWPH());
imCkwpkwp.setKwh(slKc.getKWH());
imCkwpkwp.setNbsbm(slKc.getNBSBM());
imCkwpkwp.setSllsh("");
imCkwpkwp.setDyrq("");
imCkwpkwp.setDyry("");
ckupList.add(imCkwpkwp);
// slKc.setDyrq(DateUtil.format(DateUtil.date(), "yyyy/MM/dd"));
}
if(StringUtils.isNotBlank(slKc.getYdid())){
DmYdjh ydjh =new DmYdjh();
// 库存主键 没存
ydjh.setId(slKc.getYdid());
ydjh.setZt("2");
ydupList.add(ydjh);
}
}
dmYdjhService.updateBatchById(ydupList);
imCkwpkwpService.updateBatchByMultiId(ckupList);
return new ResultBean();
}
@PostMapping("/getKcAndSljh")
@ResponseBody
public ResultBean getKcAndSljh(HttpServletRequest req, @RequestBody Map map) throws Exception, CustomException {
@ -695,34 +806,44 @@ public class PgdSljhController {
// 1020 数控
if("1010".equals(lqlb)){
if("1110".equals(zl)){ //数中大
return "1000";
return "1005";
}
if("1010".equals(zl)){ //数小
return "1001";
}
if("1020".equals(zl)){ //数中
return "1002";
return "1006";
}
if("1060".equals(zl)){ //数大
return "1003";
return "1007";
}
if("4207".equals(zl)||"1090".equals(zl)){ //数大
return "1004";
if("1030".equals(zl)){ //数大
return "1008";
}
if("1110".equals(zl)){ //数小
return "1008";
}
}
if("1020".equals(lqlb)){
if("1110".equals(zl)){ //手中大
return "1008";
if("1010".equals(zl)){ //手中大
return "1001";
}
if("1010".equals(zl)){ //数小
return "1005";
if("1020".equals(zl)){ //数小
return "1002";
}
if("1020".equals(zl)){ //数中
return "1006";
if("1060".equals(zl)){ //数中
return "1003";
}
if("1060".equals(zl)){ //数大
return "1007";
if("1090".equals(zl)){ //数大
return "1004";
}
if("1030".equals(zl)){ //数大
return "1000";
}
if("1110".equals(zl)){ //数大
return "1000";
}
}
@ -730,6 +851,44 @@ public class PgdSljhController {
return "1009";
}
return "";
// if ls_zl = '4230' then
// dw_1.object.zylx[ll_j] ='1009' //焊接机器人肘板
// end if
// //手工
// if ls_lqlb = '1010' then
// choose case ls_zl
// case '1010' //小组
// dw_1.object.zylx[ll_j] ='1005' //流向手小
// case '1020' //中组立
// dw_1.object.zylx[ll_j] ='1006' //流向手中
// case '1060' //大组立
// dw_1.object.zylx[ll_j] ='1007' //流向手大
// case '1030' //大中组立
// dw_1.object.zylx[ll_j] ='1008' //流向手中大
// case '1110' //中大组立
// dw_1.object.zylx[ll_j] ='1008' //流向手中大
// end choose
//
// elseif ls_lqlb = '1020' then
// //数控
// choose case ls_zl
// case '1010' //小组
// dw_1.object.zylx[ll_j] ='1001' //流向数小
// case '1020' //中组立
// dw_1.object.zylx[ll_j] ='1002' //流向数中
// case '1060' //大组立
// dw_1.object.zylx[ll_j] ='1003' //流向数大
// case '1090' //外板曲加工
// dw_1.object.zylx[ll_j] ='1004' //流向数曲
// case '1030' //大中组立
// dw_1.object.zylx[ll_j] ='1000' //流向数中大
// case '1110' //中大组立
// dw_1.object.zylx[ll_j] ='1000' //流向数中大
//
// end choose
// end if
}
@PostMapping("kcAdnSlBd2")
@ -744,6 +903,7 @@ public class PgdSljhController {
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,'')","");
qw.orderBy(true,true,"sljhrq");
List<DmYdjh> ydjhs = dmYdjhService.list(qw);
//库存标识 不等于 01 没有匹配上
@ -817,6 +977,8 @@ public class PgdSljhController {
slKc.setSLDW(dmYdjh.getKw());
}
slKc.setDHH(dmYdjh.getSljhrq());
//slKc.setPwwz(dmYdjh.getKw());
slKc.setYdid(dmYdjh.getId());

@ -4,18 +4,23 @@ import cn.hutool.core.date.DateUtil;
import cn.hutool.core.io.FileUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.dsic.gj_erp.bean.ResultBean;
import com.dsic.gj_erp.bean.jcsj.*;
import com.dsic.gj_erp.bean.jcsj.vo.BomVO;
import com.dsic.gj_erp.bean.jhgk.DmTzjh;
import com.dsic.gj_erp.bean.jhgk.DmYdjh;
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.mapper.jcsj.DmBchxmxpMapper;
import com.dsic.gj_erp.mapper.jcsj.DmBomMapper;
import com.dsic.gj_erp.mapper.jhgk.DmYdjhMapper;
import com.dsic.gj_erp.service.jcsj.*;
import com.dsic.gj_erp.service.jhgk.DmTzjhService;
import com.dsic.gj_erp.service.jhgk.DmYdjhService;
import com.dsic.gj_erp.service.sy.SYService;
import com.dsic.gj_erp.util.ObjConvertUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -73,6 +78,12 @@ public class BomUploadServiceImpl {
@Autowired
DmBomMapper bomMapper;
@Autowired
DmYdjhMapper dmYdjhMapper;
@Autowired
DmYdjhService dmYdjhService;
@Transactional(rollbackFor = Exception.class)
public synchronized ResultBean uploadZ(MultipartFile[] file, String czbh, String pl, String isupload, HttpServletRequest req,String path) throws IOException, CustomException, ScriptException {
String savePath = UUID.randomUUID().toString().replace("-", "");
@ -922,6 +933,7 @@ public class BomUploadServiceImpl {
}
// 跨位
String s = kwxxMap.get(tzbh.substring(4, 7));
if (StringUtils.isBlank(s)) {
throw new CustomException(10106, fileName + "跨位信息不存在");
}
@ -1046,6 +1058,14 @@ public class BomUploadServiceImpl {
if (addmxs.size() > 0) {
bchxmxpService.saveBatch(addmxs);
bchxjbpService.saveBatch(adds);
//List<DmBchxjbp> dmBchxjbps,Map kwxxMap,Map qgKwMap , HttpServletRequest req
Map bomxzjh = bomxzjh(adds, kwxxMap, qgKwMap, req);
List<DmYdjh> adds1 = (List<DmYdjh>) bomxzjh.get("adds");
List<DmYdjh> ups = (List<DmYdjh>) bomxzjh.get("ups");
dmYdjhService.saveBatch(adds1);
dmYdjhService.updateBatchById(ups);
// 修正 生产计划。
dmBchxmxpMapper.updateWpgg(czbh, pl);
dmBchxmxpMapper.updateWph(czbh, pl);
//上传文件到服务器
@ -1713,4 +1733,171 @@ public class BomUploadServiceImpl {
}
// 查询 船号 批量 修正作业计划
public Map bomxzjh( List<DmBchxjbp> dmBchxjbps,Map kwxxMap,Map qgKwMap , HttpServletRequest req){
String dcch=dmBchxjbps.get(0).getDcCh();
String dcpl=dmBchxjbps.get(0).getDcPl();
List<DmYdjh> ydjhs = dmYdjhService.list(new QueryWrapper<DmYdjh>().eq("dc_ch", dcch )
.eq("dc_pl",dcpl)
);
DmYdjh ydjhMin=null;
Boolean f=true;
if(ydjhs.size()<0){
f=false;
}else{
ydjhMin = dmYdjhMapper.getYdjhMin(dcch, dcpl);
}
List<DmYdjh> adds =new ArrayList<>();
List<DmYdjh> ups =new ArrayList<>();
List<DmCbxxp> czList = dmCbxxpService.list();
DmCbxxp dmCzjbb = czList.stream().filter(fst -> fst.getCbbm().equalsIgnoreCase(dcch)).findFirst().orElse(null);
String cjs="";
if(null!=dmCzjbb){
cjs=dmCzjbb.getCjs();
}
String cjs1=cjs;
for(DmBchxjbp dmBchxjbp1:dmBchxjbps ){
//wpgg ,wpxh
// DmBchxjbp dmBchxjbp = (DmBchxjbp) ObjConvertUtils.checkNullNew(dmBchxjbp1);
DmBchxjbp dmBchxjbp = (DmBchxjbp) ObjConvertUtils.checkNullNew(dmBchxjbp1);
// dmBchxjbp
String wpgg = dmBchxjbp.getWpgg();
String wpxh = dmBchxjbp.getWpxh();
String tzbh = dmBchxjbp.getTzbh();
String hxfl = dmBchxjbp.getHxfl();
if(StringUtils.isBlank(wpgg)||"hxfl".equals("X")){
continue;
}
// 根据 材质 规格 去找 生产计划
DmYdjh dmYdjh = ydjhs.stream()
.filter(fst -> StringUtils.isNotBlank(fst.getWpgg())
&& StringUtils.isNotBlank(fst.getWpxh())
&& fst.getWpgg().equalsIgnoreCase(dmBchxjbp.getWpgg())
&& (fst.getWpxh().equalsIgnoreCase(dmBchxjbp.getWpxh())
|| (cjs1 + fst.getWpxh()).equalsIgnoreCase(dmBchxjbp.getWpxh()))
)
.findFirst()
.orElse(null);
if(null!=dmYdjh){
String hxlx="";
if (tzbh.substring(4, 5).equals("S")) {
hxlx = "1010";
} else if (tzbh.substring(4, 5).equals("N")) {
hxlx = "1020";
}
dmYdjh.setLqlb(hxlx);
dmYdjh.setTzbh(tzbh);
dmYdjh.setHxcd(dmBchxjbp.getHxcd().doubleValue());
dmYdjh.setQgcd(dmBchxjbp.getYlzd4().doubleValue());
dmYdjh.setLjsl(dmBchxjbp.getLjsl().doubleValue());
dmYdjh.setZl(dmBchxjbp.getDcZl());
String s = (String) kwxxMap.get(tzbh.substring(4, 7));
String zzcj = (String) qgKwMap.get(s); //xhj
dmYdjh.setKw(zzcj);
dmYdjh.setDcFd(dmBchxjbp.getDcFd());
if(tzbh.substring(4, 5).equals("X")){
dmYdjh.setLx("X");
}else{
dmYdjh.setLx("B");
}
dmYdjh.setBmxgrq(DateUtil.format(DateUtil.date(), "yyyy/MM/dd HH:mm"));
dmYdjh.setBmxgry((String) req.getAttribute("yhms"));
if(StringUtils.isNotBlank(dmYdjh.getSlxhth())){ // 说明已经上料 需要修正数据
// 修正
}else{
// 没上料 规格材质
dmYdjh.setWpgg(dmBchxjbp.getWpgg());
dmYdjh.setWpxh(dmBchxjbp.getWpxh());
}
ydjhs.remove(dmYdjh); // 从列表中移除找到的元素
ups.add(dmYdjh);
}else{
DmYdjh dmYdjhadd =new DmYdjh();
String hxlx="";
if (tzbh.substring(4, 5).equals("S")) {
hxlx = "1010";
} else if (tzbh.substring(4, 5).equals("N")) {
hxlx = "1020";
}
dmYdjhadd.setDcCh(dmBchxjbp.getDcCh());
dmYdjhadd.setDcPl(dmBchxjbp.getDcPl());
if(tzbh.substring(4, 5).equals("X")){
dmYdjhadd.setLx("X");
}else{
dmYdjhadd.setLx("B");
}
dmYdjhadd.setWpgg(dmBchxjbp.getWpgg());
dmYdjhadd.setWpxh(dmBchxjbp.getWpxh());
dmYdjhadd.setLqlb(hxlx);
dmYdjhadd.setTzbh(tzbh);
dmYdjhadd.setHxcd(dmBchxjbp.getHxcd().doubleValue());
dmYdjhadd.setQgcd(dmBchxjbp.getYlzd4().doubleValue());
dmYdjhadd.setLjsl(dmBchxjbp.getLjsl().doubleValue());
dmYdjhadd.setZl(dmBchxjbp.getDcZl());
String s = (String) kwxxMap.get(tzbh.substring(4, 7));
String zzcj = (String) qgKwMap.get(s); //xhj
dmYdjhadd.setKw(zzcj);
dmYdjhadd.setDcFd(dmBchxjbp.getDcFd());
dmYdjhadd.setZt("2");
dmYdjhadd.setId(IdWorker.get32UUID());
dmYdjhadd.setBmbzrq(DateUtil.format(DateUtil.date(), "yyyy/MM/dd HH:mm"));
dmYdjhadd.setBmbzry((String) req.getAttribute("yhms"));
// 新增数据得时候 应该看 是不是有排产数据 有排产数据 给上日期
if(f){
dmYdjhadd.setSlrq(ydjhMin.getSlrq());
dmYdjhadd.setPwrq(ydjhMin.getPwrq());
dmYdjhadd.setHxrq(ydjhMin.getHxrq());
dmYdjhadd.setQgrq(ydjhMin.getQgrq());
dmYdjhadd.setDmrq(ydjhMin.getDmrq());
dmYdjhadd.setQjgrq(ydjhMin.getQgjhrq());
dmYdjhadd.setJssj(ydjhMin.getJssj());
dmYdjhadd.setSljhrq(ydjhMin.getSljhrq());
dmYdjhadd.setPwjhrq(ydjhMin.getPwjhrq());
dmYdjhadd.setLljhrq(ydjhMin.getLljhrq());
dmYdjhadd.setHxjhrq(ydjhMin.getHxjhrq());
dmYdjhadd.setQgjhrq(ydjhMin.getQgjhrq());
dmYdjhadd.setJhlx("3");
}else{
// 新增 没有 日期 数据
dmYdjhadd.setJhlx("0");
dmYdjhadd.setSlrq("");
dmYdjhadd.setPwrq("");
dmYdjhadd.setHxrq("");
dmYdjhadd.setQgrq("");
dmYdjhadd.setDmrq("");
dmYdjhadd.setQjgrq("");
dmYdjhadd.setJssj("");
dmYdjhadd.setSljhrq("");
dmYdjhadd.setPwjhrq("");
dmYdjhadd.setLljhrq("");
dmYdjhadd.setHxjhrq("");
dmYdjhadd.setQgjhrq("");
}
// dmYdjhadd
adds.add(dmYdjhadd);
}
}
Map rMap = new HashMap();
rMap.put("adds",adds);
rMap.put("ups",ups);
return rMap;
}
}

@ -3,6 +3,8 @@ package com.dsic.gj_erp.util;
import org.apache.commons.lang3.StringUtils;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@ -70,4 +72,66 @@ public class ObjConvertUtils {
return true;
}
public static Object checkNullNew(Object obj) {
Class<? extends Object> clazz = obj.getClass();
// 获取实体类的所有属性返回Field数组
Field[] fields = clazz.getDeclaredFields();
for (Field field : fields) {
// 可访问私有变量
field.setAccessible(true);
// 获取属性类型
String type = field.getGenericType().toString();
try {
if ("class java.lang.String".equals(type)) {
handleStringField(obj, field);
} else if ("class java.lang.Integer".equals(type)) {
handleIntegerField(obj, field);
} else if ("class java.lang.Double".equals(type)) {
handleDoubleField(obj, field);
} else if ("class java.math.BigDecimal".equals(type)) {
handleBigDecimalField(obj, field);
}
} catch (Exception e) {
e.printStackTrace();
}
}
return obj;
}
// 处理String类型
private static void handleStringField(Object obj, Field field) throws Exception {
String methodName = field.getName().replaceFirst(field.getName().substring(0, 1),
field.getName().substring(0, 1).toUpperCase());
Method methodGet = obj.getClass().getMethod("get" + methodName);
String str = (String) methodGet.invoke(obj);
if (StringUtils.isBlank(str)) {
field.set(obj, "");
}
}
// 处理Integer类型
private static void handleIntegerField(Object obj, Field field) throws Exception {
Integer value = (Integer) field.get(obj);
if (value == null) {
field.set(obj, 0);
}
}
// 处理Double类型
private static void handleDoubleField(Object obj, Field field) throws Exception {
Double value = (Double) field.get(obj);
if (value == null) {
field.set(obj, 0.0);
}
}
// 处理BigDecimal类型
private static void handleBigDecimalField(Object obj, Field field) throws Exception {
BigDecimal value = (BigDecimal) field.get(obj);
if (value == null) {
field.set(obj, BigDecimal.ZERO);
}
}
}

@ -825,18 +825,18 @@
</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
select isnull(min (slrq),'') as slrq,
isnull(min (pwrq),'') as pwrq,
isnull( min (hxrq),'') as hxrq,
isnull( min (qgrq),'') as qgrq,
isnull( min (dmrq),'') as dmrq,
isnull( min (qjgrq),'') as qjgrq,
isnull( min (jssj) ,'')as jssj,
isnull( min (sljhrq),'') as sljhrq,
isnull( min (pwjhrq),'') as pwjhrq,
isnull( min (lljhrq),'') as lljhrq,
isnull( min (hxjhrq),'') as hxjhrq,
isnull( min (qgjhrq),'') as qgjhrq from dm_ydjh
where dc_ch=#{dcch} and dc_pl =#{dcpl}
</select>

Loading…
Cancel
Save