Commit 1aebcb65 authored by 鲁鑫's avatar 鲁鑫

采购信息记录增加字段,增加复制明细的功能

parent e69d95c5
......@@ -25,6 +25,7 @@
<x:hidden name="personMemberId"/>
<x:hidden name="personMemberName"/>
<x:hidden name="statusId"/>
<x:hidden name="ids"/>
<div class="hg-form-cols">
<div class="hg-form-row">
</div>
......
......@@ -17,6 +17,12 @@
<form class="hg-form ui-show" method="post" action="" id="queryMainForm">
<div class="hg-form-row">
<x:inputC name="billCode" label="采购信息记录编号" labelCol="1"/>
<x:hidden name="werks"/>
<x:inputC name="werksName" label="工厂" labelCol="1" wrapper="select"/>
<x:hidden name="lifnr"/>
<x:inputC name="name1" label="供应商" labelCol="1" wrapper="select"/>
<x:inputC name="matnr" label="物料" labelCol="1"/>
<x:selectC name="esokz" label="信息类别标识" labelCol="1" dictionary="esokz"/>
</div>
<x:searchButtons/>
</form>
......
......@@ -22,4 +22,6 @@ public interface SapPurchaseInfoRecordItemApplication {
List<SapPurchaseInfoRecordItem> findBySapPurchaseInfoRecordId(String sapPurchaseInfoRecordId);
void save(SapPurchaseInfoRecordItem sapPurchaseInfoRecordItem);
Map<String, Object> querySapPurchaseInfoRecordItemByIds(SapPurchaseInfoRecordQueryRequest request);
}
......@@ -2,6 +2,7 @@ package com.huigou.topsun.sap.purchaseInfoRecord.application.impl;
import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSONObject;
import com.huigou.cache.DictUtil;
import com.huigou.cache.SystemCache;
import com.huigou.data.domain.model.CommonDomainConstants;
import com.huigou.data.query.model.QueryDescriptor;
......@@ -121,14 +122,15 @@ public class SapPurchaseInfoRecordApplicationImpl extends FlowBroker implements
sapPurchaseInfoRecord.setStatusId(status.getId());
sapPurchaseInfoRecordRepository.save(sapPurchaseInfoRecord);
this.getSapPurchaseInfoRecordItemVo(bizId);
this.getSapPurchaseInfoRecordItemVo(sapPurchaseInfoRecord);
}
public void getSapPurchaseInfoRecordItemVo(String bizId){
List<SapPurchaseInfoRecordItem> purchaseInfoRecordItemList = sapPurchaseInfoRecordItemApplication.findBySapPurchaseInfoRecordId(bizId);
public void getSapPurchaseInfoRecordItemVo(SapPurchaseInfoRecord sapPurchaseInfoRecord){
List<SapPurchaseInfoRecordItem> purchaseInfoRecordItemList = sapPurchaseInfoRecordItemApplication.findBySapPurchaseInfoRecordId(sapPurchaseInfoRecord.getId());
purchaseInfoRecordItemList.forEach(sapPurchaseInfoRecordItem -> {
SapPurchaseInfoRecordItemVo sapPurchaseInfoRecordItemVo = new SapPurchaseInfoRecordItemVo();
BeanUtil.copyProperties(sapPurchaseInfoRecordItem,sapPurchaseInfoRecordItemVo);
sapPurchaseInfoRecordItemVo.setInfnr(sapPurchaseInfoRecord.getBillCode());
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
if (sapPurchaseInfoRecordItem.getDatab() !=null){
String datab = dateFormat.format(sapPurchaseInfoRecordItem.getDatab());
......@@ -138,6 +140,9 @@ public class SapPurchaseInfoRecordApplicationImpl extends FlowBroker implements
String datbi = dateFormat.format(sapPurchaseInfoRecordItem.getDatbi());
sapPurchaseInfoRecordItemVo.setDatbi(datbi);
}
if ("0".equals(sapPurchaseInfoRecordItemVo.getLoekz())){
sapPurchaseInfoRecordItemVo.setLoekz("");
}
try {
String url = SystemCache.getParameter("sap.PurchaseInfoRecord.url", String.class);
String execute = httpClient.execute(sapPurchaseInfoRecordItemVo, url);
......@@ -184,6 +189,8 @@ public class SapPurchaseInfoRecordApplicationImpl extends FlowBroker implements
QueryDescriptor queryDescriptor = this.sqlExecutorDao.getQuery(QUERY_XML_FILE_PATH, "sapPurchaseInfoRecordList");
QueryModel queryModel = this.sqlExecutorDao.getQueryModel(queryDescriptor, queryRequest);
queryModel.putDictionary("status", BizBillStatus.getMap());
queryModel.putDictionary("urzla", DictUtil.getDictionary("country"));
queryModel.putDictionary("loekz", DictUtil.getDictionary("loekz"));
return this.sqlExecutorDao.executeSlicedQuery(queryModel);
}
......
package com.huigou.topsun.sap.purchaseInfoRecord.application.impl;
import com.huigou.cache.DictUtil;
import com.huigou.data.query.model.QueryDescriptor;
import com.huigou.data.query.model.QueryModel;
import com.huigou.topsun.sap.purchaseInfoRecord.application.SapPurchaseInfoRecordItemApplication;
......@@ -31,13 +32,12 @@ public class SapPurchaseInfoRecordItemApplicationImpl extends BaseApplication im
@Override
public void saveSapPurchaseInfoRecordItem(String sapPurchaseInfoRecordId, List<SapPurchaseInfoRecordItem> sapPurchaseInfoRecordItems) {
sapPurchaseInfoRecordItems.forEach(sapPurchaseInfoRecordItem -> {
boolean checked = checkQualityInfo(sapPurchaseInfoRecordItem.getMatnr(), sapPurchaseInfoRecordItem.getLifnr(), sapPurchaseInfoRecordItem.getPrdat());
if (checked){
// boolean checked = checkQualityInfo(sapPurchaseInfoRecordItem.getMatnr(), sapPurchaseInfoRecordItem.getLifnr(), sapPurchaseInfoRecordItem.getPrdat());
// if (!checked){
// throw new RuntimeException("供应商:'"+sapPurchaseInfoRecordItem.getLifnr()+"'和物料:'"+sapPurchaseInfoRecordItem.getMatnr()+"'未通过质检或价格有效至已超过合格有效期");
// }
sapPurchaseInfoRecordItem.setSapPurchaseInfoRecordId(sapPurchaseInfoRecordId);
sapPurchaseInfoRecordItemRepository.save(sapPurchaseInfoRecordItem);
}else {
throw new RuntimeException("供应商:'"+sapPurchaseInfoRecordItem.getLifnr()+"'和物料:'"+sapPurchaseInfoRecordItem.getMatnr()+"'未通过质检或价格有效至已超过合格有效期");
}
});
}
......@@ -47,11 +47,20 @@ public class SapPurchaseInfoRecordItemApplicationImpl extends BaseApplication im
if (StringUtil.isNotBlank(queryRequest.getSapPurchaseInfoRecordId())){
QueryDescriptor queryDescriptor = this.sqlExecutorDao.getQuery(QUERY_XML_FILE_PATH, "sapPurchaseInfoRecordItems");
QueryModel queryModel = this.sqlExecutorDao.getQueryModel(queryDescriptor, queryRequest);
queryModel.putDictionary("urzla", DictUtil.getDictionary("country"));
map = this.sqlExecutorDao.executeSlicedQuery(queryModel);
}
return map;
}
@Override
public Map<String, Object> querySapPurchaseInfoRecordItemByIds(SapPurchaseInfoRecordQueryRequest request) {
QueryDescriptor queryDescriptor = this.sqlExecutorDao.getQuery(QUERY_XML_FILE_PATH, "sapPurchaseInfoRecordItemByIds");
QueryModel queryModel = this.sqlExecutorDao.getQueryModel(queryDescriptor, request);
Map<String, Object> map = this.sqlExecutorDao.executeSlicedQuery(queryModel);
return map;
}
@Override
public void deleteByIds(List<String> ids) {
ids.forEach(id->{
......
......@@ -3,12 +3,14 @@ package com.huigou.topsun.sap.purchaseInfoRecord.controller;
import com.huigou.context.Operator;
import com.huigou.context.OrgUnit;
import com.huigou.topsun.sap.purchaseInfoRecord.application.SapPurchaseInfoRecordApplication;
import com.huigou.topsun.sap.purchaseInfoRecord.application.SapPurchaseInfoRecordItemApplication;
import com.huigou.topsun.sap.purchaseInfoRecord.domain.SapPurchaseInfoRecord;
import com.huigou.topsun.sap.purchaseInfoRecord.domain.query.SapPurchaseInfoRecordQueryRequest;
import com.huigou.uasp.annotation.ControllerMapping;
import com.huigou.uasp.bmp.common.BizBillStatus;
import com.huigou.uasp.client.CommonController;
import com.huigou.util.SDO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import javax.annotation.Resource;
......@@ -29,6 +31,8 @@ public class SapPurchaseInfoRecordController extends CommonController {
@Resource
private SapPurchaseInfoRecordApplication sapPurchaseInfoRecordApplication;
@Autowired
private SapPurchaseInfoRecordItemApplication sapPurchaseInfoRecordItemApplication;
public String forwardSapPurchaseInfoRecordList(){
return forward("purchaseInfoRecordList");
......@@ -62,4 +66,19 @@ public class SapPurchaseInfoRecordController extends CommonController {
return forward("purchaseInfoRecordDetail",sapPurchaseInfoRecord);
}
public String copyPurchaseRecord(){
SDO sdo = this.getSDO();
String ids = sdo.getString("ids");
this.putAttribute("processDefinitionKey", SapPurchaseInfoRecordApplication.PROCESS_DEFINITION_KEY);
// 新增的时候procUnitId一定要设置成Apply,不然jsp页面的所有表单元素是readonly状态
this.putAttribute("procUnitId", "Apply");
this.putAttribute("ids",ids);
SapPurchaseInfoRecord sapPurchaseInfoRecord = new SapPurchaseInfoRecord();
sapPurchaseInfoRecord.setId(null);
sapPurchaseInfoRecord.setStatusId(BizBillStatus.APPLYING.getId());
Operator operator = getOperator();
sapPurchaseInfoRecord.setDefaultValues(new OrgUnit(operator.getFullId(), operator.getFullName()));
return forward("purchaseInfoRecordDetail",sapPurchaseInfoRecord);
}
}
......@@ -5,9 +5,11 @@ import com.huigou.topsun.sap.purchaseInfoRecord.domain.query.SapPurchaseInfoReco
import com.huigou.uasp.annotation.ControllerMapping;
import com.huigou.uasp.client.CommonController;
import com.huigou.util.SDO;
import com.huigou.util.StringUtil;
import org.springframework.stereotype.Controller;
import javax.annotation.Resource;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
......@@ -24,8 +26,15 @@ public class SapPurchaseInfoRecordItemController extends CommonController {
public String querySapPurchaseInfoRecordItems(){
SDO sdo = this.getSDO();
List<String> oldIds = sdo.getStringList("oldIds");
Map<String, Object> map = new HashMap<>();
SapPurchaseInfoRecordQueryRequest queryRequest = sdo.toQueryRequest(SapPurchaseInfoRecordQueryRequest.class);
Map<String, Object> map = sapPurchaseInfoRecordItemApplication.querySapPurchaseInfoRecordItem(queryRequest);
if (StringUtil.isNotBlank(queryRequest.getSapPurchaseInfoRecordId())){
map = sapPurchaseInfoRecordItemApplication.querySapPurchaseInfoRecordItem(queryRequest);
}
if (StringUtil.isBlank(queryRequest.getSapPurchaseInfoRecordId()) && StringUtil.isNotBlank(queryRequest.getIds())){
map = sapPurchaseInfoRecordItemApplication.querySapPurchaseInfoRecordItemByIds(queryRequest);
}
return toResult(map);
}
......
package com.huigou.topsun.sap.purchaseInfoRecord.domain;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.huigou.data.domain.model.AbstractEntity;
import lombok.Data;
......@@ -153,11 +154,6 @@ public class SapPurchaseInfoRecordItem extends AbstractEntity {
*/
@Column(name = "DATBI")
private Date datbi;
/**
* 等级数量
*/
@Column(name = "KSTBM")
private BigDecimal kstbm;
/**
* 销售员
*/
......@@ -199,6 +195,11 @@ public class SapPurchaseInfoRecordItem extends AbstractEntity {
*/
@Column(name = "REGIO")
private String regio;
/**
* 地区
*/
@Column(name = "REGIO_NAME")
private String regioName;
/**
* 删除标志
*/
......@@ -278,10 +279,38 @@ public class SapPurchaseInfoRecordItem extends AbstractEntity {
@Column(name = "KONMS")
private String konms;
/**
*价格
* 等级数量1
*/
@Column(name = "KSTBM")
private BigDecimal kstbm;
/**
*等级金额1
* */
@Column(name = "KBETR")
private BigDecimal kbetr;
/**
* 等级数量2
*/
@Column(name = "KSTBM2")
private BigDecimal kstbm2;
/**
* 等级金额2
*/
@Column(name = "KBETR2")
private BigDecimal kbetr2;
/**
* 等级数量3
*/
@Column(name = "KSTBM3")
private BigDecimal kstbm3;
/**
* 等级金额3
*/
@Column(name = "KBETR3")
private BigDecimal kbetr3;
/**
* 消息类型
......
......@@ -12,4 +12,10 @@ import lombok.Data;
public class SapPurchaseInfoRecordQueryRequest extends QueryAbstractRequest {
private String sapPurchaseInfoRecordId;
private String billCode;
private String ids;
private String werks;
private String lifnr;
private String matnr;
private String esokz;
}
......@@ -109,10 +109,42 @@ public class SapPurchaseInfoRecordItemVo implements Serializable {
@JsonProperty("DATBI")
private String datbi;
/**
* 等级数量
* 条件等级数量
*/
@JsonProperty("KSTBM")
private BigDecimal kstbm;
/**
* 等级金额1
*/
@JsonProperty("KBETR1")
private BigDecimal kbetr;
/**
* 条件等级数量2
*/
@JsonProperty("KSTBM2")
private BigDecimal kstbm2;
/**
* 等级金额2
*/
@JsonProperty("KBETR2")
private BigDecimal kbetr2;
/**
* 条件等级数量3
*/
@JsonProperty("KSTBM3")
private BigDecimal kstbm3;
/**
* 等级金额3
*/
@JsonProperty("KBETR3")
private BigDecimal kbetr3;
/**
* 销售员
*/
......
......@@ -9,10 +9,10 @@
where 1=1
</sql-query>
<condition column="bill_code" name="billCode" type="java.lang.String" symbol="like" alias="t"/>
<condition column="lifnr" name="lifnr" type="java.lang.String" symbol="like" alias="i"/>
<condition column="lifnr" name="lifnr" type="java.lang.String" symbol="=" alias="i"/>
<condition column="matnr" name="matnr" type="java.lang.String" symbol="like" alias="i"/>
<condition column="esokz" name="esokz" type="java.lang.String" symbol="like" alias="i"/>
<condition column="werks" name="werks" type="java.lang.String" symbol="like" alias="i"/>
<condition column="esokz" name="esokz" type="java.lang.String" symbol="=" alias="i"/>
<condition column="werks" name="werks" type="java.lang.String" symbol="=" alias="i"/>
</query>
</query-mappings>
\ No newline at end of file
......@@ -7,4 +7,65 @@
<condition column="SAP_PURCHASE_INFO_RECORD_ID" name="sapPurchaseInfoRecordId" type="java.lang.String" symbol="=" alias="t"/>
</query>
<query name="sapPurchaseInfoRecordItemByIds" label="根据id查询" table="sap_purchase_info_record_item">
<sql-query>
select
t.id,
'' as sap_purchase_info_record_id,
t.ZYY,
t.LIFNR,
t.MATNR,
t.INFNR,
t.ESOKZ,
t.VERKF,
t.TELF1,
t.MEINS,
t.UMREN,
t.UMREZ,
t.URZLA,
t.ZFLAG,
t.LOEKZ,
t.EKORG,
t.WERKS,
t.APLFZ,
t.EKGRP,
t.NORBM,
t.MINBM,
t.MWSKZ,
t.WEBRE,
t.NETPR,
t.WAERS,
t.PEINH,
t.BPRME,
t.KSCHL,
t.PRDAT,
t.BPUMN,
t.BPUMZ,
t.DATAB,
t.DATBI,
t.KSTBM,
t.KONMS,
t.KBETR,
t.SEND_TIME,
t.VERSION,
t.NAME1,
t.MAKTX,
t.MATKL,
t.VERID,
t.SORTL,
t.REGIO,
t.STFKZ,
t.IDNLF,
t.WERKS_NAME,
t.MEINS_NAME,
t.WAERS_NAME,
t.EKGRP_NAME,
t.LIFNR_NAME,
t.EKORG_NAME,
t.BPRME_NAME,
t.MATKL_NAME from sap_purchase_info_record_item t where 1=1
</sql-query>
<condition column="id" name="ids" symbol="in" alias="t"/>
</query>
</query-mappings>
\ No newline at end of file
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