xiaoning 1 year ago
parent 78aa65e8be
commit 2099a13257

@ -58,4 +58,6 @@ public class EmGcrl implements Serializable {
@ApiModelProperty(value = "工作日历(一年中的第几天)")
private String gzlr;
@ApiModelProperty(value = "最近的工作日")
private String gzr;
}

@ -32,7 +32,8 @@ public class EmSbcnp implements Serializable {
@ApiModelProperty(value = "设备编号")
// @Id
@TableId(value = "SBBH", type = IdType.ASSIGN_UUID)
@TableId(value = "id", type = IdType.ASSIGN_UUID)
private String id;
private String sbbh;
@ApiModelProperty(value = "设备名称")

@ -17,7 +17,7 @@ import java.math.BigDecimal;
* </p>
*
* @author xn
* @since 2023-10-09
* @since 2023-11-21
*/
@Data
@EqualsAndHashCode(callSuper = false)
@ -58,13 +58,13 @@ public class DmSygdMx implements Serializable {
private String qbs;
@ApiModelProperty(value = "坡口类型")
private String pklx;
private Double pklx;
@ApiModelProperty(value = "坡口长度")
private Double pkcd=1.0;
private Double pkcd;
@ApiModelProperty(value = "零件数量")
private BigDecimal ljsl;
private Double ljsl;
@ApiModelProperty(value = "组立")
private String zl;
@ -73,7 +73,7 @@ public class DmSygdMx implements Serializable {
private String lx;
@ApiModelProperty(value = "型材米数")
private BigDecimal xcms;
private Double xcms;
@ApiModelProperty(value = "跨位")
private String kw;
@ -111,57 +111,13 @@ public class DmSygdMx implements Serializable {
@ApiModelProperty(value = "切割日期")
private String qgrq;
@ApiModelProperty(value = "打磨长度")
private Double dmcd;
@ApiModelProperty(value = "打磨设备")
private String dmsb;
@ApiModelProperty(value = "打磨人员")
private String dmry;
@ApiModelProperty(value = "打磨日期")
private String dmrq;
@ApiModelProperty(value = "坡口设备")
private String pksb;
@ApiModelProperty(value = "坡口人员")
private String pkry;
@ApiModelProperty(value = "坡口日期")
private String pkrq;
@ApiModelProperty(value = "抛丸设备")
private String pwsb;
@ApiModelProperty(value = "分段号")
@TableField("DC_FD")
private String dcFd;
@ApiModelProperty(value = "钢加大组结束")
private String gjjsDz;
@ApiModelProperty(value = "钢加小组结束")
private String gjjsXz;
@ApiModelProperty(value = "套料图接收")
private String jsqTlt;
@ApiModelProperty(value = "领取表接收")
private String jsqLqb;
@ApiModelProperty(value = "订货清单号")
private String dhqd;
@ApiModelProperty(value = "订货数量")
private Double orderBs;
@ApiModelProperty(value = "到货数量")
private Double arrivalBs;
@ApiModelProperty(value = "区域")
private String qy;
@ApiModelProperty(value = "矫正标识")
private String jzbs;
@ -171,15 +127,6 @@ public class DmSygdMx implements Serializable {
@ApiModelProperty(value = "矫正人员")
private String jzry;
@ApiModelProperty(value = "曲加工设备")
private String qjgsb;
@ApiModelProperty(value = "曲加工人员")
private String qjgry;
@ApiModelProperty(value = "曲加工日期")
private String qjgrq;
@ApiModelProperty(value = "本船号")
@TableField("dcCh2")
private String dcCh2;
@ -189,39 +136,54 @@ public class DmSygdMx implements Serializable {
@ApiModelProperty(value = "时间更新时间")
private String gxsj;
@ApiModelProperty(value = "划线空程禅道")
private Double hxkcCd;
@ApiModelProperty(value = "切割空程长度")
private Double qgkcCd;
@ApiModelProperty(value = "结束时间")
private String jssj;
@ApiModelProperty(value = "矫正日期")
private String jzrq;
@ApiModelProperty(value = "划线空程长度")
private String hxcdKc;
@ApiModelProperty(value = "切割空程长度")
private String qgcdKc;
@ApiModelProperty(value = "状态0编辑 1提交 2下发 3完成 4拖期")
private String zt="0";
@ApiModelProperty(value = "状态0编辑 1提交 2下发 3完成 4拖期")
private String zt;
@ApiModelProperty(value = "根数")
private Double xcgs;
@ApiModelProperty(value = "板材领取重量")
private BigDecimal bclqzl;
private Double bclqzl;
@ApiModelProperty(value = "板材实耗重量")
private Double bcshzl;
@ApiModelProperty(value = "板材余料重量")
private BigDecimal bcylzl;
private Double bcylzl;
@ApiModelProperty(value = "板材零件套料重量")
private BigDecimal bcljtlzl;
private Double bcljtlzl;
@ApiModelProperty(value = "前批余料代")
private Double bcqpyld;
private String parentId;
private String ylbhgg;
@TableId(value = "id", type = IdType.ASSIGN_UUID)
private String id;
private BigDecimal blgs;//备料总工时
private BigDecimal pwgs;//抛丸总工时
private BigDecimal llgs;//理料总工时
private BigDecimal hxgs;//划线总工时
private BigDecimal qggs;//切割总工时
private BigDecimal pkgs;//坡口总工时
private BigDecimal dmgs;//打磨总工时
private BigDecimal qgs;//曲加工总工时
private BigDecimal zpgs;//装配总工时
@TableField(exist = false)
private String beginTime;
@TableField(exist = false)

@ -0,0 +1,259 @@
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;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
/**
* <p>
*
* </p>
*
* @author xn
* @since 2023-11-20
*/
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="DmSygdMxLj对象", description="")
public class DmSygdMxLj implements Serializable {
private static final long serialVersionUID=1L;
@ApiModelProperty(value = "船号")
private String dcch;
@ApiModelProperty(value = "目标船号")
private String mbch;
@ApiModelProperty(value = "数据船号")
private String sjch;
@ApiModelProperty(value = "批量")
private String pl;
@ApiModelProperty(value = "分段")
private String fd;
@ApiModelProperty(value = "需求地点")
private String xqdd;
@ApiModelProperty(value = "抛丸")
private String pw;
@ApiModelProperty(value = "领取类别")
private String lqlb;
@ApiModelProperty(value = "跨位")
private String kw;
@ApiModelProperty(value = "设备编号")
private String sbbh;
@ApiModelProperty(value = "设备类型")
private String sclx;
@ApiModelProperty(value = "组立")
private String zl;
@ApiModelProperty(value = "物品材质")
private String wpcz;
@ApiModelProperty(value = "物品规格")
private String wpgg;
@ApiModelProperty(value = "板厚")
private Double bh;
@ApiModelProperty(value = "版长")
private Double bc;
@ApiModelProperty(value = "油漆油漆用量")
private Double yqyl;
@ApiModelProperty(value = "切割长度")
private Double qgcd;
@ApiModelProperty(value = "图纸编号")
private String tzbh;
@ApiModelProperty(value = "套料数量")
private Double tlsl;
@ApiModelProperty(value = "坡口类型")
private String pklx;
@ApiModelProperty(value = "曲标识")
private String qbs;
@ApiModelProperty(value = "坡口長度")
private String pkbs;
@ApiModelProperty(value = "坡口标识")
private Double pkcd;
@ApiModelProperty(value = "打磨标识")
private String dmbs;
@ApiModelProperty(value = "打磨长度")
private Double dmcd;
@ApiModelProperty(value = "装配顺序")
private Integer zpsx;
@ApiModelProperty(value = "零件编号")
private String ljbh;
@ApiModelProperty(value = "零件数量")
private Double ljsl;
@ApiModelProperty(value = "零件属性")
private String ljsx;
@ApiModelProperty(value = "单件面积")
private Double djmj;
@ApiModelProperty(value = "零件单重")
private Double ljdz;
@ApiModelProperty(value = "备料")
private Double blgs;
@ApiModelProperty(value = "抛丸")
private Double pwgs;
@ApiModelProperty(value = "理料")
private Double llgs;
@ApiModelProperty(value = "划线")
private Double hxgs;
@ApiModelProperty(value = "切割")
private Double qggs;
@ApiModelProperty(value = "坡口")
private Double pkgs;
@ApiModelProperty(value = "曲")
private Double qgs;
@ApiModelProperty(value = "打磨")
private Double dmgs;
@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;
@ApiModelProperty(value = "根数")
private Double xcgs;
@ApiModelProperty(value = "米数")
private Double xcshms;
@ApiModelProperty(value = "板材领取重量")
private Double bclqzl;
@ApiModelProperty(value = "板材实耗重量")
private Double bcshzl;
@ApiModelProperty(value = "板材余料重量")
private Double bcylzl;
@ApiModelProperty(value = "板材零件套料重量")
private Double bcljtlzl;
@ApiModelProperty(value = "前批余料代")
private Double bcqpyld;
@ApiModelProperty(value = "小组钢料需求期")
private String xzglxq;
@ApiModelProperty(value = "大组钢料需求期")
private String dzglxq;
@ApiModelProperty(value = "计划加工开始时间")
private String kssj;
@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;
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;
}

@ -202,12 +202,6 @@ public class DmYdjh implements Serializable {
@ApiModelProperty(value = "矫正日期")
private String jzrq;
@ApiModelProperty(value = "划线空程长度")
private Double hxcdKc;
@ApiModelProperty(value = "切割空程长度")
private Double qgcdKc;
@ApiModelProperty(value = "状态0编辑 1提交 2下发 3完成 4拖期")
private String zt;

@ -9,11 +9,26 @@ import java.util.List;
@Data
public class Kwdto {
private String rq;
private String kw;
private int tlt_sl;
private BigDecimal hx_cd;
private BigDecimal qg_cd;
private String id;
private String yf;//月份
private String kw;//跨位
private String ch;//船号
private String pl;//批量
private String fd;//分段
private BigDecimal bs;//板数
private String dhqd;//订货清单号
private BigDecimal lhsl;//来货数量
private BigDecimal dhsl;//订货数量
private BigDecimal blgs;//备料总工时
private BigDecimal pwgs;//抛丸总工时
private BigDecimal llgs;//理料总工时
private BigDecimal hxgs;//划线总工时
private BigDecimal qggs;//切割总工时
private BigDecimal pkgs;//坡口总工时
private BigDecimal dmgs;//打磨总工时
private BigDecimal qjggs;//曲加工总工时
private BigDecimal zpgs;//装配总工时
private List<DmSygdMx> mxList;
}

@ -9,9 +9,9 @@ import java.util.List;
@Data
public class Pldto extends DmCzplpNew {
private String jsq_dz_pc;
private String jsq_xz_pc;
private String gjks_pc;
private String dzglxq;
private String xzglxq;
private Integer xzcz;
private Integer dzcz;
private List<DmSygdMx> mxList;
}

@ -10,8 +10,8 @@ import java.util.List;
@Data
public class Xbjhdto extends DmXbjh {
private Double plb_zl;//批量表重量
private Double zrc_zl;//中日程重量
private Double xczl;//相差重量
private Double zrc_zl;//实耗重量
private Double tlt_zl;//套料图重量
private List<DmSygdMx> mxList;

@ -22,7 +22,7 @@ import java.util.List;
/**
* <p>
*
*
* </p>
*
* @author xn
@ -36,73 +36,78 @@ public class DmQfxqController {
DmQfxqService service;
@Autowired
DmCbxxpService cbxxpService;
//查询
@RequestMapping("/getList")
@AuthFunction
public ResultBean getList(@RequestBody DmQfxq qfxq){
List<DmQfxq> list=service.list(new QueryWrapper<DmQfxq>()
.eq(StrUtil.isNotEmpty(qfxq.getDb()),"substring(db,0,8) ",qfxq.getDb())
.eq(StrUtil.isNotEmpty(qfxq.getZt()),"zt",qfxq.getZt())
.orderByAsc("DC_CH,cast(dc_pl as int),DC_FD"));
public ResultBean getList(@RequestBody DmQfxq qfxq) {
List<DmQfxq> list = service.list(new QueryWrapper<DmQfxq>()
.eq(StrUtil.isNotEmpty(qfxq.getDb()), "substring(db,0,8) ", qfxq.getDb())
.eq(StrUtil.isNotEmpty(qfxq.getZt()), "zt", qfxq.getZt())
.orderByAsc("DC_CH,cast(dc_pl as int),DC_FD"));
return new ResultBean(list);
}
@RequestMapping("/getCzxx")
@AuthFunction
public ResultBean getCzxx(){
List<DmCbxxp> list= cbxxpService.list(new QueryWrapper<DmCbxxp>()
.select("cbbm","cbmc")
.eq("wgbs","N")
.orderBy(true, true, "cbbm"));
public ResultBean getCzxx() {
List<DmCbxxp> list = cbxxpService.list(new QueryWrapper<DmCbxxp>()
.select("cbbm", "cbmc")
.eq("wgbs", "N")
.orderBy(true, true, "cbbm"));
return new ResultBean(list);
}
//导入
@PostMapping("/upload")
@AuthFunction
@ResponseBody
public ResultBean uploadQf(@RequestParam("file") MultipartFile file , String czbh, HttpServletRequest req) throws Exception, CustomException {
public ResultBean uploadQf(@RequestParam("file") MultipartFile file, String czbh, HttpServletRequest req) throws Exception, CustomException {
ExcelQFListener objectListener = new ExcelQFListener();
EasyExcel.read(file.getInputStream(), QfExcel.class, objectListener).sheet(0).headRowNumber(1).doRead();
List<QfExcel> objList = objectListener.getObjectList();
return service.uploadQf(objList,czbh,req);
return service.uploadQf(objList, czbh, req);
}
//保存
@RequestMapping("/save")
@AuthFunction
public ResultBean save(@RequestBody List<DmQfxq> qfxqs){
public ResultBean save(@RequestBody List<DmQfxq> qfxqs) {
service.saveBatch(qfxqs);
return new ResultBean();
}
//删除
@RequestMapping("/remove")
@AuthFunction
public ResultBean remove(@RequestBody List<DmQfxq> qfxqs){
public ResultBean remove(@RequestBody List<DmQfxq> qfxqs) {
service.removeByIds(qfxqs);
return new ResultBean();
}
//提交/退回
@RequestMapping("/qfxqTJ")
@AuthFunction
public ResultBean qfxqTJ(@RequestBody List<DmQfxq> qfxqs){
qfxqs.forEach(q->{
public ResultBean qfxqTJ(@RequestBody List<DmQfxq> qfxqs) {
qfxqs.forEach(q -> {
if (q.getZt().equals("0")) {
q.setZt("1");
return;
q.setZt("1");
return;
}
if (q.getZt().equals("1")){
if (q.getZt().equals("1")) {
q.setZt("0");
}
});
service.updateBatchById(qfxqs);
return new ResultBean();
}
//审核
@RequestMapping("/qfxqSH")
@AuthFunction
public ResultBean qfxqSH(@RequestBody List<DmQfxq> qfxqs){
qfxqs.forEach(q->{
public ResultBean qfxqSH(@RequestBody List<DmQfxq> qfxqs) {
qfxqs.forEach(q -> {
if (q.getZt().equals("1")) {
q.setZt("2");
}

@ -20,10 +20,7 @@ import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.*;
import java.util.stream.Collectors;
/**
@ -59,19 +56,27 @@ public class DmSygdMxController {
@RequestMapping("/saveByDcch")
@AuthFunction
public ResultBean saveByDcch(@RequestBody HashMap<String, List<Object>> map ){
return new ResultBean(service.saveByDcch(map));
return null;
}
@RequestMapping("/symxhz")
@AuthFunction
public ResultBean symxhz(@RequestBody List<DmSygdMx> list){
Map<String,Object> map=new HashMap<>();
//1.根据上料时间 从近到远排序
list = list.stream()
.filter(mx -> Objects.nonNull(mx.getJssj()))
.sorted(Comparator.comparing(DmSygdMx::getJssj, Comparator.nullsLast(Comparator.naturalOrder()))).collect(Collectors.toList());
//2.时间范围内线表计划数据
String year = list.get(0).getJssj().substring(0, 4);
String begin = list.get(0).getJssj().substring(5, 7);
String end = list.get(list.size() - 1).getJssj().substring(5, 7);
map.put("xbList",service.getXBList(list));
map.put("plList",service.getPl(list));
map.put("tzList",service.getTZList(list));
map.put("dhList",service.getDhList(list));
map.put("kwList",service.getKwList(list));
map.put("xbList",service.getXBList(list,year,begin,end));
map.put("plList",service.getPl(list.get(0).getJssj(),list.get(list.size() - 1).getJssj()));
map.put("kwList",service.getKwList(list,list.get(0).getJssj(),list.get(list.size() - 1).getJssj()));
// map.put("tzList",service.getTZList(list));
// map.put("dhList",service.getDhList(list));
return new ResultBean(map);
}
@RequestMapping("/getCnsb")

@ -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-11-20
*/
@RestController
@RequestMapping("/dmSygdMxLj")
public class DmSygdMxLjController {
}

@ -97,8 +97,6 @@ public class DmSygdxqController {
service.saveXzList(list,username,day);
service.saveDzList(list1,username,day);
return new ResultBean();
}
@ -106,19 +104,19 @@ public class DmSygdxqController {
// 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"));
// System.out.println(DateUtil.format(DateUtil.nextMonth(),"yyyy/MM"));
// String[] a={"船只", "批量号", "总段号", "分段号", "大组极重", "总装部最新分段需求期", "钢料需求", "X大板", "X数控件", "X平铁", "X压弯", "X型材", "X二次装T型材"};
// String[] b={"船只", "批量号", "总段号", "分段号", "大组极重", "钢料需求", "D大板", "D曲板", "D型材T", "D散件"};
// String[] b={"月份","跨位","船号","批量","分段","板数","订货清单号","到货数量","订货数量","备料总工时","抛丸总工时","理料总工时","划线总工时","切割总工时","坡口总工时","打磨总工时","曲加工总工时"};
// String[] a1={"dcCh","dcPl", "zdh","dcFd","dzjz","zxfdxq", "glxq", "xdb", "xskj,",
// "xpt,", "xyw", "xxc", "xtxc", };
// String[] b1={"dcCh","dcPl","zdh","dcFd","dzjz","glxq", "dqb", "dxc", "dsj", "ddb"};
// 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));
}
}

@ -46,8 +46,8 @@ public class DmYdjhController {
@RequestMapping("/tjydjh")
@AuthFunction
public ResultBean tjydjh(){
service.tjydjh();
return new ResultBean();
return new ResultBean(service.tjydjh());
}
}

@ -17,6 +17,6 @@ public interface EmSbjbbRepository extends JpaRepository<EmSbjbb,String> {
@Query(nativeQuery = true,value = "SELECT bm,bmsm,bmjb FROM dm_fjbmgl")
List<Map> sblx();
@Query(nativeQuery = true,value = "SELECT szcs,sbbh,sbmc FROM EM_SBJBB")
@Query(nativeQuery = true,value = "SELECT szcs,sbbh,sbmc FROM EM_SBJBB where sbzt not in('04','05') or sbzt is null")
List<Map> BMMCBM();
}

@ -35,6 +35,6 @@ public interface Dm_zhbmpRepository extends JpaRepository<Dm_zhbmp,Dm_zhbmp.Prim
@Query(nativeQuery = true,value = "SELECT bm,bmsm FROM DM_ZHBMP WHERE bmlb='bmbm' AND bm like 'FP%'")
List<Map> findbmbm();
@Query(nativeQuery = true,value = "SELECT bm,bmsm FROM DM_ZHBMP WHERE bmlb='qgkw' and CAST(bm as int)>4")
@Query(nativeQuery = true,value = "SELECT bm,bmsm FROM DM_ZHBMP WHERE bmlb='qgkw' and CAST(bm as int)>4 order by bmsm")
List<Map> findqgkw();
}

@ -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.DmSygdMxLj;
/**
* <p>
* Mapper
* </p>
*
* @author xn
* @since 2023-11-20
*/
public interface DmSygdMxLjMapper extends BaseMapper<DmSygdMxLj> {
}

@ -3,7 +3,11 @@ 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.DmSygdMxLj;
import com.dsic.gj_erp.bean.jhgk.dto.Dhdto;
import com.dsic.gj_erp.bean.jhgk.dto.Kwdto;
import com.dsic.gj_erp.bean.jhgk.dto.Pldto;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@ -18,4 +22,10 @@ import java.util.List;
public interface DmSygdMxMapper extends BaseMapper<DmSygdMx> {
Dhdto getDhsl(Dhdto dhdto);
List<DmSygdMxLj> getLjxx();
List<DmSygdMx> getMx();
int setParent();
List<Kwdto> getkw(@Param("begin") String begin, @Param("end") String end);
List<Pldto> getPl(@Param("begin") String begin,@Param("end") String end);
}

@ -2,8 +2,11 @@ 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 java.util.List;
/**
* <p>
* Mapper
@ -14,4 +17,5 @@ import com.dsic.gj_erp.bean.jhgk.DmYdjh;
*/
public interface DmYdjhMapper extends BaseMapper<DmYdjh> {
List<DmSygdMx> getSygdmx(String nextMonth);
}

@ -42,7 +42,7 @@ public class EmGcrlServiceImpl extends ServiceImpl<EmGcrlMapper, EmGcrl> impleme
EmGcrlRepository emGcrlRepository;
String[] weekArray = { "一", "二", "三", "四", "五", "六","日"};
String[] weekArray = { "星期一", "星期二", "星期三", "星期四", "星期五", "星期六","星期日"};
@Override
public List<EmGcrl> getList(JSONObject json) {
@ -52,8 +52,9 @@ public class EmGcrlServiceImpl extends ServiceImpl<EmGcrlMapper, EmGcrl> impleme
}else{
queryWrapper.eq("NF", Calendar.getInstance().get(Calendar.YEAR));
}
queryWrapper.orderByDesc("gl");
queryWrapper.orderByAsc("gl");
List<EmGcrl> emGcrls=emGcrlMapper.selectList(queryWrapper);
return emGcrls;
}
@ -74,25 +75,37 @@ public class EmGcrlServiceImpl extends ServiceImpl<EmGcrlMapper, EmGcrl> impleme
LocalDate endDate = LocalDate.of(intNF, 12, 31); // 结束日期2022年12月31日
List<EmGcrl> saveList=new ArrayList<>();
LocalDate currentDate = startDate;
String gzr="";
while (currentDate.isBefore(endDate) || currentDate.isEqual(endDate)) {
EmGcrl emGcrl=new EmGcrl();
emGcrl.setNf(nf);
String gl = currentDate.format(DateTimeFormatter.ofPattern("yyyy/MM/dd"));
emGcrl.setGl(gl);
WeekFields weekFields = WeekFields.of(Locale.getDefault());
// WeekFields weekFields = WeekFields.of(Locale.getDefault());
WeekFields weekFields = WeekFields.of(DayOfWeek.MONDAY, 4);
Integer weekOfYear = currentDate.get(weekFields.weekOfYear());
emGcrl.setNz(weekOfYear.toString());
Integer weekOfMonth = currentDate.get(weekFields.weekOfMonth());
emGcrl.setYz(weekOfMonth.toString());
// Integer weekOfMonth = currentDate.get(weekFields.weekOfMonth());
// emGcrl.setYz(weekOfMonth.toString());
DayOfWeek dayOfWeek = currentDate.getDayOfWeek();
Integer dayOfYear= currentDate.getDayOfYear();
emGcrl.setGzlr(dayOfYear.toString());
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();
}
emGcrl.setGzr(gzr);
emGcrl.setXxr("0");
}else {
gzr=emGcrl.getGl();
emGcrl.setGzr(gzr);
emGcrl.setXxr("1");
}
saveList.add(emGcrl);

@ -42,7 +42,7 @@ public class EmSbcnpServiceImpl extends ServiceImpl<EmSbcnpMapper, EmSbcnp> impl
// if(StringUtils.isNotEmpty(json.getString("sbmc"))){
// queryWrapper.eq("SBMC",json.getString("sbmc"));
// }
List<EmSbcnp> emSbjbbs=emSbcnpMapper.selectList(queryWrapper);
List<EmSbcnp> emSbjbbs=emSbcnpMapper.selectList(queryWrapper.orderByAsc("kw,gx"));
return emSbjbbs;
}

@ -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.DmSygdMxLj;
/**
* <p>
*
* </p>
*
* @author xn
* @since 2023-11-20
*/
public interface DmSygdMxLjService extends IService<DmSygdMxLj> {
}

@ -19,10 +19,10 @@ import java.util.Map;
*/
public interface DmSygdMxService extends IService<DmSygdMx> {
Map sygdPC();
List<DmSygdMx> saveByDcch(HashMap<String, List<Object>> map);
List<Kwdto> getKwList(List<DmSygdMx> list);
List<Xbjhdto> getXBList(List<DmSygdMx> list);
List<Pldto> getPl(List<DmSygdMx> list);
// 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);
List<Pldto> getPl(String begin,String end);
List<Tzjhdto> getTZList(List<DmSygdMx> list);
List<Dhdto> getDhList(List<DmSygdMx> list);
ResultBean tqSygd();

@ -2,8 +2,11 @@ package com.dsic.gj_erp.service.jhgk;
import com.baomidou.mybatisplus.extension.service.IService;
import com.dsic.gj_erp.bean.jhgk.DmSygdMx;
import com.dsic.gj_erp.bean.jhgk.DmYdjh;
import java.util.List;
/**
* <p>
*
@ -15,5 +18,5 @@ import com.dsic.gj_erp.bean.jhgk.DmYdjh;
public interface DmYdjhService extends IService<DmYdjh> {
void tjydjh();
List<DmSygdMx> tjydjh();
}

@ -24,7 +24,7 @@ import java.util.stream.Collectors;
/**
* <p>
*
*
* </p>
*
* @author xn
@ -37,27 +37,31 @@ public class DmQfxqServiceImpl extends ServiceImpl<DmQfxqMapper, DmQfxq> impleme
@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) {
// this.remove(new QueryWrapper<DmQfxq>()
// .eq("DC_CH",q.getDcCh())
// .eq("DC_PL",q.getDcPl())
// .eq("DC_FD",q.getDcFd()));
DmQfxq a=new DmQfxq();
BeanUtil.copyProperties(q,a);
a.setBzry((String) req.getAttribute("yhms"));
a.setBzrq(DateUtil.format(DateUtil.date(), "yyyy/MM/dd"));
listForSave.add(a);
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));
}
this.saveBatch(listForSave);
}
for (QfExcel q : list) {
DmQfxq a = new DmQfxq();
BeanUtil.copyProperties(q, a);
String pl = a.getDcPl().length() == 1 ? "00" + a.getDcPl() : a.getDcPl().length() == 2 ? "0" + a.getDcPl() : a.getDcPl();
a.setDcPl(pl);
a.setBzry((String) req.getAttribute("yhms"));
a.setBzrq(DateUtil.format(DateUtil.date(), "yyyy/MM/dd"));
listForSave.add(a);
}
this.saveBatch(listForSave);
//生成月度计划信息
generateYdjh();
return new ResultBean();
}
public void generateYdjh() {
//零件
}
}

@ -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.DmSygdMxLj;
import com.dsic.gj_erp.mapper.jhgk.DmSygdMxLjMapper;
import com.dsic.gj_erp.service.jhgk.DmSygdMxLjService;
import org.springframework.stereotype.Service;
/**
* <p>
*
* </p>
*
* @author xn
* @since 2023-11-20
*/
@Service
public class DmSygdMxLjServiceImpl extends ServiceImpl<DmSygdMxLjMapper, DmSygdMxLj> implements DmSygdMxLjService {
}

@ -28,6 +28,7 @@ public class DmSygdxqServiceImpl extends ServiceImpl<DmSygdxqMapper, DmSygdxq> i
@Transactional
public void saveXzList(List<DmSygdxq> list,String username,String day){
list.forEach(l->{
l.setDcPl(l.getDcPl().length() == 1 ? "00" + l.getDcPl() : l.getDcPl().length() == 2 ? "0" + l.getDcPl() : l.getDcPl());
DmSygdxq sygdxq=this.getOne(new QueryWrapper<DmSygdxq>()
.eq("dc_ch",l.getDcCh())
.eq("dc_pl",l.getDcPl())
@ -76,6 +77,7 @@ public class DmSygdxqServiceImpl extends ServiceImpl<DmSygdxqMapper, DmSygdxq> i
@Transactional
public void saveDzList(List<DmSygdxq> list,String username,String day){
list.forEach(l->{
l.setDcPl(l.getDcPl().length() == 1 ? "00" + l.getDcPl() : l.getDcPl().length() == 2 ? "0" + l.getDcPl() : l.getDcPl());
DmSygdxq sygdxq=this.getOne(new QueryWrapper<DmSygdxq>()
.eq("dc_ch",l.getDcCh())
.eq("dc_pl",l.getDcPl())
@ -104,5 +106,11 @@ public class DmSygdxqServiceImpl extends ServiceImpl<DmSygdxqMapper, DmSygdxq> i
}
});
}
//零件信息
public void generateLjxx(List<DmSygdxq> list){
//根据:本次导入的三月需求期 提取BOM 生成三月需求零件信息
}
}

@ -1,24 +1,27 @@
package com.dsic.gj_erp.service.jhgk.impl;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
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.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 org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.*;
import java.util.stream.Collectors;
/**
* <p>
*
*
* </p>
*
* @author xn
@ -27,16 +30,72 @@ import java.util.List;
@Service
public class DmYdjhServiceImpl extends ServiceImpl<DmYdjhMapper, DmYdjh> implements DmYdjhService {
@Autowired
private DmQfxqService qfxqService;
@Autowired
private DmSygdMxService sygdMxService;
@Override
public void tjydjh(){
//根据 前方需求 三月滚动 排产
//查看前方需求是否已导入
List<DmQfxq> qfxqList= qfxqService.list(new QueryWrapper<DmQfxq>().eq("substring(db,0,8) ", DateUtil.format(DateUtil.nextMonth(),"yyyy/MM")));
@Autowired
private DmBomService bomService;
@Autowired
private EmGcrlService gcrlService;
@Override
public List<DmSygdMx> tjydjh() {
//根据 前方需求 三月滚动 排产
//1.查看下月的前方需求是否已导入
//2.根据前方需求的 船号、批量,查找三月滚动明细(板)
//3.根据前方需求期,重新为三月滚动明细排产(板),排产后的数据添加到月度计划,并且反写数据到三月滚动明细
// List<DmQfxq> qfxqList= qfxqService.list(new QueryWrapper<DmQfxq>().eq("substring(db,0,8) ", DateUtil.format(DateUtil.nextMonth(),"yyyy/MM")));
int i = qfxqService.count(new QueryWrapper<DmQfxq>()
.eq("substring(db,0,8) ", "2023/08"));
if (i < 1) {
System.out.println("下月的前方需求信息未导入!");
return null;
}
List<DmSygdMx> sygdmx = baseMapper.getSygdmx("2023/08");
if (sygdmx.size() < 1) {
System.out.println("请导入零件配套表信息!");
}
//TODO 重新排产
// pc(sygdMxList);
return sygdmx;
sygdMxService.list(new QueryWrapper<DmSygdMx>().eq("",""));
}
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张");
}
//零件加工:坡口 曲面 打磨
//切割
//划线
//上料
}
//3.排产
}
}

@ -29,7 +29,7 @@ import java.util.Map;
/**
* <p>
*
*
* </p>
*
* @author xn
@ -44,79 +44,79 @@ public class DmZrcjhServiceImpl extends ServiceImpl<DmZrcjhMapper, DmZrcjh> impl
@Override
public List<DmZrcjh> getList(JSONObject json) {
QueryWrapper<DmZrcjh> queryWrapper=new QueryWrapper<>();
QueryWrapper<DmZrcjh> queryWrapper = new QueryWrapper<>();
// if(StringUtils.isNotEmpty(json.getString("dcCh"))){
// queryWrapper.eq("DC_CH",json.getString("dcCh"));
// }
if(StringUtils.isNotEmpty(json.getString("gjks"))){
String time=json.getString("gjks");
String startTime=time.split("~")[0];
String endTime=time.split("~")[1];
queryWrapper.between("gjks",startTime,endTime);
if (StringUtils.isNotEmpty(json.getString("gjks"))) {
String time = json.getString("gjks");
String startTime = time.split("~")[0];
String endTime = time.split("~")[1];
queryWrapper.between("gjks", startTime, endTime);
}
if(StringUtils.isNotEmpty(json.getString("Zt"))){
queryWrapper.eq("zt",json.getString("Zt"));
if (StringUtils.isNotEmpty(json.getString("Zt"))) {
queryWrapper.eq("zt", json.getString("Zt"));
}
queryWrapper.orderByAsc("DC_CH,cast(DC_PL as int)");
// queryWrapper.orderByAsc("DC_PL");
List<DmZrcjh> dmZrcjhs=dmZrcjhMapper.selectList(queryWrapper);
// queryWrapper.orderByAsc("DC_PL");
List<DmZrcjh> dmZrcjhs = dmZrcjhMapper.selectList(queryWrapper);
return dmZrcjhs;
}
@Override
public List<DmZrcjh> upload(MultipartFile file) throws IOException {
List<Map<String,Object>> list= ExcelUtil.readZRCJH(file);
List<DmZrcjh> dmZrcjhs=new ArrayList<>();
List<Map<String, Object>> list = ExcelUtil.readZRCJH(file);
List<DmZrcjh> dmZrcjhs = new ArrayList<>();
list.forEach(stringObjectMap -> {
DmZrcjh dmZrcjh = modelMapper.map(stringObjectMap, DmZrcjh.class);
dmZrcjh.setZt("0");
String pl = dmZrcjh.getDcPl().length() == 1 ? "00" + dmZrcjh.getDcPl() : dmZrcjh.getDcPl().length() == 2 ? "0" + dmZrcjh.getDcPl() : dmZrcjh.getDcPl();
dmZrcjh.setDcPl(pl);
dmZrcjhs.add(dmZrcjh);
});
return dmZrcjhs;
}
@Override
public void save(HttpServletRequest req,List<DmZrcjh> dmZrcjhs) {
String bzr= (String) req.getAttribute("yhms");
Date date=new Date();
public void save(HttpServletRequest req, List<DmZrcjh> dmZrcjhs) {
String bzr = (String) req.getAttribute("yhms");
Date date = new Date();
List<DmZrcjh> saveDmzrcjhList=new ArrayList<>();
SimpleDateFormat sdf= new SimpleDateFormat("yyyy/MM/dd");
String day=sdf.format(date);
List<DmZrcjh> saveDmzrcjhList = new ArrayList<>();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
String day = sdf.format(date);
dmZrcjhs.forEach(dmZrcjh -> {
QueryWrapper<DmZrcjh> queryWrapper=new QueryWrapper<>();
queryWrapper.eq("DC_CH",dmZrcjh.getDcCh());
queryWrapper.eq("DC_PL",dmZrcjh.getDcPl());
queryWrapper.eq("DC_FD",dmZrcjh.getDcFd());
DmZrcjh dmZrcjhOne=dmZrcjhMapper.selectOne(queryWrapper);
if (ObjectUtil.isNotEmpty(dmZrcjhOne)){
String dmZrcjhOneBzr=dmZrcjhOne.getBzr();
String dmZrcjhOneBzrq=dmZrcjhOne.getBzrq();
if (dmZrcjhOneBzr.contains(bzr)){
String[] bzrStr=dmZrcjhOneBzr.split("@");
String[] bzrqStr=dmZrcjhOneBzrq.split("@");
boolean append=false;
for (int i=0;i<bzrqStr.length;i++){
if (bzrStr[i].equals(bzr)&&bzrqStr[i].equals(day)){
append=true;
QueryWrapper<DmZrcjh> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("DC_CH", dmZrcjh.getDcCh());
queryWrapper.eq("DC_PL", dmZrcjh.getDcPl());
queryWrapper.eq("DC_FD", dmZrcjh.getDcFd());
DmZrcjh dmZrcjhOne = dmZrcjhMapper.selectOne(queryWrapper);
if (ObjectUtil.isNotEmpty(dmZrcjhOne)) {
String dmZrcjhOneBzr = dmZrcjhOne.getBzr();
String dmZrcjhOneBzrq = dmZrcjhOne.getBzrq();
if (dmZrcjhOneBzr.contains(bzr)) {
String[] bzrStr = dmZrcjhOneBzr.split("@");
String[] bzrqStr = dmZrcjhOneBzrq.split("@");
boolean append = false;
for (int i = 0; i < bzrqStr.length; i++) {
if (bzrStr[i].equals(bzr) && bzrqStr[i].equals(day)) {
append = true;
break;
}
}
if (!append){
String appendBzr=(dmZrcjhOneBzr+"@"+bzr);
String appendBzrq=(dmZrcjhOneBzrq+"@"+day);
if (!append) {
String appendBzr = (dmZrcjhOneBzr + "@" + bzr);
String appendBzrq = (dmZrcjhOneBzrq + "@" + day);
dmZrcjh.setBzr(appendBzr);
dmZrcjh.setBzrq(appendBzrq);
updateById(dmZrcjh);
}
}
else {
dmZrcjh.setBzr(dmZrcjhOneBzr+"@"+bzr);
dmZrcjh.setBzrq(dmZrcjhOneBzrq+"@"+day);
} else {
dmZrcjh.setBzr(dmZrcjhOneBzr + "@" + bzr);
dmZrcjh.setBzrq(dmZrcjhOneBzrq + "@" + day);
updateById(dmZrcjh);
}
}
else {
} else {
dmZrcjh.setBzr(bzr);
dmZrcjh.setBzrq(day);
saveDmzrcjhList.add(dmZrcjh);
@ -126,7 +126,7 @@ public class DmZrcjhServiceImpl extends ServiceImpl<DmZrcjhMapper, DmZrcjh> impl
saveBatch(saveDmzrcjhList);
List<List<DmZrcjh>> lists = Lists.partition(saveDmzrcjhList, 300);
for (List<DmZrcjh> list:lists) {
for (List<DmZrcjh> list : lists) {
dmZrcjhMapper.updateCzplpNEW(list);
}
@ -135,8 +135,8 @@ public class DmZrcjhServiceImpl extends ServiceImpl<DmZrcjhMapper, DmZrcjh> impl
@Override
public void tj(List<DmZrcjh> dmZrcjhs) {
dmZrcjhs.forEach(dmZrcjh -> {
String zt=dmZrcjh.getZt();
String setZt=zt.equals("1")?"0":"1";
String zt = dmZrcjh.getZt();
String setZt = zt.equals("1") ? "0" : "1";
dmZrcjh.setZt(setZt);
});
updateBatchById(dmZrcjhs);

@ -0,0 +1,89 @@
<?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.DmSygdMxLjMapper">
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="com.dsic.gj_erp.bean.jhgk.DmSygdMxLj">
<id column="id" property="id" />
<result column="dcch" property="dcch" />
<result column="mbch" property="mbch" />
<result column="sjch" property="sjch" />
<result column="pl" property="pl" />
<result column="fd" property="fd" />
<result column="xqdd" property="xqdd" />
<result column="pw" property="pw" />
<result column="lqlb" property="lqlb" />
<result column="kw" property="kw" />
<result column="sbbh" property="sbbh" />
<result column="sclx" property="sclx" />
<result column="zl" property="zl" />
<result column="wpcz" property="wpcz" />
<result column="wpgg" property="wpgg" />
<result column="bh" property="bh" />
<result column="bc" property="bc" />
<result column="yqyl" property="yqyl" />
<result column="qgcd" property="qgcd" />
<result column="tzbh" property="tzbh" />
<result column="tlsl" property="tlsl" />
<result column="pklx" property="pklx" />
<result column="qbs" property="qbs" />
<result column="pkbs" property="pkbs" />
<result column="pkcd" property="pkcd" />
<result column="dmbs" property="dmbs" />
<result column="dmcd" property="dmcd" />
<result column="zpsx" property="zpsx" />
<result column="ljbh" property="ljbh" />
<result column="ljsl" property="ljsl" />
<result column="ljsx" property="ljsx" />
<result column="djmj" property="djmj" />
<result column="ljdz" property="ljdz" />
<result column="blgs" property="blgs" />
<result column="pwgs" property="pwgs" />
<result column="llgs" property="llgs" />
<result column="hxgs" property="hxgs" />
<result column="qggs" property="qggs" />
<result column="pkgs" property="pkgs" />
<result column="qgs" property="qgs" />
<result column="dmgs" property="dmgs" />
<result column="zpgs" property="zpgs" />
<result column="fkblgs" property="fkblgs" />
<result column="fkpwgs" property="fkpwgs" />
<result column="fkllgs" property="fkllgs" />
<result column="fkhxgs" property="fkhxgs" />
<result column="fkqggs" property="fkqggs" />
<result column="fkpkgs" property="fkpkgs" />
<result column="fkqgs" property="fkqgs" />
<result column="fkdmgs" property="fkdmgs" />
<result column="fkzpgs" property="fkzpgs" />
<result column="fds" property="fds" />
<result column="hxcd" property="hxcd" />
<result column="xcgs" property="xcgs" />
<result column="xcshms" property="xcshms" />
<result column="bclqzl" property="bclqzl" />
<result column="bcshzl" property="bcshzl" />
<result column="bcylzl" property="bcylzl" />
<result column="bcljtlzl" property="bcljtlzl" />
<result column="bcqpyld" property="bcqpyld" />
<result column="xzglxq" property="xzglxq" />
<result column="dzglxq" property="dzglxq" />
<result column="kssj" property="kssj" />
<result column="pkkssj" property="pkkssj" />
<result column="pkjssj" property="pkjssj" />
<result column="qkssj" property="qkssj" />
<result column="qjssj" property="qjssj" />
<result column="dmkssj" property="dmkssj" />
<result column="dmjssj" property="dmjssj" />
<result column="gylc" property="gylc" />
<result column="cs" property="cs" />
<result column="lqbs" property="lqbs" />
<result column="bzrq" property="bzrq" />
<result column="bzry" property="bzry" />
<result column="yidd" property="yidd" />
<result column="parent_id" property="parentId" />
<result column="ylbhgg" property="ylbhgg" />
<result column="zt" property="zt" />
<result column="type" property="type" />
<result column="tjBs" property="tjBs" />
</resultMap>
</mapper>

@ -3,43 +3,6 @@
<mapper namespace="com.dsic.gj_erp.mapper.jhgk.DmSygdMxMapper">
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="com.dsic.gj_erp.bean.jhgk.DmSygdMx">
<id column="id" property="id" />
<result column="dc_ch" property="dcCh" />
<result column="dc_ch1" property="dcCh1" />
<result column="dc_pl" property="dcPl" />
<result column="LQLB" property="lqlb" />
<result column="tzbh" property="tzbh" />
<result column="wpgg" property="wpgg" />
<result column="wpxh" property="wpxh" />
<result column="hxcd" property="hxcd" />
<result column="qgcd" property="qgcd" />
<result column="qbs" property="qbs" />
<!-- <result column="dmbs" property="dmbs" />-->
<result column="pkcd" property="pkcd" />
<result column="ljsl" property="ljsl" />
<result column="zl" property="zl" />
<result column="lx" property="lx" />
<result column="xcms" property="xcms" />
<result column="kw" property="kw" />
<result column="slrq" property="slrq" />
<result column="slry" property="slry" />
<result column="pw" property="pw" />
<result column="pwry" property="pwry" />
<result column="pwrq" property="pwrq" />
<result column="hxsb" property="hxsb" />
<result column="hxry" property="hxry" />
<result column="hxrq" property="hxrq" />
<result column="qgsb" property="qgsb" />
<result column="qgry" property="qgry" />
<result column="qgrq" property="qgrq" />
<result column="dmcd" property="dmcd" />
<result column="dmsb" property="dmsb" />
<result column="dmry" property="dmry" />
<result column="dmrq" property="dmrq" />
<result column="pwsb" property="pwsb" />
<result column="parent_id" property="parentId" />
</resultMap>
<select id="getDhsl" resultType="Dhdto" parameterType="Dhdto">
select ISNULL(im_crklsz.HDSL, 0) as hdsl,
@ -62,4 +25,181 @@
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">
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
</select>
<select id="getMx" resultType="com.dsic.gj_erp.bean.jhgk.DmSygdMx">
SELECT
dcch as dcCh2,
mbch as dc_ch1,
sjch as dc_ch,
pl as dc_pl,
tzbh,
stuff((SELECT ' ' + c.FD
FROM dm_sygd_mx_lj c
WHERE c.dcch = dm_sygd_mx_lj.dcch and c.PL = dm_sygd_mx_lj.PL
group by c.FD FOR xml path ( '') ), 1, 1, ''
) AS dc_fd,
MIN(xzglxq) as jssj,
MIN(dzglxq) as dzglxq,
(CONVERT(varchar (20), GETDATE(), 20)) as gxsj,
(SELECT (CASE WHEN substring(tzbh, 5, 1) = 'X' THEN 'X' ELSE 'B' END)) as lx,
lqlb,
kw,
zl,
wpcz as wpxh,
wpgg,
ljsl,
pklx,
qbs,
pkbs,
pkcd,
dmbs,
dmcd,
hxcd,
xcgs,
xcshms as xcms,
bclqzl,
bcylzl,
bcljtlzl,
ylbhgg,
bcqpyld
,blgs as blgs
,pwgs as pwgs
,llgs as llgs
,hxgs as hxgs
, qggs as qggs
, sum(pkgs) as pkgs
, sum(dmgs) as dmgs
, sum(qgs) as qjggs
, sum(zpgs) as zpgs
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))
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
order BY jssj, dcch, pl, tzbh
</select>
<select id="getPl" resultType="com.dsic.gj_erp.bean.jhgk.dto.Pldto">
SELECT
iif(a.dc_ch is null,b.dc_ch ,a.dc_ch )as dc_ch,
iif(a.DC_FD is null,b.DC_FD ,a.DC_FD ) as DC_FD,
iif(a.dc_pl is null,b.dc_pl ,a.dc_pl ) as dc_pl,
DATEDIFF(day, b.dzjsq , a.dzglxq) as dzcz,
DATEDIFF(day, b.xzjsq , a.xzglxq) as xzcz,
a.dzglxq,a.xzglxq,b.xzjsq,b.dzjsq
from
(SELECT dm_sygdxq.dc_ch,dm_sygdxq.DC_FD,dm_sygdxq.dc_pl,dm_sygdxq.dzglxq,dm_sygdxq.xzglxq
from dm_sygdxq WHERE
dm_sygdxq.xzglxq BETWEEN #{begin} and #{end})a
FULL JOIN
(SELECT dm_czplp_new.DC_CH,dm_czplp_new.DC_fd,dm_czplp_new.DC_PL,dm_czplp_new.xzjsq,dm_czplp_new.dzjsq from dm_czplp_new WHERE
dm_czplp_new.xzjsq BETWEEN #{begin} and #{end})b
on
a.DC_CH=b.DC_CH and a.dc_pl=b.DC_PL and a.DC_fd=b.DC_fd
ORDER BY case when a.xzglxq is null then 1 else 0 end,a.xzglxq,dc_ch,dc_pl,b.xzjsq asc
</select>
<update id="setParent" >
UPDATE dm_sygd_mx_lj set dm_sygd_mx_lj.parent_id=dm_sygd_mx.id
from dm_sygd_mx
WHERE
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= iif(dm_sygd_mx_lj.tzbh is null,'',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))
</update>
<select id="getkw" resultType="com.dsic.gj_erp.bean.jhgk.dto.Kwdto">
SELECT
dm_sygd_mx.*
, (select sum(MS_DDMXP.DHSL) as DHSL
from MS_DDJBP,
MS_DDMXP
where RTRIM(MS_DDJBP.CGFLM) = MS_DDMXP.cgflm
and RTRIM(MS_DDJBP.DDH) = MS_DDMXP.DDH
and (MS_DDJBP.DDLX) = 'B'
and MS_DDJBP.dhqdh = dm_czplp_new.dhqd
GROUP BY MS_DDJBP.CGFLM, MS_DDJBP.DDH, MS_DDJBP.ddmc
) as dhsl
, (select sum(im_crklsz.HDSL) as lhsl
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 MS_DDJBP.dhqdh = dm_czplp_new.dhqd
and im_crklsz.CRKBS = 'RK'
and im_crklsz.HDLX <![CDATA[ <> ]]> '99'
GROUP BY MS_DDJBP.CGFLM, MS_DDJBP.DDH, MS_DDJBP.ddmc
) as lhsl
, dm_czplp_new.dhqd as dhqd
from (
SELECT
substring(dm_sygd_mx.jssj, 0, 8) as yf
, kw
, dm_sygd_mx.dc_ch as ch
, dm_sygd_mx.dc_pl as pl
, dm_sygd_mx.dc_fd as fd
, COUNT(1) as bs
, sum(blgs) as blgs
, sum(pwgs) as pwgs
, sum(llgs) as llgs
, sum(hxgs) as hxgs
, sum(qggs) as qggs
, sum(pkgs) as pkgs
, sum(dmgs) as dmgs
, sum(qgs) as qjggs
, sum(zpgs) as zpgs
from dm_sygd_mx
where dm_sygd_mx.jssj BETWEEN #{begin} and #{end}
GROUP BY substring(dm_sygd_mx.jssj, 0, 8), dm_sygd_mx.kw
, dm_sygd_mx.dc_ch
, dm_sygd_mx.dc_pl
, dm_sygd_mx.dc_fd
) dm_sygd_mx
LEFT JOIN (SELECT dm_czplp_new.dhqd, dm_czplp_new.DC_PL, dm_czplp_new.DC_CH
from dm_czplp_new
GROUP BY dm_czplp_new.DC_PL, dm_czplp_new.DC_CH, dhqd
) dm_czplp_new
on dm_czplp_new.DC_PL = dm_sygd_mx.pl
and dm_czplp_new.DC_CH = dm_sygd_mx.ch
order by dm_sygd_mx.yf
, case when dm_sygd_mx.kw is null then 1 else 0 end
,dm_sygd_mx.kw
,dm_sygd_mx.CH
,dm_sygd_mx.PL
</select>
</mapper>

@ -4,76 +4,158 @@
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="com.dsic.gj_erp.bean.jhgk.DmYdjh">
<id column="id" property="id" />
<result column="dc_ch" property="dcCh" />
<result column="dc_ch1" property="dcCh1" />
<result column="dc_pl" property="dcPl" />
<result column="LQLB" property="lqlb" />
<result column="tzbh" property="tzbh" />
<result column="wpgg" property="wpgg" />
<result column="wpxh" property="wpxh" />
<result column="hxcd" property="hxcd" />
<result column="qgcd" property="qgcd" />
<result column="qbs" property="qbs" />
<result column="pklx" property="pklx" />
<result column="pkcd" property="pkcd" />
<result column="ljsl" property="ljsl" />
<result column="zl" property="zl" />
<result column="lx" property="lx" />
<result column="xcms" property="xcms" />
<result column="kw" property="kw" />
<result column="slrq" property="slrq" />
<result column="slry" property="slry" />
<result column="pw" property="pw" />
<result column="pwry" property="pwry" />
<result column="pwrq" property="pwrq" />
<result column="hxsb" property="hxsb" />
<result column="hxry" property="hxry" />
<result column="hxrq" property="hxrq" />
<result column="qgsb" property="qgsb" />
<result column="qgry" property="qgry" />
<result column="qgrq" property="qgrq" />
<result column="dmcd" property="dmcd" />
<result column="dmsb" property="dmsb" />
<result column="dmry" property="dmry" />
<result column="dmrq" property="dmrq" />
<result column="pwsb" property="pwsb" />
<result column="pksb" property="pksb" />
<result column="pkry" property="pkry" />
<result column="pkrq" property="pkrq" />
<result column="DC_FD" property="dcFd" />
<result column="gjjs_dz" property="gjjsDz" />
<result column="gjjs_xz" property="gjjsXz" />
<result column="jsq_tlt" property="jsqTlt" />
<result column="jsq_lqb" property="jsqLqb" />
<result column="dhqd" property="dhqd" />
<result column="order_bs" property="orderBs" />
<result column="arrival_bs" property="arrivalBs" />
<result column="qy" property="qy" />
<result column="jzbs" property="jzbs" />
<result column="jzsb" property="jzsb" />
<result column="jzry" property="jzry" />
<result column="qjgsb" property="qjgsb" />
<result column="qjgry" property="qjgry" />
<result column="qjgrq" property="qjgrq" />
<result column="dcCh2" property="dcCh2" />
<result column="gjks" property="gjks" />
<result column="gxsj" property="gxsj" />
<result column="hxkc_cd" property="hxkcCd" />
<result column="qgkc_cd" property="qgkcCd" />
<result column="jssj" property="jssj" />
<result column="jzrq" property="jzrq" />
<result column="hxcd_kc" property="hxcdKc" />
<result column="qgcd_kc" property="qgcdKc" />
<result column="zt" property="zt" />
<result column="xcgs" property="xcgs" />
<result column="bclqzl" property="bclqzl" />
<result column="bcshzl" property="bcshzl" />
<result column="bcylzl" property="bcylzl" />
<result column="bcljtlzl" property="bcljtlzl" />
<result column="bcqpyld" property="bcqpyld" />
<result column="ylbhgg" property="ylbhgg" />
<result column="parent_id" property="parentId" />
<id column="id" property="id"/>
<result column="dc_ch" property="dcCh"/>
<result column="dc_ch1" property="dcCh1"/>
<result column="dc_pl" property="dcPl"/>
<result column="LQLB" property="lqlb"/>
<result column="tzbh" property="tzbh"/>
<result column="wpgg" property="wpgg"/>
<result column="wpxh" property="wpxh"/>
<result column="hxcd" property="hxcd"/>
<result column="qgcd" property="qgcd"/>
<result column="qbs" property="qbs"/>
<result column="pklx" property="pklx"/>
<result column="pkcd" property="pkcd"/>
<result column="ljsl" property="ljsl"/>
<result column="zl" property="zl"/>
<result column="lx" property="lx"/>
<result column="xcms" property="xcms"/>
<result column="kw" property="kw"/>
<result column="slrq" property="slrq"/>
<result column="slry" property="slry"/>
<result column="pw" property="pw"/>
<result column="pwry" property="pwry"/>
<result column="pwrq" property="pwrq"/>
<result column="hxsb" property="hxsb"/>
<result column="hxry" property="hxry"/>
<result column="hxrq" property="hxrq"/>
<result column="qgsb" property="qgsb"/>
<result column="qgry" property="qgry"/>
<result column="qgrq" property="qgrq"/>
<result column="dmcd" property="dmcd"/>
<result column="dmsb" property="dmsb"/>
<result column="dmry" property="dmry"/>
<result column="dmrq" property="dmrq"/>
<result column="pwsb" property="pwsb"/>
<result column="pksb" property="pksb"/>
<result column="pkry" property="pkry"/>
<result column="pkrq" property="pkrq"/>
<result column="DC_FD" property="dcFd"/>
<result column="gjjs_dz" property="gjjsDz"/>
<result column="gjjs_xz" property="gjjsXz"/>
<result column="jsq_tlt" property="jsqTlt"/>
<result column="jsq_lqb" property="jsqLqb"/>
<result column="dhqd" property="dhqd"/>
<result column="order_bs" property="orderBs"/>
<result column="arrival_bs" property="arrivalBs"/>
<result column="qy" property="qy"/>
<result column="jzbs" property="jzbs"/>
<result column="jzsb" property="jzsb"/>
<result column="jzry" property="jzry"/>
<result column="qjgsb" property="qjgsb"/>
<result column="qjgry" property="qjgry"/>
<result column="qjgrq" property="qjgrq"/>
<result column="dcCh2" property="dcCh2"/>
<result column="gjks" property="gjks"/>
<result column="gxsj" property="gxsj"/>
<result column="hxkc_cd" property="hxkcCd"/>
<result column="qgkc_cd" property="qgkcCd"/>
<result column="jssj" property="jssj"/>
<result column="jzrq" property="jzrq"/>
<result column="zt" property="zt"/>
<result column="xcgs" property="xcgs"/>
<result column="bclqzl" property="bclqzl"/>
<result column="bcshzl" property="bcshzl"/>
<result column="bcylzl" property="bcylzl"/>
<result column="bcljtlzl" property="bcljtlzl"/>
<result column="bcqpyld" property="bcqpyld"/>
<result column="ylbhgg" property="ylbhgg"/>
<result column="parent_id" property="parentId"/>
</resultMap>
<select id="getSygdmx" resultType="com.dsic.gj_erp.bean.jhgk.DmSygdMx">
SELECT dm_sygd_mx.id,
dm_sygd_mx.parent_id,
t.DC_CH,
dm_sygd_mx.dc_ch1,
t.DC_PL,
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.dmcd,
dm_sygd_mx.dmsb,
dm_sygd_mx.dmry,
dm_sygd_mx.dmrq,
dm_sygd_mx.pwsb,
dm_sygd_mx.pksb,
dm_sygd_mx.pkry,
dm_sygd_mx.pkrq,
dm_sygd_mx.DC_FD,
dm_sygd_mx.gjjs_dz,
dm_sygd_mx.gjjs_xz,
dm_sygd_mx.jsq_tlt,
dm_sygd_mx.jsq_lqb,
dm_sygd_mx.dhqd,
dm_sygd_mx.order_bs,
dm_sygd_mx.arrival_bs,
dm_sygd_mx.qy,
dm_sygd_mx.jzbs,
dm_sygd_mx.jzsb,
dm_sygd_mx.jzry,
dm_sygd_mx.qjgsb,
dm_sygd_mx.qjgry,
dm_sygd_mx.qjgrq,
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.jzrq,
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,t.xqsj as jssj from
( SELECT DC_CH,DC_PL,DC_FD,tzbh,xqsj,rn FROM
( SELECT dm_qfxq.db as xqsj,dm_bom.tzbh,
dm_qfxq.DC_CH,dm_qfxq.DC_PL,dm_qfxq.DC_FD,
row_number() over(partition by dm_qfxq.DC_CH,dm_qfxq.DC_PL,dm_bom.tzbh order by dm_qfxq.db ) rn
from dm_qfxq LEFT JOIN dm_bom
on dm_bom.dcch = dm_qfxq.DC_CH
and dm_bom.pl = dm_qfxq.DC_PL
and dm_bom.fd = dm_qfxq.DC_FD
where
substring(dm_qfxq.db, 0, 8) =#{nextMonth}) r where r.rn=1
)t LEFT JOIN dm_sygd_mx
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>
</mapper>

Loading…
Cancel
Save