Commit ff960f20 authored by 李驰骋's avatar 李驰骋

请购单创建接口调整、完工入库接口开发

parent 8765bd80
package com.topsunit.scanservice.ximai.controller;
import com.topsunit.scanservice.ximai.dto.MoctcCreateCriteria;
import com.topsunit.scanservice.ximai.dto.MoctcCreateDto;
import com.topsunit.scanservice.ximai.dto.MoctcCreateParams;
import com.topsunit.scanservice.ximai.dto.MoctfCreateParams;
import com.topsunit.scanservice.ximai.service.MoctcService;
import com.topsunit.scanservice.ximai.service.MoctfService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import java.util.Optional;
/**
* 完工入库申请
*/
@RestController
public class MoctfController {
@Autowired
private MoctfService moctfService;
@PostMapping("/moctf/create")
public void create(@RequestBody MoctfCreateParams createParams) {
moctfService.create(createParams);
}
}
package com.topsunit.scanservice.ximai.controller; package com.topsunit.scanservice.ximai.controller;
import com.topsunit.scanservice.ximai.dto.PurmaCriteria; import com.topsunit.scanservice.ximai.dto.PurtaCreateParams;
import com.topsunit.scanservice.ximai.dto.PurmaDto;
import com.topsunit.scanservice.ximai.dto.PurtaCreateDto;
import com.topsunit.scanservice.ximai.service.PurmaService;
import com.topsunit.scanservice.ximai.service.PurtaService; import com.topsunit.scanservice.ximai.service.PurtaService;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -11,8 +8,6 @@ import org.springframework.web.bind.annotation.PostMapping; ...@@ -11,8 +8,6 @@ import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/** /**
* <p>Title: PurmaController</p> * <p>Title: PurmaController</p>
* <p>Description: 请购单</p> * <p>Description: 请购单</p>
...@@ -28,7 +23,7 @@ public class PurtaController { ...@@ -28,7 +23,7 @@ public class PurtaController {
private PurtaService purtaService; private PurtaService purtaService;
@ApiOperation("新增请购单") @ApiOperation("新增请购单")
@PostMapping("/purta/insert") @PostMapping("/purta/insert")
public void create(@RequestBody PurtaCreateDto create){ public void create(@RequestBody PurtaCreateParams create){
purtaService.create(create); purtaService.create(create);
} }
......
package com.topsunit.scanservice.ximai.dao;
import com.topsunit.scanservice.ximai.entity.Moctf;
import com.topsunit.scanservice.ximai.entity.MoctfId;
import com.topsunit.scanservice.ximai.entity.Mocth;
import com.topsunit.scanservice.ximai.entity.MocthId;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
/**
* <p>Title: MoctfDao</p>
* <p>Description: MoctfDao</p>
*
* @author chicheng.li
* @version V1.0
* @date 2024/10/23
*/
public interface MoctfDao extends JpaRepository<Moctf, MoctfId>, JpaSpecificationExecutor<Moctf> {
}
package com.topsunit.scanservice.ximai.dao;
import com.topsunit.scanservice.ximai.entity.Moctg;
import com.topsunit.scanservice.ximai.entity.MoctgId;
import com.topsunit.scanservice.ximai.entity.Mocth;
import com.topsunit.scanservice.ximai.entity.MocthId;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
/**
* <p>Title: MoctgDao</p>
* <p>Description: MoctgDao</p>
*
* @author chicheng.li
* @version V1.0
* @date 2024/10/23
*/
public interface MoctgDao extends JpaRepository<Moctg, MoctgId>, JpaSpecificationExecutor<Moctg> {
}
package com.topsunit.scanservice.ximai.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.persistence.Id;
import java.math.BigDecimal;
import java.util.List;
/**
* <p>Title: MoctfCreateParams</p>
* <p>Description: 完工入库申请表头</p>
*
* @author chicheng.li
* @version V1.0
* @date 2024/10/22
*/
@Data
public class MoctfCreateParams {
@ApiModelProperty("入库单别")
private String tf001="5801";
/**
* S+yyMMddxxxx
*/
@ApiModelProperty("入库单号")
private String tf002;
/**
* 入库日期
*/
@ApiModelProperty("入库日期")
private String tf003;
@ApiModelProperty("工厂编号")
private String tf004="01";
@ApiModelProperty("备注")
private String tf005;
@ApiModelProperty("审核码")
private String tf006="N";
@ApiModelProperty("生产记录更新码")
private String tf007="N";
@ApiModelProperty("生成分录-成本")
private String tf010="N";
@ApiModelProperty("签核状态码")
private String tf014="N";
@ApiModelProperty("自动扣料更新码")
private String tf009="N";
@ApiModelProperty("工作中心")
private String tf011="0001";
/**
* 单据日期
*/
@ApiModelProperty("单据日期")
private String tf012;
@ApiModelProperty("部门")
private String tf016="04";
@ApiModelProperty("项目编号")
private String tf033;
@ApiModelProperty("明细")
private List<MoctgCreateParams> details;
}
package com.topsunit.scanservice.ximai.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.persistence.Id;
import java.math.BigDecimal;
import java.util.List;
/**
* <p>Title: MoctgCreateParams</p>
* <p>Description: 完工入库申请表身</p>
*
* @author chicheng.li
* @version V1.0
* @date 2024/10/22
*/
@Data
public class MoctgCreateParams {
@ApiModelProperty("入库单别")
private String tg001="5801";
@ApiModelProperty("入库单号")
private String tg002;
@ApiModelProperty("序号")
private String tg003="0001";
/**
* 产品品号
*/
@ApiModelProperty("产品品号")
private String tg004;
@ApiModelProperty("品名")
private String tg005;
@ApiModelProperty("规格")
private String tg006;
@ApiModelProperty("单位")
private String tg007;
@ApiModelProperty("入/出别")
private Integer tg009=1;
@ApiModelProperty("仓库")
private String tg010;
@ApiModelProperty("库位")
private String tg036;
@ApiModelProperty("库存单位")
private String tg037;
@ApiModelProperty("入库数量")
private BigDecimal tg011;
@ApiModelProperty("工单单别")
private String tg014;
@ApiModelProperty("工单单号")
private String tg015;
@ApiModelProperty("检验状态")
private String tg016="0";
@ApiModelProperty("急料")
private String tg024;
@ApiModelProperty("生产日期")
private String tg030;
@ApiModelProperty("报废数量")
private BigDecimal tg012=BigDecimal.ZERO;
@ApiModelProperty("验退数量")
private BigDecimal tg023=BigDecimal.ZERO;
@ApiModelProperty("破坏数量")
private BigDecimal tg032=BigDecimal.ZERO;
@ApiModelProperty("验收数量")
private BigDecimal tg013;
}
package com.topsunit.scanservice.ximai.dto; package com.topsunit.scanservice.ximai.dto;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
...@@ -8,34 +10,41 @@ import java.math.BigDecimal; ...@@ -8,34 +10,41 @@ import java.math.BigDecimal;
import java.util.List; import java.util.List;
/** /**
* <p>Title: PurtaCreateDto</p> * <p>Title: PurtaCreateParams</p>
* <p>Description: PurtaCreateDto</p> * <p>Description: PurtaCreateParams</p>
* *
* @author chicheng.li * @author chicheng.li
* @version V1.0 * @version V1.0
* @date 2024/10/22 * @date 2024/10/22
*/ */
@Data @Data
public class PurtaCreateDto { public class PurtaCreateParams {
@Id @Id
@ApiModelProperty("请购单别") @ApiModelProperty("请购单别")
private String ta001; private String ta001="471";
@Id @Id
@ApiModelProperty("请购单号") @ApiModelProperty("请购单号")
private String ta002; private String ta002;
@ApiModelProperty("工单单别")
private String orderSource;
@ApiModelProperty("工单单号")
private String workorderCode;
@ApiModelProperty("请购日期") @ApiModelProperty("请购日期")
private String ta003; private String ta003;
@ApiModelProperty("请购部门") @ApiModelProperty("请购部门")
private String ta004; private String ta004="04";
@ApiModelProperty("审核码") @ApiModelProperty("审核码")
private String ta007; private String ta007="Y";
@ApiModelProperty("数量合计") @ApiModelProperty("数量合计")
private BigDecimal ta011; private BigDecimal ta011;
@ApiModelProperty("来源") @ApiModelProperty("来源")
private String ta009; private String ta009="9";
@ApiModelProperty("工厂") @ApiModelProperty("工厂")
private String ta010; private String ta010="01";
@ApiModelProperty("客户订单号") @ApiModelProperty("客户订单号")
private String udf02; private String udf02;
@ApiModelProperty("销售单号") @ApiModelProperty("销售单号")
...@@ -45,8 +54,6 @@ public class PurtaCreateDto { ...@@ -45,8 +54,6 @@ public class PurtaCreateDto {
@ApiModelProperty("备注") @ApiModelProperty("备注")
private String ta006; private String ta006;
@ApiModelProperty("明细") @ApiModelProperty("明细")
private List<PurtbCreateDto> details; private List<PurtbCreateParams> details;
@ApiModelProperty("明细2")
private List<PurtrCreateDto> details2;
} }
...@@ -7,62 +7,59 @@ import javax.persistence.Id; ...@@ -7,62 +7,59 @@ import javax.persistence.Id;
import java.math.BigDecimal; import java.math.BigDecimal;
/** /**
* <p>Title: PurtbCreateDto</p> * <p>Title: PurtbCreateParams</p>
* <p>Description: PurtbCreateDto</p> * <p>Description: PurtbCreateParams</p>
* *
* @author chicheng.li * @author chicheng.li
* @version V1.0 * @version V1.0
* @date 2024/10/22 * @date 2024/10/22
*/ */
@Data @Data
public class PurtbCreateDto { public class PurtbCreateParams {
@Id
@ApiModelProperty("单别")
private String tb001;
@Id
@ApiModelProperty("单号")
private String tb002;
@Id
@ApiModelProperty("序号") @ApiModelProperty("序号")
private String tb003; private String tb003="0001";
@ApiModelProperty("品号") @ApiModelProperty("品号")
private String tb004; private String tb004="E0000006";
@ApiModelProperty("品名") @ApiModelProperty("品名")
private String tb005; private String tb005="委外加工费";
@ApiModelProperty("规格") @ApiModelProperty("规格")
private String tb006; private String tb006;
@ApiModelProperty("请购单位") @ApiModelProperty("请购单位")
private String tb007; private String tb007="PCS";
@ApiModelProperty("仓库") @ApiModelProperty("仓库")
private String tb008; private String tb008="06";
@ApiModelProperty("请购数量") @ApiModelProperty("请购数量")
private BigDecimal tb009; private BigDecimal tb009=BigDecimal.ONE;
@ApiModelProperty("需求日期") @ApiModelProperty("需求日期")
private String tb011; private String tb011;
@ApiModelProperty("锁定码") @ApiModelProperty("锁定码")
private String tb020; private String tb020="N";
@ApiModelProperty("采购单位")
private String tb015="PCS";
@ApiModelProperty("采购币种")
private String tb016="RMB";
@ApiModelProperty("采购码") @ApiModelProperty("采购码")
private String tb021; private String tb021="N";
@ApiModelProperty("备注") @ApiModelProperty("备注")
private String tb024; private String tb024;
@ApiModelProperty("审核码") @ApiModelProperty("审核码")
private String tb025; private String tb025="Y";
@ApiModelProperty("销售单号") @ApiModelProperty("销售单号")
private String tb030; private String tb030;
@ApiModelProperty("急料") @ApiModelProperty("急料")
private String tb032; private String tb032;
@ApiModelProperty("结束") @ApiModelProperty("结束")
private String tb039; private String tb039="N";
@ApiModelProperty("采购单价") @ApiModelProperty("采购单价")
private BigDecimal tb017; private BigDecimal tb017=BigDecimal.ZERO;
@ApiModelProperty("采购金额") @ApiModelProperty("采购金额")
private BigDecimal tb018; private BigDecimal tb018=BigDecimal.ZERO;
@ApiModelProperty("税种") @ApiModelProperty("税种")
private String tb026; private String tb026="1";
@ApiModelProperty("计价单位") @ApiModelProperty("计价单位")
private String tb043; private String tb043="PCS";
@ApiModelProperty("计价数量") @ApiModelProperty("计价数量")
private String tb044; private BigDecimal tb044=BigDecimal.ZERO;
@ApiModelProperty("客户订单号") @ApiModelProperty("客户订单号")
private String udf01; private String udf01;
@ApiModelProperty("委外产品图号") @ApiModelProperty("委外产品图号")
......
...@@ -3,55 +3,54 @@ package com.topsunit.scanservice.ximai.dto; ...@@ -3,55 +3,54 @@ package com.topsunit.scanservice.ximai.dto;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import javax.persistence.Id;
import java.math.BigDecimal; import java.math.BigDecimal;
/** /**
* <p>Title: PurtrCreateDto</p> * <p>Title: PurtrCreateParams</p>
* <p>Description: PurtrCreateDto</p> * <p>Description: PurtrCreateParams</p>
* *
* @author chicheng.li * @author chicheng.li
* @version V1.0 * @version V1.0
* @date 2024/10/22 * @date 2024/10/22
*/ */
@Data @Data
public class PurtrCreateDto { public class PurtrCreateParams {
@ApiModelProperty("单别") @ApiModelProperty("单别")
private String tr001; private String tr001="471";
@ApiModelProperty("单号") @ApiModelProperty("单号")
private String tr002; private String tr002;
@ApiModelProperty("序号") @ApiModelProperty("序号")
private String tr003; private String tr003="0001";
@ApiModelProperty("序号") @ApiModelProperty("序号")
private String tr004; private String tr004="0001";
@ApiModelProperty("采购数量") @ApiModelProperty("采购数量")
private BigDecimal tr006; private BigDecimal tr006;
@ApiModelProperty("采购比率") @ApiModelProperty("采购比率")
private BigDecimal tr007; private BigDecimal tr007=BigDecimal.ONE;
@ApiModelProperty("采购单位") @ApiModelProperty("采购单位")
private String tr008; private String tr008="PCS";
@ApiModelProperty("采购币种") @ApiModelProperty("采购币种")
private String tr009; private String tr009="RMB";
@ApiModelProperty("采购单价") @ApiModelProperty("采购单价")
private BigDecimal tr010; private BigDecimal tr010=BigDecimal.ZERO;
@ApiModelProperty("采购金额") @ApiModelProperty("采购金额")
private BigDecimal tr011; private BigDecimal tr011=BigDecimal.ZERO;
@ApiModelProperty("税种") @ApiModelProperty("税种")
private String tr012; private String tr012="1";
@ApiModelProperty("交货日") @ApiModelProperty("交货日")
private String tr013; private String tr013;
@ApiModelProperty("交货仓库") @ApiModelProperty("交货仓库")
private String tr014; private String tr014="06";
@ApiModelProperty("采购码") @ApiModelProperty("采购码")
private String tr017; private String tr017="N";
@ApiModelProperty("锁定码") @ApiModelProperty("锁定码")
private String tr018; private String tr018="N";
@ApiModelProperty("采购小单位") @ApiModelProperty("采购小单位")
private String tr024; private String tr024="PCS";
@ApiModelProperty("计价单位") @ApiModelProperty("计价单位")
private String tr026; private String tr026="PCS";
@ApiModelProperty("急料") @ApiModelProperty("急料")
private String tr015; private String tr015;
......
...@@ -49,6 +49,9 @@ public class Invmb extends EntityBase { ...@@ -49,6 +49,9 @@ public class Invmb extends EntityBase {
private String mb149; private String mb149;
@ApiModelProperty("客户品号") @ApiModelProperty("客户品号")
private String udf01; private String udf01;
/**
* 主要仓库
*/
@ApiModelProperty("主要仓库") @ApiModelProperty("主要仓库")
private String mb017; private String mb017;
/** /**
......
package com.topsunit.scanservice.ximai.entity; package com.topsunit.scanservice.ximai.entity;
import io.swagger.annotations.ApiModelProperty;
import javax.persistence.Entity; import javax.persistence.Entity;
import javax.persistence.Id; import javax.persistence.Id;
import javax.persistence.IdClass; import javax.persistence.IdClass;
...@@ -25,6 +27,10 @@ public class Invmc extends EntityBase { ...@@ -25,6 +27,10 @@ public class Invmc extends EntityBase {
public String mc013; public String mc013;
/**
* 主要库位
*/
@ApiModelProperty("主要库位")
public String mc015; public String mc015;
public String getMc001() { public String getMc001() {
......
...@@ -17,8 +17,8 @@ public class InvmcId implements Serializable { ...@@ -17,8 +17,8 @@ public class InvmcId implements Serializable {
} }
public InvmcId(String mc001, String mc002) { public InvmcId(String mc001, String mc002) {
this.mc001 = String.format("%1$-20s", mc001); this.mc001 = mc001;
this.mc002 = String.format("%1$-10s", mc002); this.mc002 = mc002;
} }
public String mc001; public String mc001;
......
package com.topsunit.scanservice.ximai.entity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.IdClass;
import java.math.BigDecimal;
/**
* <p>Title: Moctf</p>
* <p>Description: 生产入库单头档</p>
*
* @author chicheng.li
* @version V1.0
* @date 2024/10/23
*/
@Data
@Entity
@IdClass(MoctfId.class)
public class Moctf extends EntityBase {
@Id
@ApiModelProperty("入库单别")
private String tf001;
/**
* S+yyMMddxxxx
*/
@Id
@ApiModelProperty("入库单号")
private String tf002;
/**
* 入库日期
*/
@ApiModelProperty("入库日期")
private String tf003;
@ApiModelProperty("工厂编号")
private String tf004;
@ApiModelProperty("备注")
private String tf005;
@ApiModelProperty("审核码")
private String tf006;
@ApiModelProperty("生产记录更新码")
private String tf007;
@ApiModelProperty("生成分录-成本")
private String tf010;
@ApiModelProperty("签核状态码")
private String tf014;
@ApiModelProperty("自动扣料更新码")
private String tf009;
@ApiModelProperty("工作中心")
private String tf011;
/**
* 单据日期
*/
@ApiModelProperty("单据日期")
private String tf012;
@ApiModelProperty("部门")
private String tf016;
/**
* 总入库数
*/
@ApiModelProperty("总入库数")
private BigDecimal tf023;
/**
* 总验收数
*/
@ApiModelProperty("总验收数")
private BigDecimal tf024;
@ApiModelProperty("项目编号")
private String tf033;
}
package com.topsunit.scanservice.ximai.entity;
import lombok.Data;
import java.io.Serializable;
import java.util.Objects;
@Data
public class MoctfId implements Serializable {
public MoctfId() {
}
public MoctfId(String tf001, String tf002) {
this.tf001 = tf001;
this.tf002 = tf002;
}
private String tf001;
private String tf002;
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
MoctfId id = (MoctfId) o;
return tf001.equals(id.tf001) && tf002.equals(id.tf002);
}
@Override
public int hashCode() {
return Objects.hash(tf001, tf002);
}
}
package com.topsunit.scanservice.ximai.entity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.IdClass;
import java.math.BigDecimal;
/**
* <p>Title: Moctg</p>
* <p>Description: 生产入库单身档</p>
*
* @author chicheng.li
* @version V1.0
* @date 2024/10/23
*/
@Data
@Entity
@IdClass(MoctgId.class)
public class Moctg extends EntityBase {
@Id
@ApiModelProperty("入库单别")
private String tg001;
@Id
@ApiModelProperty("入库单号")
private String tg002;
@Id
@ApiModelProperty("序号")
private String tg003;
/**
* 产品品号
*/
@ApiModelProperty("产品品号")
private String tg004;
/**
* 品名
*/
@ApiModelProperty("品名")
private String tg005;
/**
* 规格
*/
@ApiModelProperty("规格")
private String tg006;
/**
* 单位
*/
@ApiModelProperty("单位")
private String tg007;
@ApiModelProperty("入/出别")
private Integer tg009;
/**
* tg010
*/
@ApiModelProperty("仓库")
private String tg010;
@ApiModelProperty("库位")
private String tg036;
@ApiModelProperty("库存单位")
private String tg037;
@ApiModelProperty("入库数量")
private BigDecimal tg011;
/**
* 工单单别
*/
@ApiModelProperty("工单单别")
private String tg014;
/**
* 工单单号
*/
@ApiModelProperty("工单单号")
private String tg015;
@ApiModelProperty("检验状态")
private String tg016="0";
@ApiModelProperty("急料")
private String tg024;
/**
* 生产日期
*/
@ApiModelProperty("生产日期")
private String tg030;
@ApiModelProperty("报废数量")
private BigDecimal tg012;
@ApiModelProperty("验退数量")
private BigDecimal tg023;
@ApiModelProperty("破坏数量")
private BigDecimal tg032;
@ApiModelProperty("验收数量")
private BigDecimal tg013;
}
package com.topsunit.scanservice.ximai.entity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.persistence.Id;
import java.io.Serializable;
import java.util.Objects;
@Data
public class MoctgId implements Serializable {
public MoctgId() {
}
public MoctgId(String tg001, String tg002, String tg003) {
this. tg001 = tg001;
this. tg002 = tg002;
this. tg003 = tg003;
}
@ApiModelProperty("入库单别")
private String tg001;
@ApiModelProperty("入库单号")
private String tg002;
@ApiModelProperty("序号")
private String tg003;
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
MoctgId id = (MoctgId) o;
return tg001.equals(id.tg001) && tg002.equals(id.tg002) && tg003.equals(id.tg003);
}
@Override
public int hashCode() {
return Objects.hash( tg001, tg002, tg003);
}
}
package com.topsunit.scanservice.ximai.entity; package com.topsunit.scanservice.ximai.entity;
import com.topsunit.scanservice.ximai.dto.PurtbCreateDto;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
...@@ -8,7 +7,6 @@ import javax.persistence.Entity; ...@@ -8,7 +7,6 @@ import javax.persistence.Entity;
import javax.persistence.Id; import javax.persistence.Id;
import javax.persistence.IdClass; import javax.persistence.IdClass;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.List;
/** /**
* <p>Title: Purta</p> * <p>Title: Purta</p>
......
...@@ -53,12 +53,30 @@ public class Purtb extends EntityBase { ...@@ -53,12 +53,30 @@ public class Purtb extends EntityBase {
private String tb016; private String tb016;
@ApiModelProperty("审核码") @ApiModelProperty("审核码")
private String tb025; private String tb025;
/**
* 销售单别
*/
@ApiModelProperty("销售单别")
private String tb029;
/**
* 销售单号
*/
@ApiModelProperty("销售单号") @ApiModelProperty("销售单号")
private String tb030; private String tb030;
/**
* 销售序号
*/
@ApiModelProperty("销售序号")
private String tb031;
/**
* 急料
*/
@ApiModelProperty("急料") @ApiModelProperty("急料")
private String tb032; private String tb032;
@ApiModelProperty("结束") @ApiModelProperty("结束")
private String tb039; private String tb039;
@ApiModelProperty("采购单位")
private String tb015;
@ApiModelProperty("采购单价") @ApiModelProperty("采购单价")
private BigDecimal tb017; private BigDecimal tb017;
@ApiModelProperty("采购金额") @ApiModelProperty("采购金额")
...@@ -69,8 +87,19 @@ public class Purtb extends EntityBase { ...@@ -69,8 +87,19 @@ public class Purtb extends EntityBase {
private String tb043; private String tb043;
@ApiModelProperty("计价数量") @ApiModelProperty("计价数量")
private String tb044; private String tb044;
/**
* 客户订单号
*/
@ApiModelProperty("客户订单号") @ApiModelProperty("客户订单号")
private String udf01; private String udf01;
/**
* 工单品号
*/
@ApiModelProperty("工单品号")
private String udf04;
/**
* 委外产品图号
*/
@ApiModelProperty("委外产品图号") @ApiModelProperty("委外产品图号")
private String udf10; private String udf10;
@ApiModelProperty("委外加工数量") @ApiModelProperty("委外加工数量")
......
package com.topsunit.scanservice.ximai.service;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUtil;
import com.topsunit.scanservice.ximai.common.TopsunitException;
import com.topsunit.scanservice.ximai.dao.*;
import com.topsunit.scanservice.ximai.dto.*;
import com.topsunit.scanservice.ximai.entity.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Calendar;
import java.util.concurrent.atomic.AtomicReference;
/**
* 完工入库申请服务
*/
@Service
public class MoctfService {
@Autowired
private MoctfDao moctfDao;
@Autowired
private MoctgDao moctgDao;
@Autowired
private InvmbDao invmbDao;
@Autowired
private InvmcDao invmcDao;
@Autowired
private MoctaDao moctaDao;
@Transactional
public void create(MoctfCreateParams create){
Moctf moctf = BeanUtil.toBeanIgnoreError(create, Moctf.class);
Calendar curr = Calendar.getInstance();
String currStr = DateUtil.format(curr.getTime(), "yyyyMMdd");
moctf.setTf003(currStr);
moctf.setTf012(currStr);
AtomicReference<String> ta083 = new AtomicReference<String>();
create.getDetails().forEach(s->{
Moctg moctg = BeanUtil.toBeanIgnoreError(s, Moctg.class);
//查询工单
Mocta mocta = moctaDao.findById(new MoctaId(s.getTg014(), s.getTg015())).orElseThrow(()->new TopsunitException(String.format("未找到对应工单%s,%s",s.getTg014(),s.getTg015())));
//查询物料
Invmb invmb = invmbDao.findById(mocta.getTa006()).orElseThrow(()->new TopsunitException(String.format("未找到对应物料:%s", s.getTg004())));
moctg.setTg004(invmb.getMb001());
moctg.setTg005(invmb.getMb002());
moctg.setTg006(invmb.getMb003());
moctg.setTg007(invmb.getMb004());
moctg.setTg037(invmb.getMb004());
moctg.setTg010(invmb.getMb017());
ta083.set(mocta.getTa083());
//查询物料默认仓库
Invmc invmc = invmcDao.findById(new InvmcId(invmb.getMb001(), invmb.getMb017())).orElseThrow(()->new TopsunitException(String.format("未找到对应物料默认库:%s,%s", invmb.getMb001(), invmb.getMb017())));
moctg.setTg036(invmc.getMc015());
moctg.setTg030(currStr);
moctgDao.save(moctg);
});
moctf.setTf033(ta083.get());
moctf.setTf023(create.getDetails().get(0).getTg011());
moctf.setTf024(create.getDetails().get(0).getTg011());
moctfDao.save(moctf);
}
}
package com.topsunit.scanservice.ximai.service; package com.topsunit.scanservice.ximai.service;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUtil;
import com.topsunit.scanservice.ximai.common.TopsunitException;
import com.topsunit.scanservice.ximai.dao.*; import com.topsunit.scanservice.ximai.dao.*;
import com.topsunit.scanservice.ximai.dto.PurmaCriteria; import com.topsunit.scanservice.ximai.dto.PurtaCreateParams;
import com.topsunit.scanservice.ximai.dto.PurmaDto; import com.topsunit.scanservice.ximai.dto.PurtrCreateParams;
import com.topsunit.scanservice.ximai.dto.PurtaCreateDto;
import com.topsunit.scanservice.ximai.dto.mapper.PurmaMapper;
import com.topsunit.scanservice.ximai.dto.mapper.PurtgMapper;
import com.topsunit.scanservice.ximai.entity.*; import com.topsunit.scanservice.ximai.entity.*;
import com.topsunit.scanservice.ximai.security.CurrentActor;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.jpa.domain.Specification;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.persistence.criteria.CriteriaBuilder; import java.math.BigDecimal;
import javax.persistence.criteria.CriteriaQuery; import java.util.Calendar;
import javax.persistence.criteria.Predicate;
import javax.persistence.criteria.Root;
import java.util.ArrayList;
import java.util.List;
/** /**
* <p>Title: PurtaService</p> * <p>Title: PurtaService</p>
...@@ -39,17 +31,38 @@ public class PurtaService { ...@@ -39,17 +31,38 @@ public class PurtaService {
PurtbDao purtbDao; PurtbDao purtbDao;
@Autowired @Autowired
PurtrDao purtrDao; PurtrDao purtrDao;
@Autowired
MoctaDao moctaDao;
@Transactional @Transactional
public void create(PurtaCreateDto create){ public void create(PurtaCreateParams create){
Mocta mocta = moctaDao.findById(new MoctaId(create.getOrderSource(), create.getWorkorderCode()))
.orElseThrow(()->new TopsunitException(String.format("未找到工单:%s-%s",create.getOrderSource(), create.getWorkorderCode())));
Calendar curr = Calendar.getInstance();
String currStr = DateUtil.format(curr.getTime(), "yyyyMMdd");
Purta purta = BeanUtil.toBeanIgnoreError(create, Purta.class); Purta purta = BeanUtil.toBeanIgnoreError(create, Purta.class);
purta.setUdf02(mocta.getUdf03());
purta.setUdf03(mocta.getTa027());
purta.setTa003(currStr);
purta.setTa013(currStr);
purtaDao.save(purta); purtaDao.save(purta);
create.getDetails().forEach(s->{ create.getDetails().forEach(s->{
Purtb purtb = BeanUtil.toBeanIgnoreError(s, Purtb.class); Purtb purtb = BeanUtil.toBeanIgnoreError(s, Purtb.class);
purtb.setTb001(create.getTa001());
purtb.setTb002(create.getTa002());
purtb.setTb032(mocta.getTa044());
purtb.setUdf01(mocta.getUdf03());
purtb.setUdf04(mocta.getTa006());
purtb.setUdf10(mocta.getUdf08());
purtb.setTb029(mocta.getTa026());
purtb.setTb030(mocta.getTa027());
purtb.setTb031(mocta.getTa028());
purtbDao.save(purtb); purtbDao.save(purtb);
}); Purtr purtr = BeanUtil.toBeanIgnoreError(new PurtrCreateParams(), Purtr.class);
create.getDetails2().forEach(s->{ purtr.setTr002(purtb.getTb002());
Purtr purtr = BeanUtil.toBeanIgnoreError(s, Purtr.class); purtr.setTr006(new BigDecimal(purtb.getUdf11()));
purtr.setTr013(purtb.getTb011());
purtr.setTr015(mocta.getTa044());
purtrDao.save(purtr); purtrDao.save(purtr);
}); });
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment