【生产订单管理】

This commit is contained in:
10001392 2024-09-02 14:10:11 +08:00
parent fa3dfc210e
commit 848087523c
9 changed files with 286 additions and 4 deletions

View File

@ -0,0 +1,11 @@
package com.nflg.product.bomnew.mapper.master;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.nflg.product.bomnew.pojo.entity.ProductionOrderItemSapEntity;
/**
* @author makejava
*/
public interface ProductionOrderItemSapMapper extends BaseMapper<ProductionOrderItemSapEntity> {
}

View File

@ -0,0 +1,11 @@
package com.nflg.product.bomnew.mapper.master;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.nflg.product.bomnew.pojo.entity.ProductionOrderSapEntity;
/**
* @author makejava
*/
public interface ProductionOrderSapMapper extends BaseMapper<ProductionOrderSapEntity> {
}

View File

@ -158,6 +158,13 @@ public class ProductionOrderItemEntity implements Serializable {
@ApiModelProperty(value = "提交 0否 1是")
private Integer submit;
/**
* 操作类型0不变 1新增 2修改 3删除
*/
@TableField(value = "operate_type")
@ApiModelProperty(value = "操作类型0不变 1新增 2修改 3删除")
private Integer operateType;
/**
* 创建人
*/

View File

@ -0,0 +1,121 @@
package com.nflg.product.bomnew.pojo.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import java.io.Serializable;
/**
* t_production_order_item_sap
* 生产订单明细表SAP原始数据
*
* @author makejava
*/
@Data
@Accessors(chain = true)
@ApiModel(value = "com-nflg-product-bomnew-pojo-main-entity-ProductionOrderItemSapEntity")
@TableName(value = "t_production_order_item_sap")
public class ProductionOrderItemSapEntity implements Serializable {
/**
* CHARG=, 批号
* BAUGR=000000002120230002, 高层次组装的物料号
* WERKS=1010, 工厂
* LGORT=0022, 库存地点
* BDMNG=1.000, 需求量
* MEINS=ST, 基本计量单位
* ENMNG=0.000, 提货数
* AUFNR=000010435564, 订单号
* RSNUM=0001308129, 预留/相关需求的编号
* NOMAT=, 后继/原始物料
* POSNR=0010, BOM 项目号
* NOMNG=0.000, 需求数量
* RSPOS=0001, 预留/相关需求的项目编号
* DUMPS=, 虚拟项目标识
* PRVBE=, 供应区域
* POSTP=L, 项目类别物料单
* BDTER=Tue Jan 02 00:00:00 CST 2024, 组件的需求日期
* SORTF=, 排序字符串
* MATNR=000000002100330331 物料号
*/
/**
* 行ID 雪花
*/
@TableId(value = "row_id", type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "行ID 雪花")
private Long rowId;
/**
* 生产订单行ID
*/
@TableField(value = "order_row_id")
@ApiModelProperty(value = "生产订单行ID")
private Long orderRowId;
@TableField(value = "CHARG")
private String CHARG;
@TableField(value = "BAUGR")
private String BAUGR;
@TableField(value = "WERKS")
private String WERKS;
@TableField(value = "LGORT")
private String LGORT;
@TableField(value = "BDMNG")
private String BDMNG;
@TableField(value = "MEINS")
private String MEINS;
@TableField(value = "ENMNG")
private String ENMNG;
@TableField(value = "AUFNR")
private String AUFNR;
@TableField(value = "RSNUM")
private String RSNUM;
@TableField(value = "NOMAT")
private String NOMAT;
@TableField(value = "POSNR")
private String POSNR;
@TableField(value = "NOMNG")
private String NOMNG;
@TableField(value = "RSPOS")
private String RSPOS;
@TableField(value = "DUMPS")
private String DUMPS;
@TableField(value = "PRVBE")
private String PRVBE;
@TableField(value = "POSTP")
private String POSTP;
@TableField(value = "BDTER")
private String BDTER;
@TableField(value = "SORTF")
private String SORTF;
@TableField(value = "MATNR")
private String MATNR;
private static final long serialVersionUID = 1L;
}

View File

@ -0,0 +1,108 @@
package com.nflg.product.bomnew.pojo.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import java.io.Serializable;
/**
* t_production_order_sap
* 生产订单抬头表SAP原始数据
*
* @author makejava
*/
@Data
@Accessors(chain = true)
@ApiModel(value = "com-nflg-product-bomnew-pojo-main-entity-ProductionOrderSapEntity")
@TableName(value = "t_production_order_sap")
public class ProductionOrderSapEntity implements Serializable {
/**
* FTRMI=Wed Aug 07 00:00:00 CST 2024, 实际下达日期
* AENAM=MM014, 最后更改人
* WERKS=1010, 工厂
* AEDAT=Wed Aug 07 00:00:00 CST 2024, 更改订单主文件日期
* SBMNG=1.000, 基本数量
* GMEIN=ST, 基本计量单位
* STLBEZ=000000002120230002, 物料号
* GAMNG=1.000, 订单数量总计
* AUTYP=10, 订单类型
* AUFNR=000010435564, 订单号
* RSNUM=0001308129, 预留/相关需求的编号
* ERFZEIT=Thu Jan 01 21:59:00 CST 1970, 创建的时间
* SBMEH=ST, 基本计量单位
* ERDAT=Tue Jan 02 00:00:00 CST 2024, 创建日期
* AEZEIT=Thu Jan 01 09:57:04 CST 1970, 更改在
* ERNAM=PANF 输入者
*/
/**
* 行ID 雪花
*/
@TableId(value = "row_id", type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "行ID 雪花")
private Long rowId;
@TableField(value = "FTRMI")
private String FTRMI;
@TableField(value = "AENAM")
private String AENAM;
@TableField(value = "WERKS")
private String WERKS;
@TableField(value = "AEDAT")
private String AEDAT;
@TableField(value = "SBMNG")
private String SBMNG;
@TableField(value = "GMEIN")
private String GMEIN;
@TableField(value = "STLBEZ")
private String STLBEZ;
@TableField(value = "GAMNG")
private String GAMNG;
@TableField(value = "AUTYP")
private String AUTYP;
@TableField(value = "AUFNR")
private String AUFNR;
@TableField(value = "RSNUM")
private String RSNUM;
@TableField(value = "ERFZEIT")
private String ERFZEIT;
@TableField(value = "SBMEH")
private String SBMEH;
@TableField(value = "ERDAT")
private String ERDAT;
@TableField(value = "AEZEIT")
private String AEZEIT;
@TableField(value = "ERNAM")
private String ERNAM;
/**
* 处理状态 0未处理 1已处理
*/
@TableField(value = "handle_status")
private Integer handleStatus;
private static final long serialVersionUID = 1L;
}

View File

@ -128,6 +128,12 @@ public class ProductionOrderItemVO implements Serializable {
@ApiModelProperty(value = "提交 0否 1是")
private Integer submit;
/**
* 操作类型0不变 1新增 2修改 3删除
*/
@ApiModelProperty(value = "操作类型0不变 1新增 2修改 3删除")
private Integer operateType;
/**
* 创建人
*/

View File

@ -5,17 +5,21 @@ import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.nflg.product.base.core.conmon.util.SessionUtil;
import com.nflg.product.bomnew.mapper.master.ProductionOrderItemSapMapper;
import com.nflg.product.bomnew.mapper.master.ProductionOrderMapper;
import com.nflg.product.bomnew.mapper.master.ProductionOrderSapMapper;
import com.nflg.product.bomnew.pojo.dto.sap.SapReqParams;
import com.nflg.product.bomnew.pojo.dto.sap.SapResult;
import com.nflg.product.bomnew.pojo.entity.ProductionOrderEntity;
import com.nflg.product.bomnew.pojo.entity.ProductionOrderItemEntity;
import com.nflg.product.bomnew.pojo.entity.ProductionOrderSapEntity;
import com.nflg.product.bomnew.pojo.query.ProductionOrderQuery;
import com.nflg.product.bomnew.pojo.query.ProductionOrderSaveQuery;
import com.nflg.product.bomnew.pojo.vo.ProductionOrderItemVO;
@ -42,12 +46,14 @@ public class ProductionOrderService extends ServiceImpl<ProductionOrderMapper, P
@Resource
private ProductionOrderItemService productionOrderItemService;
@Resource
SapService sapService;
@Resource
private MaterialMainService materialMainService;
@Resource
private ProductionOrderSapMapper productionOrderSapMapper;
@Resource
private ProductionOrderItemSapMapper productionOrderItemSapMapper;
public IPage<ProductionOrderVO> getListByPage(ProductionOrderQuery query){
Page<ProductionOrderQuery> page = new Page<>(query.getPage(),query.getPageSize());
@ -229,7 +235,11 @@ public class ProductionOrderService extends ServiceImpl<ProductionOrderMapper, P
continue;
}
String productionOrder = head.get("AUFNR").toString().replaceAll("^0+", "");
// 生产订单号存在则跳过
// 生产订单号存在且未处理则跳过
QueryWrapper<ProductionOrderSapEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("AUFNR", productionOrder)
.eq("handle_status", 0);
List<ProductionOrderSapEntity> exist = this.productionOrderSapMapper.selectList(queryWrapper);
List<ProductionOrderEntity> exists = this.lambdaQuery().eq(ProductionOrderEntity::getProductionOrder, productionOrder).list();
if (CollUtil.isNotEmpty(exists)) {
continue;
@ -254,7 +264,7 @@ public class ProductionOrderService extends ServiceImpl<ProductionOrderMapper, P
this.saveBatch(saveList);
}
}
// 生产订单明细暂时不需要处理
// 生产订单明细
if (outTablesMap.containsKey("ITEM")) {
/**
* CHARG=, 批号

View File

@ -0,0 +1,4 @@
<?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.nflg.product.bomnew.mapper.master.ProductionOrderItemSapMapper">
</mapper>

View File

@ -0,0 +1,4 @@
<?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.nflg.product.bomnew.mapper.master.ProductionOrderSapMapper">
</mapper>