Commit 8765bd80 authored by 李驰骋's avatar 李驰骋

请购单创建接口添加

parent ed6794b3
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/ximaiscanservice.iml" filepath="$PROJECT_DIR$/ximaiscanservice.iml" />
</modules>
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Palette2">
<group name="Swing">
<item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
</item>
<item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
</item>
<item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
</item>
<item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.svg" removable="false" auto-create-binding="false" can-attach-label="true">
<default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
</item>
<item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
<initial-values>
<property name="text" value="Button" />
</initial-values>
</item>
<item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
<initial-values>
<property name="text" value="RadioButton" />
</initial-values>
</item>
<item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
<initial-values>
<property name="text" value="CheckBox" />
</initial-values>
</item>
<item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
<initial-values>
<property name="text" value="Label" />
</initial-values>
</item>
<item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
</item>
<item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
<preferred-size width="200" height="200" />
</default-constraints>
</item>
<item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
<preferred-size width="200" height="200" />
</default-constraints>
</item>
<item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
</item>
<item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
</item>
<item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
</item>
<item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
</item>
<item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
<preferred-size width="-1" height="20" />
</default-constraints>
</item>
<item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
</item>
<item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
</item>
</group>
</component>
</project>
\ No newline at end of file
package com.topsunit.scanservice.ximai.controller;
import com.topsunit.scanservice.ximai.dto.InvmbCriteria;
import com.topsunit.scanservice.ximai.dto.InvmbDto;
import com.topsunit.scanservice.ximai.dto.InvmbIdCriteria;
import com.topsunit.scanservice.ximai.dto.*;
import com.topsunit.scanservice.ximai.service.InvmbService;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.PostMapping;
......@@ -39,4 +37,10 @@ public class InvmbController {
return invmbService.getInvmbList(criteria);
}
@ApiOperation("工单MES更新标识")
@PostMapping("/invmb/syncMark")
void syncMark(@RequestBody MoctaCriteria criteria){
}
}
......@@ -42,4 +42,18 @@ public class MoctaController {
List<MoctbDto> getMoctaList(@RequestBody MoctbCriteria criteria){
return moctaService.getMoctbList(criteria);
}
@ApiOperation("工单MES更新标识")
@PostMapping("/mocta/syncMark")
void updateSyncMark(@RequestBody MoctaUpdateParams params){
moctaService.updateSyncMark(params);
}
@ApiOperation("工单状态更新")
@PostMapping("/mocta/updateState")
void updateState(@RequestBody MoctaUpdateParams params){
moctaService.updateState(params);
}
}
package com.topsunit.scanservice.ximai.controller;
import com.topsunit.scanservice.ximai.dto.PurmaCriteria;
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 io.swagger.annotations.ApiOperation;
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.List;
/**
* <p>Title: PurmaController</p>
* <p>Description: 请购单</p>
*
* @author chicheng.li
* @version V1.0
* @date 2024/10/17
*/
@RestController
public class PurtaController {
@Autowired
private PurtaService purtaService;
@ApiOperation("新增请购单")
@PostMapping("/purta/insert")
public void create(@RequestBody PurtaCreateDto create){
purtaService.create(create);
}
}
package com.topsunit.scanservice.ximai.dao;
import com.topsunit.scanservice.ximai.entity.Purma;
import com.topsunit.scanservice.ximai.entity.Purta;
import com.topsunit.scanservice.ximai.entity.PurtaId;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
/**
* <p>Title: PurtaDao</p>
* <p>Description: PurtaDao</p>
*
* @author chicheng.li
* @version V1.0
* @date 2024/10/22
*/
public interface PurtaDao extends JpaRepository<Purta, PurtaId>, JpaSpecificationExecutor<Purta> {
}
package com.topsunit.scanservice.ximai.dao;
import com.topsunit.scanservice.ximai.entity.Purma;
import com.topsunit.scanservice.ximai.entity.Purtb;
import com.topsunit.scanservice.ximai.entity.PurtbId;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
/**
* <p>Title: PurtbDao</p>
* <p>Description: PurtbDao</p>
*
* @author chicheng.li
* @version V1.0
* @date 2024/10/22
*/
public interface PurtbDao extends JpaRepository<Purtb, PurtbId>, JpaSpecificationExecutor<Purtb> {
}
package com.topsunit.scanservice.ximai.dao;
import com.topsunit.scanservice.ximai.entity.Purtb;
import com.topsunit.scanservice.ximai.entity.PurtbId;
import com.topsunit.scanservice.ximai.entity.Purtr;
import com.topsunit.scanservice.ximai.entity.PurtrId;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
/**
* <p>Title: PurtrDao</p>
* <p>Description: PurtrDao</p>
*
* @author chicheng.li
* @version V1.0
* @date 2024/10/22
*/
public interface PurtrDao extends JpaRepository<Purtr, PurtrId>, JpaSpecificationExecutor<Purtr> {
}
......@@ -14,12 +14,14 @@ import java.util.List;
*/
@Data
public class MoctaCriteria extends PageParams {
/*工单单别*/
@ApiModelProperty("工单单别")
private String ta001;
/*工单单号*/
@ApiModelProperty("工单单号")
private String ta002;
@ApiModelProperty("审核码")
private String ta013;
@ApiModelProperty("同步标识")
private String udf07;
@ApiModelProperty("创建日期")
private String gtEqCreateDate;
@ApiModelProperty("修改日期")
......
package com.topsunit.scanservice.ximai.dto;
import com.topsunit.scanservice.ximai.common.PageParams;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Author: chicheng.li
* Date: 2024/10/17
* Description: 工单单头Dto
*/
@Data
public class MoctaUpdateParams {
@ApiModelProperty("工单单别")
private String ta001;
@ApiModelProperty("工单单号")
private String ta002;
@ApiModelProperty("审核码")
private String ta013;
@ApiModelProperty("同步标识")
private String udf07;
/**
* 生产中:3
* 关闭:y
*/
@ApiModelProperty("工单状态")
private String ta011;
}
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: PurtaCreateDto</p>
* <p>Description: PurtaCreateDto</p>
*
* @author chicheng.li
* @version V1.0
* @date 2024/10/22
*/
@Data
public class PurtaCreateDto {
@Id
@ApiModelProperty("请购单别")
private String ta001;
@Id
@ApiModelProperty("请购单号")
private String ta002;
@ApiModelProperty("请购日期")
private String ta003;
@ApiModelProperty("请购部门")
private String ta004;
@ApiModelProperty("审核码")
private String ta007;
@ApiModelProperty("数量合计")
private BigDecimal ta011;
@ApiModelProperty("来源")
private String ta009;
@ApiModelProperty("工厂")
private String ta010;
@ApiModelProperty("客户订单号")
private String udf02;
@ApiModelProperty("销售单号")
private String udf03;
@ApiModelProperty("单据日期")
private String ta013;
@ApiModelProperty("备注")
private String ta006;
@ApiModelProperty("明细")
private List<PurtbCreateDto> details;
@ApiModelProperty("明细2")
private List<PurtrCreateDto> details2;
}
package com.topsunit.scanservice.ximai.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.persistence.Id;
import java.math.BigDecimal;
/**
* <p>Title: PurtbCreateDto</p>
* <p>Description: PurtbCreateDto</p>
*
* @author chicheng.li
* @version V1.0
* @date 2024/10/22
*/
@Data
public class PurtbCreateDto {
@Id
@ApiModelProperty("单别")
private String tb001;
@Id
@ApiModelProperty("单号")
private String tb002;
@Id
@ApiModelProperty("序号")
private String tb003;
@ApiModelProperty("品号")
private String tb004;
@ApiModelProperty("品名")
private String tb005;
@ApiModelProperty("规格")
private String tb006;
@ApiModelProperty("请购单位")
private String tb007;
@ApiModelProperty("仓库")
private String tb008;
@ApiModelProperty("请购数量")
private BigDecimal tb009;
@ApiModelProperty("需求日期")
private String tb011;
@ApiModelProperty("锁定码")
private String tb020;
@ApiModelProperty("采购码")
private String tb021;
@ApiModelProperty("备注")
private String tb024;
@ApiModelProperty("审核码")
private String tb025;
@ApiModelProperty("销售单号")
private String tb030;
@ApiModelProperty("急料")
private String tb032;
@ApiModelProperty("结束")
private String tb039;
@ApiModelProperty("采购单价")
private BigDecimal tb017;
@ApiModelProperty("采购金额")
private BigDecimal tb018;
@ApiModelProperty("税种")
private String tb026;
@ApiModelProperty("计价单位")
private String tb043;
@ApiModelProperty("计价数量")
private String tb044;
@ApiModelProperty("客户订单号")
private String udf01;
@ApiModelProperty("委外产品图号")
private String udf10;
@ApiModelProperty("委外加工数量")
private String udf11;
@ApiModelProperty("委外工艺")
private String udf12;
}
package com.topsunit.scanservice.ximai.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.persistence.Id;
import java.math.BigDecimal;
/**
* <p>Title: PurtrCreateDto</p>
* <p>Description: PurtrCreateDto</p>
*
* @author chicheng.li
* @version V1.0
* @date 2024/10/22
*/
@Data
public class PurtrCreateDto {
@ApiModelProperty("单别")
private String tr001;
@ApiModelProperty("单号")
private String tr002;
@ApiModelProperty("序号")
private String tr003;
@ApiModelProperty("序号")
private String tr004;
@ApiModelProperty("采购数量")
private BigDecimal tr006;
@ApiModelProperty("采购比率")
private BigDecimal tr007;
@ApiModelProperty("采购单位")
private String tr008;
@ApiModelProperty("采购币种")
private String tr009;
@ApiModelProperty("采购单价")
private BigDecimal tr010;
@ApiModelProperty("采购金额")
private BigDecimal tr011;
@ApiModelProperty("税种")
private String tr012;
@ApiModelProperty("交货日")
private String tr013;
@ApiModelProperty("交货仓库")
private String tr014;
@ApiModelProperty("采购码")
private String tr017;
@ApiModelProperty("锁定码")
private String tr018;
@ApiModelProperty("采购小单位")
private String tr024;
@ApiModelProperty("计价单位")
private String tr026;
@ApiModelProperty("急料")
private String tr015;
}
......@@ -289,6 +289,8 @@ public class Mocta extends EntityBase {
private String udf04;
@ApiModelProperty("客户简称")
private String udf05;
@ApiModelProperty("同步标识")
private String udf07;
@ApiModelProperty("内部图号")
private String udf08;
......
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;
......@@ -13,73 +16,28 @@ import java.math.BigDecimal;
* @version V1.0
* @date 2021/10/27
*/
@Data
@Entity
@IdClass(MocthId.class)
public class Mocth extends EntityBase {
@Id
@ApiModelProperty("委外进货单别号")
private String th001;
@Id
@ApiModelProperty("委外进货单号")
private String th002;
@ApiModelProperty("委外供应商的编号")
private String th005;
@ApiModelProperty("汇率")
private BigDecimal th008;
@ApiModelProperty("税种")
private String th015;
@ApiModelProperty("审核码")
private String th023;
@ApiModelProperty("税率")
private BigDecimal th030;
public String getTh001() {
return th001;
}
public void setTh001(String th001) {
this.th001 = th001;
}
public String getTh002() {
return th002;
}
public void setTh002(String th002) {
this.th002 = th002;
}
public String getTh005() {
return th005;
}
public void setTh005(String th005) {
this.th005 = th005;
}
public BigDecimal getTh008() {
return th008;
}
public void setTh008(BigDecimal th008) {
this.th008 = th008;
}
public String getTh015() {
return th015;
}
public void setTh015(String th015) {
this.th015 = th015;
}
public String getTh023() {
return th023;
}
public void setTh023(String th023) {
this.th023 = th023;
}
public BigDecimal getTh030() {
return th030;
}
public void setTh030(BigDecimal th030) {
this.th030 = th030;
}
}
package com.topsunit.scanservice.ximai.entity;
import io.swagger.annotations.ApiModelProperty;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.IdClass;
......@@ -17,10 +19,13 @@ import java.math.BigDecimal;
@IdClass(MoctiId.class)
public class Mocti extends EntityBase {
@Id
@ApiModelProperty("委外进货单别")
private String ti001;
@Id
@ApiModelProperty("委外进货单号")
private String ti002;
@Id
@ApiModelProperty("序号")
private String ti003;
private String ti004;
private String ti005;
......
package com.topsunit.scanservice.ximai.entity;
import com.topsunit.scanservice.ximai.dto.PurtbCreateDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.IdClass;
import java.math.BigDecimal;
import java.util.List;
/**
* <p>Title: Purta</p>
* <p>Description: 请购单单头信息档</p>
*
* @author chicheng.li
* @version V1.0
* @date 2024/10/22
*/
@Data
@Entity
@IdClass(PurtaId.class)
public class Purta extends EntityBase {
@Id
@ApiModelProperty("请购单别")
private String ta001;
@Id
@ApiModelProperty("请购单号")
private String ta002;
@ApiModelProperty("请购日期")
private String ta003;
@ApiModelProperty("请购部门")
private String ta004;
@ApiModelProperty("审核码")
private String ta007;
@ApiModelProperty("数量合计")
private BigDecimal ta011;
@ApiModelProperty("来源")
private String ta009;
@ApiModelProperty("工厂")
private String ta010;
@ApiModelProperty("客户订单号")
private String udf02;
@ApiModelProperty("销售单号")
private String udf03;
@ApiModelProperty("单据日期")
private String ta013;
@ApiModelProperty("备注")
private String ta006;
}
package com.topsunit.scanservice.ximai.entity;
import lombok.Data;
import java.io.Serializable;
import java.util.Objects;
/**
* <p>Title: PurtaId</p>
* <p>Description: 请购单单头信息档ID</p>
*
* @author chicheng.li
* @version V1.0
*/
@Data
public class PurtaId implements Serializable {
public PurtaId() {
}
public PurtaId(String ta001, String ta002) {
this.ta001 = ta001;
this.ta002 = ta002;
}
/**
* 请购单别
*/
private String ta001;
/**
* 请购单号
*/
private String ta002;
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
PurtaId id = (PurtaId) o;
return ta001.equals(id.ta001) && ta002.equals(id.ta002);
}
@Override
public int hashCode() {
return Objects.hash(ta001, ta002);
}
}
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: Purtb</p>
* <p>Description: 请购单单身信息档</p>
*
* @author chicheng.li
* @version V1.0
* @date 2024/10/22
*/
@Data
@Entity
@IdClass(PurtbId.class)
public class Purtb extends EntityBase {
@Id
@ApiModelProperty("单别")
private String tb001;
@Id
@ApiModelProperty("单号")
private String tb002;
@Id
@ApiModelProperty("序号")
private String tb003;
@ApiModelProperty("品号")
private String tb004;
@ApiModelProperty("品名")
private String tb005;
@ApiModelProperty("规格")
private String tb006;
@ApiModelProperty("请购单位")
private String tb007;
@ApiModelProperty("仓库")
private String tb008;
@ApiModelProperty("请购数量")
private BigDecimal tb009;
@ApiModelProperty("需求日期")
private String tb011;
@ApiModelProperty("锁定码")
private String tb020;
@ApiModelProperty("采购码")
private String tb021;
@ApiModelProperty("备注")
private String tb024;
@ApiModelProperty("采购币种")
private String tb016;
@ApiModelProperty("审核码")
private String tb025;
@ApiModelProperty("销售单号")
private String tb030;
@ApiModelProperty("急料")
private String tb032;
@ApiModelProperty("结束")
private String tb039;
@ApiModelProperty("采购单价")
private BigDecimal tb017;
@ApiModelProperty("采购金额")
private BigDecimal tb018;
@ApiModelProperty("税种")
private String tb026;
@ApiModelProperty("计价单位")
private String tb043;
@ApiModelProperty("计价数量")
private String tb044;
@ApiModelProperty("客户订单号")
private String udf01;
@ApiModelProperty("委外产品图号")
private String udf10;
@ApiModelProperty("委外加工数量")
private String udf11;
@ApiModelProperty("委外工艺")
private String udf12;
}
package com.topsunit.scanservice.ximai.entity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.Objects;
/**
* <p>Title: PurtbId</p>
* <p>Description: PurtbId</p>
*
* @author xi.feng
* @version V1.0
*/
@Data
public class PurtbId implements Serializable {
public PurtbId() {
}
public PurtbId(String tb001, String tb002, String tb003) {
this.tb001 = String.format("%1$-20s", tb001);
this.tb002 = String.format("%1$-4s", tb002);
}
/**
* 单别
*/
@ApiModelProperty("单别")
private String tb001;
/**
* 单号
*/
@ApiModelProperty("单号")
private String tb002;
/**
* 序号
*/
@ApiModelProperty("序号")
private String tb003;
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
PurtbId id = (PurtbId) o;
return tb001.equals(id.tb001) && tb002.equals(id.tb002) && tb003.equals(id.tb003);
}
@Override
public int hashCode() {
return Objects.hash(tb001, tb002, tb003);
}
}
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: Purtr</p>
* <p>Description: 请购单单子身信息档</p>
*
* @author chicheng.li
* @version V1.0
* @date 2024/10/22
*/
@Data
@Entity
@IdClass(PurtrId.class)
public class Purtr extends EntityBase {
@Id
@ApiModelProperty("单别")
private String tr001;
@Id
@ApiModelProperty("单号")
private String tr002;
@Id
@ApiModelProperty("序号")
private String tr003;
@Id
@ApiModelProperty("序号")
private String tr004;
@ApiModelProperty("采购数量")
private BigDecimal tr006;
@ApiModelProperty("采购比率")
private BigDecimal tr007;
@ApiModelProperty("采购单位")
private String tr008;
@ApiModelProperty("采购币种")
private String tr009;
@ApiModelProperty("采购单价")
private BigDecimal tr010;
@ApiModelProperty("采购金额")
private BigDecimal tr011;
@ApiModelProperty("税种")
private String tr012;
@ApiModelProperty("交货日")
private String tr013;
@ApiModelProperty("交货仓库")
private String tr014;
@ApiModelProperty("采购码")
private String tr017;
@ApiModelProperty("锁定码")
private String tr018;
@ApiModelProperty("采购小单位")
private String tr024;
@ApiModelProperty("计价单位")
private String tr026;
@ApiModelProperty("急料")
private String tr015;
}
package com.topsunit.scanservice.ximai.entity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.Objects;
/**
* <p>Title: PurtrId</p>
* <p>Description: PurtrId</p>
*
* @author xi.feng
* @version V1.0
*/
@Data
public class PurtrId implements Serializable {
public PurtrId() {
}
public PurtrId(String tr001, String tr002, String tr003, String tr004) {
this.tr001 = tr001;
this.tr002 = tr002;
this.tr003 = tr003;
this.tr004 = tr004;
}
/**
* 单别
*/
@ApiModelProperty("单别")
private String tr001;
/**
* 单号
*/
@ApiModelProperty("单号")
private String tr002;
/**
* 序号
*/
@ApiModelProperty("序号")
private String tr003;
/**
* 序号
*/
@ApiModelProperty("序号")
private String tr004;
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
PurtrId id = (PurtrId) o;
return tr001.equals(id.tr001) && tr002.equals(id.tr002)
&& tr003.equals(id.tr003)&& tr004.equals(id.tr004);
}
@Override
public int hashCode() {
return Objects.hash(tr001, tr002, tr003, tr004);
}
}
......@@ -14,6 +14,7 @@ import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.domain.Specification;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.RequestBody;
import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.CriteriaQuery;
......@@ -72,6 +73,10 @@ public class MoctaService {
Predicate predicate = criteriaBuilder.equal(root.get("ta001"), criteria.getTa001() );
predicates.add(predicate);
}
if (StringUtils.isNotBlank(criteria.getUdf07())) {
Predicate predicate = criteriaBuilder.notEqual(root.get("udf07"), criteria.getUdf07() );
predicates.add(predicate);
}
if (StringUtils.isNotBlank(criteria.getGtEqCreateDate())) {
Predicate predicate = criteriaBuilder.greaterThanOrEqualTo(root.get("createDate"), criteria.getGtEqCreateDate());
predicates.add(predicate);
......@@ -95,8 +100,6 @@ public class MoctaService {
return rstList;
}
public List<MoctbDto> getMoctbList(MoctbCriteria criteria) {
Specification<Moctb> query = new Specification<Moctb>() {
@Override
......@@ -117,5 +120,38 @@ public class MoctaService {
return moctaMapper.toMoctbDto(list);
}
public void updateSyncMark(@RequestBody MoctaUpdateParams params){
Specification<Mocta> query = new Specification<Mocta>() {
@Override
public Predicate toPredicate(Root<Mocta> root, CriteriaQuery<?> criteriaQuery, CriteriaBuilder criteriaBuilder) {
List<Predicate> predicates = new ArrayList<Predicate>();
predicates.add(criteriaBuilder.equal(root.get("ta002"), params.getTa002() ));
predicates.add(criteriaBuilder.equal(root.get("ta001"), params.getTa001() ));
return criteriaQuery.where(predicates.toArray(new Predicate[0])).getRestriction();
}
};
List<Mocta> list = moctaDao.findAll(query);
list.forEach(s->{
s.setUdf07(params.getUdf07());
moctaDao.save(s);
});
}
public void updateState(@RequestBody MoctaUpdateParams params){
Specification<Mocta> query = new Specification<Mocta>() {
@Override
public Predicate toPredicate(Root<Mocta> root, CriteriaQuery<?> criteriaQuery, CriteriaBuilder criteriaBuilder) {
List<Predicate> predicates = new ArrayList<Predicate>();
predicates.add(criteriaBuilder.equal(root.get("ta002"), params.getTa002() ));
predicates.add(criteriaBuilder.equal(root.get("ta001"), params.getTa001() ));
return criteriaQuery.where(predicates.toArray(new Predicate[0])).getRestriction();
}
};
List<Mocta> list = moctaDao.findAll(query);
list.forEach(s->{
s.setTa011(params.getTa011());
moctaDao.save(s);
});
}
}
package com.topsunit.scanservice.ximai.service;
import cn.hutool.core.bean.BeanUtil;
import com.topsunit.scanservice.ximai.dao.*;
import com.topsunit.scanservice.ximai.dto.PurmaCriteria;
import com.topsunit.scanservice.ximai.dto.PurmaDto;
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.security.CurrentActor;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.jpa.domain.Specification;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Predicate;
import javax.persistence.criteria.Root;
import java.util.ArrayList;
import java.util.List;
/**
* <p>Title: PurtaService</p>
* <p>Description: 请购单单身信息档服务</p>
*
* @author chicheng.li
* @version V1.0
* @date 2024/10/22
*/
@Service
public class PurtaService {
@Autowired
PurtaDao purtaDao;
@Autowired
PurtbDao purtbDao;
@Autowired
PurtrDao purtrDao;
@Transactional
public void create(PurtaCreateDto create){
Purta purta = BeanUtil.toBeanIgnoreError(create, Purta.class);
purtaDao.save(purta);
create.getDetails().forEach(s->{
Purtb purtb = BeanUtil.toBeanIgnoreError(s, Purtb.class);
purtbDao.save(purtb);
});
create.getDetails2().forEach(s->{
Purtr purtr = BeanUtil.toBeanIgnoreError(s, Purtr.class);
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