月度计划零件

master
xiaoning 1 year ago
parent be8fdba775
commit 6a26e8a18d

@ -61,4 +61,6 @@ public class EmSbcnp implements Serializable {
@ApiModelProperty(value = "工序")
@TableField("GX")
private String gx;
}

@ -1,7 +1,6 @@
package com.dsic.gj_erp.bean.jhgk;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@ -16,11 +15,11 @@ import java.io.Serializable;
* </p>
*
* @author xn
* @since 2023-11-20
* @since 2023-12-12
*/
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="DmSygdMxLj对象", description="")
@ApiModel(value="DmSygdMxLj对象")
public class DmSygdMxLj implements Serializable {
private static final long serialVersionUID=1L;
@ -40,9 +39,6 @@ public class DmSygdMxLj implements Serializable {
@ApiModelProperty(value = "分段")
private String fd;
@ApiModelProperty(value = "需求地点")
private String xqdd;
@ApiModelProperty(value = "抛丸")
private String pw;
@ -52,12 +48,6 @@ public class DmSygdMxLj implements Serializable {
@ApiModelProperty(value = "跨位")
private String kw;
@ApiModelProperty(value = "设备编号")
private String sbbh;
@ApiModelProperty(value = "设备类型")
private String sclx;
@ApiModelProperty(value = "组立")
private String zl;
@ -91,10 +81,10 @@ public class DmSygdMxLj implements Serializable {
@ApiModelProperty(value = "曲标识")
private String qbs;
@ApiModelProperty(value = "坡口長度")
@ApiModelProperty(value = "坡口标识")
private String pkbs;
@ApiModelProperty(value = "坡口标识")
@ApiModelProperty(value = "坡口長度")
private Double pkcd;
@ApiModelProperty(value = "打磨标识")
@ -148,36 +138,6 @@ public class DmSygdMxLj implements Serializable {
@ApiModelProperty(value = "装配")
private Double zpgs;
@ApiModelProperty(value = "反馈备料")
private Double fkblgs;
@ApiModelProperty(value = "抛丸")
private Double fkpwgs;
@ApiModelProperty(value = "理料")
private Double fkllgs;
@ApiModelProperty(value = "划线")
private Double fkhxgs;
@ApiModelProperty(value = "切割")
private Double fkqggs;
@ApiModelProperty(value = "坡口")
private Double fkpkgs;
@ApiModelProperty(value = "曲")
private Double fkqgs;
@ApiModelProperty(value = "打磨")
private Double fkdmgs;
@ApiModelProperty(value = "装配")
private Double fkzpgs;
@ApiModelProperty(value = "分段和")
private String fds;
@ApiModelProperty(value = "划线长度")
private Double hxcd;
@ -208,52 +168,30 @@ public class DmSygdMxLj implements Serializable {
@ApiModelProperty(value = "大组钢料需求期")
private String dzglxq;
@ApiModelProperty(value = "计划加工开始时间")
private String kssj;
@ApiModelProperty(value = "切割结束时间(零件加工需求时间)")
private String qgjssj;
@ApiModelProperty(value = "坡口开始时间")
private String pkkssj;
@ApiModelProperty(value = "坡口结束时间")
private String pkjssj;
@ApiModelProperty(value = "曲加工开始时间")
private String qkssj;
@ApiModelProperty(value = "曲加工结束时间")
private String qjssj;
@ApiModelProperty(value = "打磨开始时间")
private String dmkssj;
@ApiModelProperty(value = "打磨结束时间")
private String dmjssj;
@ApiModelProperty(value = "工艺流程")
private String gylc;
private Integer cs;
private String lqbs;
private String bzrq;
private String bzry;
private String yidd;
@ApiModelProperty(value = "托盘信息")
private String tpxx;
private String parentId;
private String ylbhgg;
private String zt;
private String type;
@TableId(value = "id", type = IdType.ASSIGN_UUID)
private String id;
private String gcrl;
}

@ -229,6 +229,9 @@ public class DmYdjh implements Serializable {
private String ylbhgg;
private String parentId;
private String db;
private String cx;
private String txc;
}

@ -0,0 +1,217 @@
package com.dsic.gj_erp.bean.jhgk;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
/**
* <p>
*
* </p>
*
* @author xn
* @since 2023-12-15
*/
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="DmYdjhLj对象", description="")
public class DmYdjhLj implements Serializable {
private static final long serialVersionUID=1L;
@ApiModelProperty(value = "船号")
private String czbh;
@ApiModelProperty(value = "批量")
private String pl;
@ApiModelProperty(value = "分段")
private String fd;
@ApiModelProperty(value = "跨位")
private String kw;
@ApiModelProperty(value = "组立")
private String zl;
@ApiModelProperty(value = "套料图号")
private String tlth;
@ApiModelProperty(value = "套料图号")
private String ptblx;
@ApiModelProperty(value = "零件编号")
private String ljbh;
@ApiModelProperty(value = "零件名称")
private String ljmc;
@ApiModelProperty(value = "零件规格")
private String ljgg;
@ApiModelProperty(value = "零件材质")
private String ljcz;
@ApiModelProperty(value = "物品分类")
private String wpfl;
@ApiModelProperty(value = "计量单位")
private String jldw;
@ApiModelProperty(value = "数量")
private Double sl;
@ApiModelProperty(value = "打磨计划日期")
private String dmjhrq;
@ApiModelProperty(value = "前方需求小组期")
private String qfxqrqxz;
@ApiModelProperty(value = "前方需求大组期")
private String qfxqrqdz;
@ApiModelProperty(value = "工艺路线")
private String gylx;
@ApiModelProperty(value = "打磨负责人")
private String dmfzry;
@ApiModelProperty(value = "打磨设备编号")
private String dmsbbh;
@ApiModelProperty(value = "打磨长度")
private Double dmcd;
@ApiModelProperty(value = "打磨人员")
private String dmry;
@ApiModelProperty(value = "打磨开始日期")
private String dmksrq;
@ApiModelProperty(value = "打磨结束日期")
private String dmjsrq;
@ApiModelProperty(value = "状态")
private String dmZt;
@ApiModelProperty(value = "编制人")
private String dmBzry;
@ApiModelProperty(value = "编制日期")
private String dmBzrq;
@ApiModelProperty(value = "下发人")
private String dmXfry;
@ApiModelProperty(value = "下发日期")
private String dmXfrq;
@ApiModelProperty(value = "反馈人")
private String dmFkry;
@ApiModelProperty(value = "反馈日期")
private String dmFkrq;
@ApiModelProperty(value = "反馈原因")
private String dmFkyy;
@ApiModelProperty(value = "坡口计划日期")
private String pkjhrq;
@ApiModelProperty(value = "坡口负责人")
private String pkfzry;
@ApiModelProperty(value = "坡口设备编号")
private String pksbbh;
@ApiModelProperty(value = "坡口类型")
private String pklx;
@ApiModelProperty(value = "坡口长度")
private Double pkcd;
@ApiModelProperty(value = "坡口人员")
private String pkry;
@ApiModelProperty(value = "坡口开始日期")
private String pkksrq;
@ApiModelProperty(value = "坡口结束日期")
private String pkjsrq;
@ApiModelProperty(value = "状态")
private String pkZt;
@ApiModelProperty(value = "编制人")
private String pkBzry;
@ApiModelProperty(value = "编制日期")
private String pkBzrq;
@ApiModelProperty(value = "下发人")
private String pkXfry;
@ApiModelProperty(value = "下发日期")
private String pkXfrq;
@ApiModelProperty(value = "反馈人")
private String pkFkry;
@ApiModelProperty(value = "反馈日期")
private String pkFkrq;
@ApiModelProperty(value = "反馈原因")
private String pkFkyy;
@ApiModelProperty(value = "曲加工计划期")
private String qjgjhrq;
@ApiModelProperty(value = "曲加工负责人")
private String qjgfzry;
@ApiModelProperty(value = "曲设备编号")
private String qsbbh;
@ApiModelProperty(value = "曲加工人员")
private String qjgry;
@ApiModelProperty(value = "曲加工开始日期")
private String qjgksrq;
@ApiModelProperty(value = "曲加工结束日期")
private String qjgjsrq;
@ApiModelProperty(value = "状态")
private String qjgZt;
@ApiModelProperty(value = "编制人")
private String qjgBzry;
@ApiModelProperty(value = "编制日期")
private String qjgBzrq;
@ApiModelProperty(value = "下发人")
private String qjgXfry;
@ApiModelProperty(value = "下发日期")
private String qjgXfrq;
@ApiModelProperty(value = "反馈人")
private String qjgFkry;
@ApiModelProperty(value = "反馈日期")
private String qjgFkrq;
@ApiModelProperty(value = "反馈原因")
private String qjgFkyy;
@TableId(value = "id", type = IdType.ASSIGN_UUID)
private String id;
}

@ -1,6 +1,7 @@
package com.dsic.gj_erp.controller.jhgk;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.dsic.gj_erp.annotation.AuthFunction;
@ -53,7 +54,8 @@ public class DmSygdMxController {
.eq(StrUtil.isNotEmpty(sygd.getDcCh()),"dc_ch",sygd.getDcCh())
.eq(StrUtil.isNotEmpty(sygd.getDcPl()),"dc_pl",sygd.getDcPl())
.ge(StrUtil.isNotEmpty(sygd.getBeginTime()),"jssj",sygd.getBeginTime())
.le(StrUtil.isNotEmpty(sygd.getEndTime()),"jssj",sygd.getEndTime())
.le(StrUtil.isNotEmpty(sygd.getEndTime()),"jssj",
DateUtil.endOfMonth(DateUtil.parseDate(sygd.getEndTime())))
.orderByAsc("jssj,dc_ch,dc_pl")
);
return new ResultBean(list);
@ -95,7 +97,7 @@ public class DmSygdMxController {
@RequestMapping("/sygdPC")
@AuthFunction
public ResultBean sygdPC(){
return new ResultBean(service.sygdPC());
return service.sygdPC();
}
@RequestMapping("/saveList")

@ -18,17 +18,24 @@ import org.springframework.web.bind.annotation.RestController;
public class DmSygdMxLjController {
public static void main(String[] agrs) {
double ljgs=12.0/8;
System.out.println(ljgs);
int num= (int)ljgs;
num+=((ljgs-num)>0?2:1);
System.out.println(num);
// String a = "2023/08/20";
// String b = "2023/08/21";
// System.out.println(a.compareTo(b));
System.out.println(DateUtil.format(DateUtil.nextMonth(),"yyyy/MM/01"));
System.out.println(DateUtil.format(DateUtil.endOfMonth(DateUtil.offsetMonth(DateUtil.date(),3)),"yyyy/MM/dd"));
// System.out.println(DateUtil.format(DateUtil.nextMonth(),"yyyy/MM/01"));
//
// System.out.println(DateUtil.format(DateUtil.endOfMonth(DateUtil.offsetMonth(DateUtil.date(),3)),"yyyy/MM/dd"));
// String[] a={"船只", "批量号", "总段号", "分段号", "大组极重", "总装部最新分段需求期", "钢料需求", "X大板", "X数控件", "X平铁", "X压弯", "X型材", "X二次装T型材"};
// String[] a1={"dcCh","dcPl", "zdh","dcFd","dzjz","zxfdxq", "glxq", "xdb", "xskj,",
// "xpt,", "xyw", "xxc", "xtxc", };
// String[] b={"日期", "垛位", "船", "批量", "跨位" };
// String[] b1={"","","","",""};
// String[] b={"工序", "跨位", "产能单位", "白班", "白班", "夜班", "夜班", "合计", "白班", "白班", "划线夜班", "划线夜班", "合计", "产能单位", "零件加工工序", "白班", "白班", "夜班", "夜班", "合计", "产能单位", "零件加工工序", "白班", "白班", "夜班", "夜班", "合计", "产能单位", "零件加工工序", "白班", "白班", "夜班", "夜班", "合计", "产能单位"};
// String[] b1={"gx", "kw", "cndw", "zxcn_bb", "zdcn_bb", "zxcn_yb", "zdcn_yb", "cnhj", "zxcn_bb1", "zdcn_bb1", "zxcn_yb1", "zdcn_yb1", "cnhj1", "cndw1", "ljgx2", "zxcn_bb2", "zdcn_bb2", "zxcn_yb2", "zdcn_yb2", "cnhj2", "cndw2", "ljgx3", "zxcn_bb3", "zdcn_bb3", "zxcn_yb3", "zdcn_yb3", "cnhj3", "cndw3", "ljgx4", "zxcn_bb4", "zdcn_bb4", "zxcn_yb4", "zdcn_yb4", "cnhj4", "cndw4"};
// for (int i = 0; i < b.length; i++) {
// System.out.println("{ field: '"+b1[i]+"', title: '"+b[i]+"', width: 120, \n" +
// " filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],\n" +

@ -44,9 +44,10 @@ public class DmSygdxqController {
@RequestMapping("/getList")
@AuthFunction
public ResultBean getList(@RequestBody Map<String, String> map) {
List<DmSygdxq> list = service.list(new QueryWrapper<DmSygdxq>()
.ge(StrUtil.isNotEmpty(map.get("beginTime")), "xzglxq", map.get("beginTime"))
.le(StrUtil.isNotEmpty(map.get("endTime")), "xzglxq", map.get("endTime"))
.ge(StrUtil.isNotEmpty(map.get("beginTime")), "xzglxq", DateUtil.beginOfMonth(DateUtil.parseDate(map.get("beginTime"))))
.le(StrUtil.isNotEmpty(map.get("endTime")), "xzglxq", DateUtil.endOfMonth(DateUtil.parseDate(map.get("endTime"))))
.orderByAsc("dc_ch, cast(dc_pl as int),xzglxq"));
if (ObjUtil.isEmpty(list)) {
return new ResultBean();
@ -100,24 +101,7 @@ public class DmSygdxqController {
return new ResultBean();
}
public static void main(String[] agrs) {
// String a = "2023/08/20";
// String b = "2023/08/21";
// System.out.println(a.compareTo(b));
// System.out.println(DateUtil.format(DateUtil.nextMonth(),"yyyy/MM"));
// String[] a={"船只", "批量号", "总段号", "分段号", "大组极重", "总装部最新分段需求期", "钢料需求", "X大板", "X数控件", "X平铁", "X压弯", "X型材", "X二次装T型材"};
// String[] b={"月份","跨位","船号","批量","分段","板数","订货清单号","到货数量","订货数量","备料总工时","抛丸总工时","理料总工时","划线总工时","切割总工时","坡口总工时","打磨总工时","曲加工总工时"};
// String[] a1={"dcCh","dcPl", "zdh","dcFd","dzjz","zxfdxq", "glxq", "xdb", "xskj,",
// "xpt,", "xyw", "xxc", "xtxc", };
// String[] b1={"yf","kw","ch","pl","fd","bs","dhqd","dhsl","dhsl","blgs","pwgs","llgs","hxgs","qggs","pkgs","dmgs","qjggs"};
// for (int i = 0; i < b.length; i++) {
// System.out.println("{ field: '"+b1[i]+"', title: '"+b[i]+"', width: 120, \n" +
// " filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],\n" +
// " filterRender: { name: 'FilterCombination', },\n" +
// "},");
// }
// System.out.println("2023/08/05".substring(0,7));
}
}

@ -1,11 +1,11 @@
package com.dsic.gj_erp.controller.jhgk;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.dsic.gj_erp.annotation.AuthFunction;
import com.dsic.gj_erp.bean.ResultBean;
import com.dsic.gj_erp.bean.jhgk.DmSygdMx;
import com.dsic.gj_erp.bean.jhgk.DmYdjh;
import com.dsic.gj_erp.service.jhgk.DmYdjhService;
import org.springframework.beans.factory.annotation.Autowired;
@ -14,6 +14,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
import java.util.Map;
/**
* <p>
@ -32,12 +33,11 @@ public class DmYdjhController {
@RequestMapping("/getList")
@AuthFunction
public ResultBean getList(@RequestBody DmSygdMx sygd){
public ResultBean getList(@RequestBody Map<String, String> map){
List<DmYdjh> list= service.list(new QueryWrapper<DmYdjh>()
.eq(StrUtil.isNotEmpty(sygd.getDcCh()),"dc_ch",sygd.getDcCh())
.eq(StrUtil.isNotEmpty(sygd.getDcPl()),"dc_pl",sygd.getDcPl())
.ge(StrUtil.isNotEmpty(sygd.getBeginTime()),"jssj",sygd.getBeginTime())
.le(StrUtil.isNotEmpty(sygd.getEndTime()),"jssj",sygd.getEndTime())
.eq(StrUtil.isNotEmpty(map.get("dcCh")),"dc_ch",map.get("dcCh"))
.ge(StrUtil.isNotEmpty(map.get("yf")), "jssj", DateUtil.beginOfMonth(DateUtil.parseDate(map.get("yf"))))
.le(StrUtil.isNotEmpty(map.get("yf")), "jssj", DateUtil.endOfMonth(DateUtil.parseDate(map.get("yf"))))
.orderByAsc("jssj,dc_ch,dc_pl")
);
return new ResultBean(list);
@ -46,8 +46,13 @@ public class DmYdjhController {
@RequestMapping("/tjydjh")
@AuthFunction
public ResultBean tjydjh(){
return new ResultBean(service.tjydjh());
}
@RequestMapping("/hz")
@AuthFunction
public ResultBean hz(@RequestBody List<DmYdjh> list){
return new ResultBean(service.hz(list));
}
}

@ -0,0 +1,20 @@
package com.dsic.gj_erp.controller.jhgk;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
*
* </p>
*
* @author xn
* @since 2023-12-15
*/
@RestController
@RequestMapping("/dmYdjhLj")
public class DmYdjhLjController {
}

@ -3,6 +3,9 @@ package com.dsic.gj_erp.mapper.jhgk;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dsic.gj_erp.bean.jhgk.DmQfxq;
import com.dsic.gj_erp.bean.jhgk.DmYdjh;
import java.util.List;
/**
* <p>
@ -14,4 +17,5 @@ import com.dsic.gj_erp.bean.jhgk.DmQfxq;
*/
public interface DmQfxqMapper extends BaseMapper<DmQfxq> {
List<DmYdjh> getYdjh(List<String> ids);
}

@ -24,11 +24,12 @@ public interface DmSygdMxMapper extends BaseMapper<DmSygdMx> {
Dhdto getDhsl(Dhdto dhdto);
List<DmSygdMxLj> getLjxx();
List<DmSygdMx> getMx();
int setParent();
List<DmSygdMxLj> getLjxx(@Param("begin") String begin, @Param("end") String end);
List<DmSygdMx> getMx(@Param("begin") String begin, @Param("end") String end);
int setParent(@Param("begin") String begin, @Param("end") String end);
List<Kwdto> getkw(@Param("begin") String begin, @Param("end") String end);
List<Pldto> getPl(@Param("begin") String begin,@Param("end") String end);
List<Pldto> updateQgjssj( List<DmSygdMxLj> ljList);
List<Object> cgjhdhqk(Map<String,Object> map);
}

@ -0,0 +1,17 @@
package com.dsic.gj_erp.mapper.jhgk;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dsic.gj_erp.bean.jhgk.DmYdjhLj;
/**
* <p>
* Mapper
* </p>
*
* @author xn
* @since 2023-12-15
*/
public interface DmYdjhLjMapper extends BaseMapper<DmYdjhLj> {
}

@ -4,6 +4,8 @@ package com.dsic.gj_erp.mapper.jhgk;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dsic.gj_erp.bean.jhgk.DmSygdMx;
import com.dsic.gj_erp.bean.jhgk.DmYdjh;
import com.dsic.gj_erp.bean.pgd.*;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@ -18,4 +20,9 @@ import java.util.List;
public interface DmYdjhMapper extends BaseMapper<DmYdjh> {
List<DmSygdMx> getSygdmx(String nextMonth);
List<PgdTzjh> getTzjh(@Param("begin") String begin, @Param("end") String end);
List<PgdDh> getDhjh(@Param("begin") String begin, @Param("end") String end);
List<PgdSljh> getSljh(@Param("begin") String begin, @Param("end") String end);
List<PgdPwjh> getPwjh(@Param("begin") String begin, @Param("end") String end);
List<PgdQgjh> getQgjh(@Param("begin") String begin, @Param("end") String end);
}

@ -93,14 +93,14 @@ public class EmGcrlServiceImpl extends ServiceImpl<EmGcrlMapper, EmGcrl> impleme
Integer zj=dayOfWeek.getValue();
emGcrl.setXq(weekArray[zj-1]);
if(zj==6||zj==7){
if (gzr.equals("")){
EmGcrl l= this.getOne(new QueryWrapper<EmGcrl>().select("top 1 gzr")
.eq("nf",intNF-1).orderByDesc(" cast(gzlr as int) "));
if (ObjectUtil.isEmpty(l)){
throw new RuntimeException("请先生成上一年份信息!");
}
gzr=l.getGzr();
}
// if (gzr.equals("")){
// EmGcrl l= this.getOne(new QueryWrapper<EmGcrl>().select("top 1 gzr")
// .eq("nf",intNF-1).orderByDesc(" cast(gzlr as int) "));
// if (ObjectUtil.isEmpty(l)){
// throw new RuntimeException("请先生成上一年份信息!");
// }
// gzr=l.getGzr();
// }
emGcrl.setGzr(gzr);
emGcrl.setXxr("0");
}else {

@ -18,7 +18,7 @@ import java.util.Map;
* @since 2023-10-09
*/
public interface DmSygdMxService extends IService<DmSygdMx> {
Map sygdPC();
ResultBean sygdPC();
// List<DmSygdMx> saveByDcch(HashMap<String, List<Object>> map);
List<Kwdto> getKwList(List<DmSygdMx> list,String begin,String end);
List<Xbjhdto> getXBList(List<DmSygdMx> list,String year,String begin,String end);

@ -0,0 +1,17 @@
package com.dsic.gj_erp.service.jhgk;
import com.baomidou.mybatisplus.extension.service.IService;
import com.dsic.gj_erp.bean.jhgk.DmYdjhLj;
/**
* <p>
*
* </p>
*
* @author xn
* @since 2023-12-15
*/
public interface DmYdjhLjService extends IService<DmYdjhLj> {
}

@ -6,6 +6,7 @@ import com.dsic.gj_erp.bean.jhgk.DmSygdMx;
import com.dsic.gj_erp.bean.jhgk.DmYdjh;
import java.util.List;
import java.util.Map;
/**
* <p>
@ -19,4 +20,5 @@ public interface DmYdjhService extends IService<DmYdjh> {
List<DmSygdMx> tjydjh();
Map<String,Object> hz(List<DmYdjh> ydjhList);
}

@ -6,20 +6,20 @@ import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dsic.gj_erp.bean.ResultBean;
import com.dsic.gj_erp.bean.jcsj.excel.PlExcel;
import com.dsic.gj_erp.bean.jcsj.EmGcrl;
import com.dsic.gj_erp.bean.jhgk.DmQfxq;
import com.dsic.gj_erp.bean.jhgk.DmYdjh;
import com.dsic.gj_erp.bean.jhgk.excel.QfExcel;
import com.dsic.gj_erp.mapper.jcsj.EmGcrlMapper;
import com.dsic.gj_erp.mapper.jhgk.DmQfxqMapper;
import com.dsic.gj_erp.service.jhgk.DmQfxqService;
import org.apache.commons.lang3.StringUtils;
import com.dsic.gj_erp.service.jhgk.DmYdjhService;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.*;
import java.util.stream.Collectors;
/**
@ -34,18 +34,16 @@ import java.util.stream.Collectors;
public class DmQfxqServiceImpl extends ServiceImpl<DmQfxqMapper, DmQfxq> implements DmQfxqService {
@Resource
private EmGcrlMapper gcrlMapper;
@Resource
private DmYdjhService ydjhService;
@Override
@Transactional(rollbackFor = Exception.class)
public ResultBean uploadQf(List<QfExcel> list, String project, HttpServletRequest req) {
List<DmQfxq> listForSave = new ArrayList<>();
// Map<String, Set<String>> chs = list.stream().filter(f -> StringUtils.isNotBlank(f.getDcPl()))
// .collect(Collectors.groupingBy(QfExcel::getDcCh, Collectors.mapping(QfExcel::getDcPl, Collectors.toSet())));
// for (String ch : chs.keySet()) {
// int i = this.count(new QueryWrapper<DmQfxq>().eq("DC_CH", ch).in("DC_PL", chs.get(ch)));
// if (i > 0) {
// return new ResultBean(false, 10000, "请勿重复导入,船号:" + ch + ",批量:" + chs.get(ch));
// }
// }
for (QfExcel q : list) {
DmQfxq a = new DmQfxq();
BeanUtil.copyProperties(q, a);
@ -54,15 +52,35 @@ public class DmQfxqServiceImpl extends ServiceImpl<DmQfxqMapper, DmQfxq> impleme
a.setBzry((String) req.getAttribute("yhms"));
a.setBzrq(DateUtil.format(DateUtil.date(), "yyyy/MM/dd"));
listForSave.add(a);
this.remove(new QueryWrapper<DmQfxq>().eq("Dc_ch",a.getDcCh()).eq("Dc_pl",a.getDcPl()).eq("Dc_fd",a.getDcFd()));
this.remove(new QueryWrapper<DmQfxq>().eq("Dc_ch", a.getDcCh()).eq("Dc_pl", a.getDcPl()).eq("Dc_fd", a.getDcFd()));
}
this.saveBatch(listForSave);
//生成月度计划信息
generateYdjh();
generateYdjh(listForSave);
return new ResultBean();
}
public void generateYdjh() {
//零件
/**
*
*
* @param list
*/
public void generateYdjh(List<DmQfxq> list) {
//分段
List<String> ids = list.stream().map(DmQfxq::getId).collect(Collectors.toList());
//获取对应的 三月滚动计划明细
//需要再次排产?目前没排
List<DmYdjh> ydjhList = baseMapper.getYdjh(ids);
if (ydjhList.size() < 1) {
System.out.println("当前导入的前方需求没有对应的三月滚动计划!");
}
for (DmYdjh dmYdjh : ydjhList) {
ydjhService.remove(new QueryWrapper<DmYdjh>()
.eq("Dc_Ch",dmYdjh.getDcCh())
.eq("Dc_Pl",dmYdjh.getDcPl())
.eq("Tzbh",dmYdjh.getTzbh()));
ydjhService.save(dmYdjh);
}
}
}

@ -74,41 +74,60 @@ public class DmSygdMxServiceImpl extends ServiceImpl<DmSygdMxMapper, DmSygdMx> i
*/
@Override
@Transactional(isolation = Isolation.READ_UNCOMMITTED)
public Map sygdPC() {
public ResultBean sygdPC() {
//todo 重复导入(三月滚动计划)的数据处理
//零件 删除
String begin=DateUtil.format(DateUtil.nextMonth(),"yyyy/MM/01");
String end =DateUtil.format(DateUtil.endOfMonth(DateUtil.offsetMonth(DateUtil.date(),3)),"yyyy/MM/dd");
ljService.remove(new QueryWrapper<DmSygdMxLj>().between("xzglxq",begin,end));
// String begin="2023/08/01";
// String end ="2023/10/31";
//todo 零件
ljService.remove(new QueryWrapper<DmSygdMxLj>().between("xzglxq",begin,end));
//todo 三月滚动明细
this.remove(new QueryWrapper<DmSygdMx>().between("jssj",begin,end));
//todo 三月滚动计划
sygdService.remove(new QueryWrapper<DmSygd>().between("sl_sj",begin,end));
List<DmSygdMxLj> ljList = baseMapper.getLjxx();
//零件排产 按时间 船号 批量 图号 排序
//默认定额 坡口 打磨 曲
baseMapper.getLjxx(begin,end);
List<DmSygdMxLj> ljList = ljService.list(new QueryWrapper<DmSygdMxLj>().between("xzglxq",begin,end));
if (ljList.size()<1){
throw new RuntimeException("请先导入前方三月需求!");
return new ResultBean(false,1,"请先导入"+begin+" ~ "+end+"分段钢料需求!");
}
List<DmSygdMx> mxList = baseMapper.getMx();
mxList.forEach(l -> {
if (StrUtil.isNotEmpty(l.getWpgg())) {
String[] wpgg = l.getWpgg().split("\\*");
Double c = 0.0;
if (wpgg.length == 3) {
//立方米
Double d = Double.parseDouble(wpgg[0]) * Double.parseDouble(wpgg[1]) * Double.parseDouble(wpgg[2]) / 1000000000.0;
//密度7.85t/m3
c = d * 7850;
}
l.setBcshzl(Double.valueOf(String.format("%.2f", c)));
}
});
//TODO 零件排产 按时间 船号 批量 图号 排序
//1.根据BOM中的定额工时 坡口标识 pkbs 打磨标识 dmbs 曲标识 qbs
//坡口长度 pkcd 打磨长度dmcd
//定额工时:blgs pwgs llgs hxgs qggs pkgs dmgs qgs
//qgjssj 切割完成期(最晚)
//判断标识 零件数量*定额工时*长度=加工时长 累计加工时长 需求日期-累计加工时长=切割完成期(最晚)
//todo 有标识 无定额-->设备产能中同跨位零件加工定额 无-->通用零件加工定额
// ljList.forEach(l->{
// double ljgs=0.0;
// if(StrUtil.isNotEmpty(l.getPkbs())){
// ljgs+=(l.getLjsl()*l.getPkcd())/l.getPkgs();
//
// }
// if(StrUtil.isNotEmpty(l.getDmbs())){
// ljgs+=(l.getLjsl()*l.getDmcd())/l.getDmgs();
// }
// if(StrUtil.isNotEmpty(l.getQbs())){
// ljgs+=l.getLjsl()/l.getQgs();
// }
//// 8小时
// ljgs=ljgs/8;
// int num= (int)ljgs;
// num+=(ljgs-num)>0?2:1;
// l.setQgjssj(DateUtil.format(DateUtil.offsetDay(DateUtil.parseDate(l.getXzglxq()),num),"yyyy/MM/dd"));
// ljService.updateById(l);
// });
//2.根据
List<DmSygdMx> mxList = baseMapper.getMx(begin,end);
//todo 排产
ypc(mxList);
baseMapper.setParent();
Map map2 = new HashMap();
map2.put("mxList", mxList);
return map2;
baseMapper.setParent(begin,end);
ResultBean r=new ResultBean(mxList);
r.setSuccess(true);
return r;
}
/**
@ -119,20 +138,26 @@ public class DmSygdMxServiceImpl extends ServiceImpl<DmSygdMxMapper, DmSygdMx> i
public void ypc(List<DmSygdMx> list) {
//1.根据组立结束时间排序,决定生产顺序
list = list.stream().sorted(Comparator.comparing(DmSygdMx::getJssj, Comparator.nullsLast(Comparator.naturalOrder()))).collect(Collectors.toList());
double days=list.size()/266.0;
int day=(int)days;
day+=((days-day)>0?1:0);
//2.未来工厂日历信息
String begin=DateUtil.format(DateUtil.nextMonth(),"yyyy/MM/01");
String end =DateUtil.format(DateUtil.endOfMonth(DateUtil.offsetMonth(DateUtil.date(),3)),"yyyy/MM/dd");
String begin=list.get(0).getJssj();
String end =DateUtil.format(DateUtil.offsetDay(DateUtil.parseDate(begin),day),"yyyy/MM/dd");
List<EmGcrl> gcrlList = gcrlMapper.selectList(new QueryWrapper<EmGcrl>()
.between("gl",begin,end)
.orderByAsc("gl"));
.orderByAsc("gl"));
//3.预排产
//TODO 假设产能测算266.9;又套料图需当天完成
for (int i = 0; i < gcrlList.size(); i++) {
for (int j = 0; j < 266; j++) {
int index = 266 * i + j;
if (list.size() > index) {
list.get(index).setPwrq(gcrlList.get(i).getGl());
list.get(index).setSlrq(gcrlList.get(i).getGl());
String sl= DateUtil.format(DateUtil.offsetDay(DateUtil.parseDate(gcrlList.get(i).getGl()),-1),"yyyy/MM/dd");
list.get(index).setSlrq(sl);
list.get(index).setPwrq(sl);
list.get(index).setPw("1抛");
list.get(index).setHxrq(gcrlList.get(i).getGl());
list.get(index).setQgrq(gcrlList.get(i).getGl());
list.get(index).setXxr(gcrlList.get(i).getXxr());

@ -0,0 +1,21 @@
package com.dsic.gj_erp.service.jhgk.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dsic.gj_erp.bean.jhgk.DmYdjhLj;
import com.dsic.gj_erp.mapper.jhgk.DmYdjhLjMapper;
import com.dsic.gj_erp.service.jhgk.DmYdjhLjService;
import org.springframework.stereotype.Service;
/**
* <p>
*
* </p>
*
* @author xn
* @since 2023-12-15
*/
@Service
public class DmYdjhLjServiceImpl extends ServiceImpl<DmYdjhLjMapper, DmYdjhLj> implements DmYdjhLjService {
}

@ -1,20 +1,24 @@
package com.dsic.gj_erp.service.jhgk.impl;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dsic.gj_erp.bean.jcsj.EmGcrl;
import com.dsic.gj_erp.bean.jhgk.DmQfxq;
import com.dsic.gj_erp.bean.jhgk.DmSygdMx;
import com.dsic.gj_erp.bean.jhgk.DmYdjh;
import com.dsic.gj_erp.bean.pgd.*;
import com.dsic.gj_erp.mapper.jhgk.DmYdjhMapper;
import com.dsic.gj_erp.service.jcsj.DmBomService;
import com.dsic.gj_erp.service.jcsj.EmGcrlService;
import com.dsic.gj_erp.service.jhgk.DmQfxqService;
import com.dsic.gj_erp.service.jhgk.DmSygdMxService;
import com.dsic.gj_erp.service.jhgk.DmYdjhService;
import com.dsic.gj_erp.service.pgd.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.*;
import java.util.stream.Collectors;
@ -33,11 +37,15 @@ public class DmYdjhServiceImpl extends ServiceImpl<DmYdjhMapper, DmYdjh> impleme
@Autowired
private DmQfxqService qfxqService;
@Autowired
private DmSygdMxService sygdMxService;
private PgdTzjhService tzjhService;
@Autowired
private DmBomService bomService;
private PgdDhService dhService;
@Autowired
private EmGcrlService gcrlService;
private PgdSljhService slService;
@Autowired
private PgdPwjhService pwService;
@Autowired
private PgdQgjhService qgService;
@Override
public List<DmSygdMx> tjydjh() {
@ -63,39 +71,54 @@ public class DmYdjhServiceImpl extends ServiceImpl<DmYdjhMapper, DmYdjh> impleme
return sygdmx;
}
public void pc(List<DmSygdMx> sygdMxList){
//根据jssj从后往前排产
//跨位信息 设备信息 设备产能 工厂日历
//1.未来工厂日历信息
List<EmGcrl> gcrlList= gcrlService.list(new QueryWrapper<EmGcrl>()
.eq("xxr","1")
.eq("substring(gl,0,8) ","2023/08")
.orderByAsc("gl"));
//2.未来一个月,可用设备()
for (EmGcrl emGcrl : gcrlList) {
//当天,前方需求的板子
List<DmSygdMx> list= sygdMxList.stream().filter(x->x.getJssj().equals(emGcrl.getGl())).collect(Collectors.toList());
if (list.size()>260){
new Exception("前方需求有问题每天加工的板数不能大于260张");
}
//零件加工:坡口 曲面 打磨
//切割
//划线
//上料
@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");
String begin="2023/08/01";
String end ="2023/08/31";
//图纸计划
List<PgdTzjh> tzjhList=tzjhService.list(new QueryWrapper<PgdTzjh>().between("qgxqrq",begin,end));
if (tzjhList.size()<1){
baseMapper.getTzjh(begin,end);
tzjhList=tzjhService.list(new QueryWrapper<PgdTzjh>().between("qgxqrq",begin,end));
}
//订货清单
List<PgdDh> dhList=dhService.list(new QueryWrapper<PgdDh>().between("slxqrq",begin,end));
if (dhList.size()<1){
baseMapper.getDhjh(begin,end);
dhList=dhService.list(new QueryWrapper<PgdDh>().between("slxqrq",begin,end));
}
//上料计划
List<PgdSljh> slList=slService.list(new QueryWrapper<PgdSljh>().between("sljhrq",begin,end));
if (slList.size()<1){
baseMapper.getSljh(begin,end);
slList=slService.list(new QueryWrapper<PgdSljh>().between("sljhrq",begin,end));
}
//抛丸计划
//3.排产
List<PgdPwjh> pwList=pwService.list(new QueryWrapper<PgdPwjh>().between("pwjhrq",begin,end));
if (pwList.size()<1){
baseMapper.getPwjh(begin,end);
pwList=pwService.list(new QueryWrapper<PgdPwjh>().between("pwjhrq",begin,end));
}
//切割计划
List<PgdQgjh> qgList=qgService.list(new QueryWrapper<PgdQgjh>().between("qgjhrq",begin,end));
if (qgList.size()<1){
baseMapper.getQgjh(begin,end);
qgList=qgService.list(new QueryWrapper<PgdQgjh>().between("qgjhrq",begin,end));
}
map.put("tzjhList",tzjhList);
map.put("dhList",dhList);
map.put("slList",slList);
map.put("pwList",pwList);
map.put("qgList",qgList);
return map;
}
//下发 派工单状态改为编制 生成零件信息
}

@ -16,5 +16,81 @@
<result column="bz" property="bz" />
<result column="zt" property="zt" />
</resultMap>
<select id="getYdjh" resultType="com.dsic.gj_erp.bean.jhgk.DmYdjh" parameterType="arraylist">
SELECT
dm_qfxq.DC_CH,dm_qfxq.DC_PL,
dm_qfxq.db,dm_qfxq.xc,dm_qfxq.txc,
dm_sygd_mx.dc_ch1,
dm_sygd_mx.LQLB,
dm_sygd_mx.tzbh,
dm_sygd_mx.wpgg,
dm_sygd_mx.wpxh,
dm_sygd_mx.hxcd,
dm_sygd_mx.qgcd,
dm_sygd_mx.qbs,
dm_sygd_mx.pklx,
dm_sygd_mx.pkcd,
dm_sygd_mx.ljsl,
dm_sygd_mx.zl,
dm_sygd_mx.lx,
dm_sygd_mx.xcms,
dm_sygd_mx.kw,
dm_sygd_mx.slrq,
dm_sygd_mx.slry,
dm_sygd_mx.pw,
dm_sygd_mx.pwry,
dm_sygd_mx.pwrq,
dm_sygd_mx.hxsb,
dm_sygd_mx.hxry,
dm_sygd_mx.hxrq,
dm_sygd_mx.qgsb,
dm_sygd_mx.qgry,
dm_sygd_mx.qgrq,
dm_sygd_mx.pwsb,
dm_sygd_mx.DC_FD,
dm_sygd_mx.jzbs,
dm_sygd_mx.jzsb,
dm_sygd_mx.jzry,
dm_sygd_mx.dcCh2,
dm_sygd_mx.gjks,
dm_sygd_mx.gxsj,
dm_sygd_mx.hxkc_cd,
dm_sygd_mx.qgkc_cd,
dm_sygd_mx.jssj,
dm_sygd_mx.zt,
dm_sygd_mx.xcgs,
dm_sygd_mx.bclqzl,
dm_sygd_mx.bcshzl,
dm_sygd_mx.bcylzl,
dm_sygd_mx.bcljtlzl,
dm_sygd_mx.bcqpyld,
dm_sygd_mx.ylbhgg,
dm_sygd_mx.blgs,
dm_sygd_mx.pwgs,
dm_sygd_mx.llgs,
dm_sygd_mx.hxgs,
dm_sygd_mx.qggs,
dm_sygd_mx.pkgs,
dm_sygd_mx.dmgs,
dm_sygd_mx.qgs,
dm_sygd_mx.zpgs,
dm_sygd_mx.xxr,
dm_sygd_mx.gjjs_dz
from
(SELECT * from (
SELECT
*,row_number() over(partition by DC_CH,DC_PL order by db ) rn
from dm_qfxq where id in
<foreach collection="ids" index="index" item="item" open="(" separator="," close=")">
#{item}
</foreach>
)
dm_qfxq
WHERE dm_qfxq.rn=1)
dm_qfxq
left JOIN dm_sygd_mx on
dm_qfxq.dc_pl=dm_sygd_mx.dc_pl and dm_qfxq.DC_CH=dm_sygd_mx.dc_ch
ORDER BY dm_qfxq.db,dm_qfxq.DC_CH,dm_qfxq.DC_PL
</select>
</mapper>

@ -25,169 +25,124 @@
and MS_DDMXP.WPKD=#{rkxh}
GROUP BY MS_DDMXP.WPHD,MS_DDMXP.WPCD,MS_DDMXP.WPKD,MS_DDMXP.RKXH
</select>
<select id="getLjxx" resultType="com.dsic.gj_erp.bean.jhgk.DmSygdMxLj">
insert into dm_sygd_mx_lj(
xzglxq ,
dzglxq ,
dcch,
pl,
fd,
mbch,
xqdd,
pw,
lqlb,
kw,
sbbh,
sclx,
zl,
wpcz,
wpgg,
bh,
bc,
yqyl,
qgcd,
tzbh,
tlsl,
pklx,
qbs,
pkbs,
pkcd,
dmbs,
dmcd,
zpsx,
ljbh,
ljsl,
ljsx,
djmj,
ljdz,
blgs,
pwgs,
llgs,
hxgs,
qggs,
pkgs,
qgs,
dmgs,
zpgs,
fkblgs,
fkpwgs,
fkllgs,
fkhxgs,
fkqggs,
fkpkgs,
fkqgs,
fkdmgs,
fkzpgs,
type,
fds,
hxcd,
lqbs,
xcgs,
xcshms,
bclqzl,
bcshzl,
bcylzl,
bcljtlzl,
ylbhgg,
bcqpyld,
id
)
insert into dm_sygd_mx_lj(
xzglxq ,
dzglxq ,
dcch,
pl,
fd,
mbch,
pw,
lqlb,
kw,
zl,
wpcz,
wpgg,
bh,
bc,
yqyl,
qgcd,
tzbh,
tlsl,
pklx,
qbs,
pkbs,
pkcd,
dmbs,
dmcd,
zpsx,
ljbh,
ljsl,
ljsx,
djmj,
ljdz,
blgs,
pwgs,
llgs,
hxgs,
qggs,
pkgs,
qgs,
dmgs,
zpgs,
hxcd,
xcgs,
xcshms,
bclqzl,
bcshzl,
bcylzl,
bcljtlzl,
ylbhgg,
bcqpyld,
id
)
SELECT
dm_sygdxq.xzglxq ,
dm_sygdxq.dzglxq ,
dm_sygdxq.DC_CH as dcch,
dm_sygdxq.DC_PL as pl,
dm_sygdxq.DC_FD as fd,
dm_bom.mbch,
dm_bom.xqdd,
dm_bom.pw,
dm_bom.lqlb,
dm_bom.kw,
dm_bom.sbbh,
dm_bom.sclx,
dm_bom.zl,
dm_bom.wpcz,
dm_bom.wpgg,
dm_bom.bh,
dm_bom.bc,
dm_bom.yqyl,
dm_bom.qgcd,
(SELECT (CASE WHEN dm_bom.tzbh is null THEN '' ELSE dm_bom.tzbh END)) as tzbh,
dm_bom.tlsl,
dm_bom.pklx,
dm_bom.qbs,
dm_bom.pkbs,
dm_bom.pkcd,
dm_bom.dmbs,
dm_bom.dmcd,
dm_bom.zpsx,
dm_bom.ljbh,
dm_bom.ljsl,
dm_bom.ljsx,
dm_bom.djmj,
dm_bom.ljdz,
dm_bom.blgs,
dm_bom.pwgs,
dm_bom.llgs,
dm_bom.hxgs,
dm_bom.qggs,
dm_bom.pkgs,
dm_bom.qgs,
dm_bom.dmgs,
dm_bom.zpgs,
dm_bom.fkblgs,
dm_bom.fkpwgs,
dm_bom.fkllgs,
dm_bom.fkhxgs,
dm_bom.fkqggs,
dm_bom.fkpkgs,
dm_bom.fkqgs,
dm_bom.fkdmgs,
dm_bom.fkzpgs,
dm_bom.type,
dm_bom.fds,
dm_bom.hxcd,
dm_bom.lqbs,
dm_bom.xcgs,
dm_bom.xcshms,
dm_bom.bclqzl,
dm_bom.bcshzl,
dm_bom.bcylzl,
dm_bom.bcljtlzl,
dm_bom.ylbhgg,
dm_bom.bcqpyld,
REPLACE(CAST(CAST(NEWID()AS BINARY(10)) + CAST(GETDATE() AS BINARY(6)) AS UNIQUEIDENTIFIER),'-','') as id
dm_sygdxq.xzglxq ,
dm_sygdxq.dzglxq ,
dm_sygdxq.DC_CH as dcch,
dm_sygdxq.DC_PL as pl,
dm_sygdxq.DC_FD as fd,
dm_bom.mbch,
dm_bom.pw,
dm_bom.lqlb,
dm_bom.kw,
dm_bom.zl,
dm_bom.wpcz,
dm_bom.wpgg,
dm_bom.bh,
dm_bom.bc,
dm_bom.yqyl,
dm_bom.qgcd,
(SELECT (CASE WHEN dm_bom.tzbh is null THEN '' ELSE dm_bom.tzbh END)) as tzbh,
dm_bom.tlsl,
dm_bom.pklx,
dm_bom.qbs,
dm_bom.pkbs,
dm_bom.pkcd,
dm_bom.dmbs,
dm_bom.dmcd,
dm_bom.zpsx,
dm_bom.ljbh,
dm_bom.ljsl,
dm_bom.ljsx,
dm_bom.djmj,
dm_bom.ljdz,
dm_bom.blgs,
dm_bom.pwgs,
dm_bom.llgs,
dm_bom.hxgs,
dm_bom.qggs,
dm_bom.pkgs,
dm_bom.qgs,
dm_bom.dmgs,
dm_bom.zpgs,
dm_bom.hxcd,
dm_bom.xcgs,
dm_bom.xcshms,
dm_bom.bclqzl,
dm_bom.bcshzl,
dm_bom.bcylzl,
dm_bom.bcljtlzl,
dm_bom.ylbhgg,
dm_bom.bcqpyld,
REPLACE(CAST(CAST(NEWID()AS BINARY(10)) + CAST(GETDATE() AS BINARY(6)) AS UNIQUEIDENTIFIER),'-','') as id
from dm_sygdxq LEFT JOIN dm_bom
on dm_bom.dcch = dm_sygdxq.DC_CH
and dm_bom.pl = dm_sygdxq.DC_PL
and dm_bom.fd = dm_sygdxq.DC_FD
where
-- dm_sygdxq.xzglxq between '2023/08/01' and '2023/10/31'
dm_sygdxq.xzglxq between
(SELECT CONVERT(varchar(10),DATEADD(m,1,DATEADD(dd,-DAY(GETDATE())+1,GETDATE())),111)
and
(Select CONVERT(varchar(10), eomonth(GETDATE(),3), 111))
ORDER BY dm_sygdxq.xzglxq,dm_sygdxq.DC_CH,dm_sygdxq.DC_PL,dm_bom.TZBH,dm_sygdxq.DC_FD
</select>
<select id="g" resultType="com.dsic.gj_erp.bean.jhgk.DmSygdMxLj">
SELECT Em_gcrl.gzr,dm_sygdxq.xzglxq ,dm_sygdxq.dzglxq ,dm_sygdxq.DC_CH as dcch,dm_sygdxq.DC_CH as sjch,dm_sygdxq.DC_PL as pl,dm_sygdxq.DC_FD as fd,dm_bom.*
from Em_gcrl,dm_sygdxq LEFT JOIN dm_bom
on dm_bom.dcch = dm_sygdxq.DC_CH
and dm_bom.pl = dm_sygdxq.DC_PL
and dm_bom.fd = dm_sygdxq.DC_FD
where
dm_sygdxq.xzglxq = Em_gcrl.gl and
-- dm_sygdxq.xzglxq between '2023/08/01' and '2023/10/31'
dm_sygdxq.xzglxq between
(SELECT CONVERT(varchar(10),DATEADD(m,1,DATEADD(dd,-DAY(GETDATE())+1,GETDATE())),111)
and
(Select CONVERT(varchar(10), eomonth(GETDATE(),3), 111))
ORDER BY dm_sygdxq.xzglxq,dm_sygdxq.DC_CH,dm_sygdxq.DC_PL,dm_bom.TZBH,dm_sygdxq.DC_FD
dm_sygdxq.xzglxq between #{begin} and #{end}
ORDER BY dm_sygdxq.xzglxq,dm_sygdxq.DC_CH,dm_sygdxq.DC_PL,dm_bom.TZBH,dm_sygdxq.DC_FD
</select>
<update id="updateQgjssj">
<foreach collection="ljList" index="index" item="item" open="(" separator=";" close=")">
UPDATE dm_sygd_mx_lj
set qgjssj=#{item.qgjssj}
where id=#{item.id}
</foreach>
</update>
<select id="getMx" resultType="com.dsic.gj_erp.bean.jhgk.DmSygdMx">
SELECT
dcch as dc_ch,
@ -217,9 +172,11 @@
dmbs,
dmcd,
hxcd,
qgcd,
xcgs,
xcshms as xcms,
bclqzl,
bcshzl,
bcylzl,
bcljtlzl,
ylbhgg,
@ -236,15 +193,11 @@
from dm_sygd_mx_lj
where
-- dm_sygd_mx_lj.xzglxq between '2023/08/01' and '2023/10/31'
dm_sygd_mx_lj.xzglxq between
(SELECT CONVERT(varchar(10),DATEADD(m,1,DATEADD(dd,-DAY(GETDATE())+1,GETDATE())),111)
and
(Select CONVERT(varchar(10), eomonth(GETDATE(),3), 111))
dm_sygd_mx_lj.xzglxq between #{begin} and #{end}
GROUP BY dcch, mbch, sjch, PL, tzbh
, lqlb, kw, zl, wpcz, wpgg, ljsl, pklx, qbs, pkbs
, pkcd, dmbs, dmcd, hxcd, xcgs, xcshms, bclqzl
, bcylzl, bcljtlzl, ylbhgg, bcqpyld , blgs , pwgs, llgs, hxgs, qggs
, pkcd, dmbs, dmcd, hxcd,qgcd, xcgs, xcshms, bclqzl
,bcshzl, bcylzl, bcljtlzl, ylbhgg, bcqpyld , blgs , pwgs, llgs, hxgs, qggs
order BY jssj, dcch, pl, tzbh
</select>
<select id="getPl" resultType="com.dsic.gj_erp.bean.jhgk.dto.Pldto">
@ -274,11 +227,11 @@
dm_sygd_mx_lj.dcch=dm_sygd_mx.dc_ch
and dm_sygd_mx_lj.pl=dm_sygd_mx.dc_pl
and (dm_sygd_mx_lj.tzbh = '' or dm_sygd_mx_lj.tzbh=dm_sygd_mx.tzbh )
-- and dm_sygd_mx_lj.xzglxq between '2023/08/01' and '2023/10/31'
dm_sygd_mx_lj.xzglxq between
(SELECT CONVERT(varchar(10),DATEADD(m,1,DATEADD(dd,-DAY(GETDATE())+1,GETDATE())),111)
and
(Select CONVERT(varchar(10), eomonth(GETDATE(),3), 111))
and dm_sygd_mx_lj.xzglxq between #{begin} and #{end}
-- dm_sygd_mx_lj.xzglxq between
-- (SELECT CONVERT(varchar(10),DATEADD(m,1,DATEADD(dd,-DAY(GETDATE())+1,GETDATE())),111))
-- and
-- (Select CONVERT(varchar(10), eomonth(GETDATE(),3), 111))
</update>
<select id="getkw" resultType="com.dsic.gj_erp.bean.jhgk.dto.Kwdto">
SELECT
@ -346,7 +299,6 @@
,dm_sygd_mx.ch
,dm_sygd_mx.PL
</select>
<!-- 采购计划到货情况 -->
<select id="cgjhdhqk" resultType="map">
SELECT (MS_DDMXP.CGFLM) AS CGFLM,
@ -470,5 +422,4 @@
and MS_DDJBP.sxrq&lt;=#{jsrq}
</if>
</select>
</mapper>

@ -0,0 +1,72 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.dsic.gj_erp.mapper.jhgk.DmYdjhLjMapper">
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="com.dsic.gj_erp.bean.jhgk.DmYdjhLj">
<id column="id" property="id" />
<result column="czbh" property="czbh" />
<result column="pl" property="pl" />
<result column="fd" property="fd" />
<result column="kw" property="kw" />
<result column="zl" property="zl" />
<result column="tlth" property="tlth" />
<result column="ptblx" property="ptblx" />
<result column="ljbh" property="ljbh" />
<result column="ljmc" property="ljmc" />
<result column="ljgg" property="ljgg" />
<result column="ljcz" property="ljcz" />
<result column="wpfl" property="wpfl" />
<result column="jldw" property="jldw" />
<result column="sl" property="sl" />
<result column="dmjhrq" property="dmjhrq" />
<result column="qfxqrqxz" property="qfxqrqxz" />
<result column="qfxqrqdz" property="qfxqrqdz" />
<result column="gylx" property="gylx" />
<result column="dmfzry" property="dmfzry" />
<result column="dmsbbh" property="dmsbbh" />
<result column="dmcd" property="dmcd" />
<result column="dmry" property="dmry" />
<result column="dmksrq" property="dmksrq" />
<result column="dmjsrq" property="dmjsrq" />
<result column="dm_zt" property="dmZt" />
<result column="dm_bzry" property="dmBzry" />
<result column="dm_bzrq" property="dmBzrq" />
<result column="dm_xfry" property="dmXfry" />
<result column="dm_xfrq" property="dmXfrq" />
<result column="dm_fkry" property="dmFkry" />
<result column="dm_fkrq" property="dmFkrq" />
<result column="dm_fkyy" property="dmFkyy" />
<result column="pkjhrq" property="pkjhrq" />
<result column="pkfzry" property="pkfzry" />
<result column="pksbbh" property="pksbbh" />
<result column="pklx" property="pklx" />
<result column="pkcd" property="pkcd" />
<result column="pkry" property="pkry" />
<result column="pkksrq" property="pkksrq" />
<result column="pkjsrq" property="pkjsrq" />
<result column="pk_zt" property="pkZt" />
<result column="pk_bzry" property="pkBzry" />
<result column="pk_bzrq" property="pkBzrq" />
<result column="pk_xfry" property="pkXfry" />
<result column="pk_xfrq" property="pkXfrq" />
<result column="pk_fkry" property="pkFkry" />
<result column="pk_fkrq" property="pkFkrq" />
<result column="pk_fkyy" property="pkFkyy" />
<result column="qjgjhrq" property="qjgjhrq" />
<result column="qjgfzry" property="qjgfzry" />
<result column="qsbbh" property="qsbbh" />
<result column="qjgry" property="qjgry" />
<result column="qjgksrq" property="qjgksrq" />
<result column="qjgjsrq" property="qjgjsrq" />
<result column="qjg_zt" property="qjgZt" />
<result column="qjg_bzry" property="qjgBzry" />
<result column="qjg_bzrq" property="qjgBzrq" />
<result column="qjg_xfry" property="qjgXfry" />
<result column="qjg_xfrq" property="qjgXfrq" />
<result column="qjg_fkry" property="qjgFkry" />
<result column="qjg_fkrq" property="qjgFkrq" />
<result column="qjg_fkyy" property="qjgFkyy" />
</resultMap>
</mapper>

@ -157,5 +157,244 @@
on dm_sygd_mx.dc_ch=t.DC_CH and dm_sygd_mx.dc_pl=t.DC_PL and dm_sygd_mx.tzbh=t.TZBH
order BY t.xqsj,t.DC_CH,t.DC_PL
</select>
<select id="getTzjh" resultType="com.dsic.gj_erp.bean.pgd.PgdTzjh">
INSERT into pgd_tzjh(
tzzt,
czbh,
pl,
fd,
lqbxfrq,
lqbjsrq,
tltxfrq,
tltjsrq,
qgxqrq,
qfxqrqxz,
qfxqrqdz,
id
)
SELECT
'00' as tzzt,
dm_ydjh.dc_ch as czbh,
dm_ydjh.dc_pl as pl,
dm_ydjh.dc_fd as fd,
dm_czplp_new.xfq_lqb as lqbxfrq,
dm_czplp_new.jsq_lqb as lqbjsrq,
dm_czplp_new.xfq_tlt as tltxfrq,
dm_czplp_new.jsq_tlt as tltjsrq,
dm_ydjh.qgrq as qgxqrq,
dm_ydjh.jssj as qfxqrqxz,
dm_ydjh.gjjs_dz as qfxqrqdz,
REPLACE(CAST(CAST(NEWID()AS BINARY(10)) + CAST(GETDATE() AS BINARY(6)) AS UNIQUEIDENTIFIER),'-','')
as id
from dm_ydjh LEFT JOIN
(SELECT dm_czplp_new.DC_CH,dm_czplp_new.DC_PL,dm_czplp_new.jsq_lqb,dm_czplp_new.jsq_tlt,dm_czplp_new.xfq_lqb,dm_czplp_new.xfq_tlt,dm_czplp_new.jsq_ptb,dm_czplp_new.xfq_ptb
from dm_czplp_new
GROUP BY dm_czplp_new.DC_CH,dm_czplp_new.DC_PL,dm_czplp_new.jsq_lqb,dm_czplp_new.jsq_tlt,dm_czplp_new.xfq_lqb,dm_czplp_new.xfq_tlt,dm_czplp_new.jsq_ptb,dm_czplp_new.xfq_ptb)
dm_czplp_new
on
dm_ydjh.dc_ch=dm_czplp_new.DC_CH and
dm_ydjh.dc_pl=dm_czplp_new.DC_pl
WHERE
dm_ydjh.qgrq BETWEEN #{begin} and #{end}
</select>
<select id="getDhjh" resultType="com.dsic.gj_erp.bean.pgd.PgdDh">
insert into pgd_dh
(id,
czbh,
dhqdh,
wpcz,
slxqrq,
qfxqrqxz,
qfxqrqdz,
hth,
xhth,
dhsl,
hd,
kd,
cd,
xqsl)
SELECT
REPLACE(CAST(CAST(NEWID()AS BINARY(10)) + CAST(GETDATE() AS BINARY(6)) AS UNIQUEIDENTIFIER),'-','') as id,
dm_ydjh.dc_ch as czbh,
dm_czplp_new.dhqd as dhqdh,
dm_ydjh.jssj as qfxqrqxz,
dm_ydjh.gjjs_dz as qfxqrqdz,
dm_ydjh.slrq as slxqrq,
dhxx.ddmc as hth,
dhxx.dc_ch as xhth,
dhxx.DHSL as xqsl,
dhxx.HDSL as dhsl,
dhxx.WPHD as hd,
dhxx.WPCD as cd,
dhxx.WPKD as kd,
dhxx.RKXH as wpcz
from dm_ydjh
LEFT JOIN
(SELECT DC_CH, DC_PL, dhqd
from dm_czplp_new
GROUP BY DC_CH, DC_PL, dhqd) dm_czplp_new
on
dm_ydjh.dc_ch = dm_czplp_new.DC_CH and
dm_ydjh.dc_pl = dm_czplp_new.DC_pl
LEFT JOIN
(select MS_DDJBP.CGFLM,
MS_DDJBP.DDH,
MS_DDJBP.ddmc as ddmc,
MS_DDMXP.dc_ch as dc_ch,
sum(MS_DDMXP.DHSL) as DHSL,
sum(im_crklsz.HDSL) as HDSL,
MS_DDMXP.WPHD as WPHD,
MS_DDMXP.WPCD as WPCD,
MS_DDMXP.WPKD as WPKD,
MS_DDMXP.RKXH as RKXH,
MS_DDJBP.dhqdh as dhqdh
from MS_DDJBP,
MS_DDMXP,
im_crklsz
where MS_DDJBP.ddmc = im_crklsz.dc_fd
and MS_DDMXP.dc_ch = im_crklsz.GCDDH
and RTRIM(MS_DDJBP.CGFLM) = MS_DDMXP.cgflm
and RTRIM(MS_DDJBP.DDH) = MS_DDMXP.DDH
and (MS_DDJBP.DDLX) = 'B'
and im_crklsz.CKH = '01'
and im_crklsz.CRKBS = 'RK'
and im_crklsz.HDLX <![CDATA[ <> ]]> '99'
GROUP BY MS_DDJBP.CGFLM, MS_DDJBP.DDH, MS_DDJBP.ddmc, MS_DDMXP.dc_ch, MS_DDMXP.WPHD, MS_DDMXP.WPCD,
MS_DDMXP.WPKD, MS_DDMXP.RKXH, MS_DDJBP.dhqdh) dhxx
on dhxx.dhqdh = dm_czplp_new.dhqd
where dm_ydjh.slrq BETWEEN #{begin} and #{end}
ORDER BY dm_ydjh.dc_ch,
dm_ydjh.dc_pl
</select>
<select id="getSljh" resultType="com.dsic.gj_erp.bean.pgd.PgdSljh">
insert into pgd_sljh
(
id,
czbh,
pl,
fd,
zl,
lqlb,
kw,
tlth,
wpgg,
wpcz,
wpzl,
hth,
xhth,
lph,
kwh,
cs,
sljhrq
)
SELECT
REPLACE(CAST(CAST(NEWID()AS BINARY(10)) + CAST(GETDATE() AS BINARY(6)) AS UNIQUEIDENTIFIER),'-','')as id,
dm_ydjh.dc_ch as czbh,
dm_ydjh.dc_pl as pl,
dm_ydjh.dc_fd as fd,
dm_ydjh.zl as zl,
dm_ydjh.LQLB as lqlb,
dm_ydjh.kw as kw,
dm_ydjh.tzbh as tlth,
dm_ydjh.wpgg as wpgg,
dm_ydjh.wpxh as wpcz,
dm_ydjh.bclqzl as wpzl,
dm_ydjh.slrq as sljhrq,
(IM_CKWPKWP.KWH) AS kwh ,
IM_CKWPKWP.GCDDH as xhth,
(IM_CKWPKWP.LPH) AS lph,
(IM_CKWPKWP.CFCS1) AS cs,
(IM_CKWPKWP.dc_fd) AS hth
from dm_ydjh LEFT JOIN IM_CKWPKWP on
dm_ydjh.dc_ch=IM_CKWPKWP.DC_CH and
dm_ydjh.dc_pl=IM_CKWPKWP.DC_pl and
dm_ydjh.tzbh=IM_CKWPKWP.DC_th
WHERE dm_ydjh.slrq BETWEEN #{begin} and #{end}
</select>
<select id="getPwjh" resultType="com.dsic.gj_erp.bean.pgd.PgdPwjh">
insert into pgd_pwjh
(
id,
czbh,
pl,
fd,
zl,
lqlb,
kw,
tlth,
wpgg,
wpcz,
wpzl,
pwwz,
pwjhrq,
qfxqrqxz,
qfxqrqdz
)
SELECT
REPLACE(CAST(CAST(NEWID()AS BINARY(10)) + CAST(GETDATE() AS BINARY(6)) AS UNIQUEIDENTIFIER),'-','')as id,
dm_ydjh.dc_ch as czbh,
dm_ydjh.dc_pl as pl,
dm_ydjh.DC_FD as fd,
dm_ydjh.zl as zl,
dm_ydjh.LQLB as lqlb,
dm_ydjh.kw as kw,
dm_ydjh.tzbh as tlth,
dm_ydjh.wpgg as wpgg,
dm_ydjh.wpxh as wpcz,
dm_ydjh.bclqzl as wpzl,
dm_ydjh.pw as pwwz,
dm_ydjh.pwrq as pwjhrq,
dm_ydjh.jssj as qfxqrqxz,
dm_ydjh.gjjs_dz as qfxqrqdz
from dm_ydjh
WHERE dm_ydjh.pwrq BETWEEN #{begin} and #{end}
</select>
<select id="getQgjh" resultType="com.dsic.gj_erp.bean.pgd.PgdQgjh">
insert into pgd_qgjh
(
id,
czbh,
pl,
fd,
zl,
lqlb,
kw,
tlth,
wpgg,
wpcz,
wpzl,
qgjhrq,
qfxqrqxz,
qfxqrqdz,
pwjhwgrq,
hxcd,
qgcd,
hxkccd,
qgkccd
)
SELECT
REPLACE(CAST(CAST(NEWID()AS BINARY(10)) + CAST(GETDATE() AS BINARY(6)) AS UNIQUEIDENTIFIER),'-','')as id,
dm_ydjh.dc_ch as czbh,
dm_ydjh.dc_pl as pl,
dm_ydjh.DC_FD as fd,
dm_ydjh.zl as zl,
dm_ydjh.LQLB as lqlb,
dm_ydjh.kw as kw,
dm_ydjh.tzbh as tlth,
dm_ydjh.wpgg as wpgg,
dm_ydjh.wpxh as wpcz,
dm_ydjh.bclqzl as wpzl,
dm_ydjh.qgrq as qgjhrq,
dm_ydjh.pwrq as pwjhwgrq,
dm_ydjh.jssj as qfxqrqxz,
dm_ydjh.gjjs_dz as qfxqrqdz,
hxcd,
qgcd,
hxkc_cd as hxkccd,
qgkc_cd as qgkccd
from dm_ydjh
where dm_ydjh.qgrq BETWEEN #{begin} and #{end}
</select>
</mapper>

Loading…
Cancel
Save