Commit 43c8d5f5 by 高晓磊

地磅同步,修改购砂单位的逻辑(出现不签合同的大客户的情况)

parent f74dedff
...@@ -249,9 +249,9 @@ ext { ...@@ -249,9 +249,9 @@ ext {
javax_persistence_api: "javax.persistence:javax.persistence-api:2.2", javax_persistence_api: "javax.persistence:javax.persistence-api:2.2",
jboss_javax_transaction_api: "org.jboss.spec.javax.transaction:jboss-transaction-api_1.2_spec:1.1.1.Final", jboss_javax_transaction_api: "org.jboss.spec.javax.transaction:jboss-transaction-api_1.2_spec:1.1.1.Final",
hibernate_common_annotations: "org.hibernate.common:hibernate-commons-annotations:5.0.4.Final", hibernate_common_annotations: "org.hibernate.common:hibernate-commons-annotations:5.0.4.Final",
net_byte_buddy: "net.bytebuddy:byte-buddy:1.8.15" net_byte_buddy: "net.bytebuddy:byte-buddy:1.8.15",
thumbnailator: "net.coobird:thumbnailator:0.4.8"
] ]
} }
...@@ -411,6 +411,7 @@ configurations.all { ...@@ -411,6 +411,7 @@ configurations.all {
force lib.hibernate_common_annotations force lib.hibernate_common_annotations
force lib.jboss_javax_transaction_api force lib.jboss_javax_transaction_api
force lib.net_byte_buddy force lib.net_byte_buddy
force lib.thumbnailator
exclude group: "c3p0", module: "c3p0" exclude group: "c3p0", module: "c3p0"
exclude group: "dom4j", module: "dom4j" exclude group: "dom4j", module: "dom4j"
......
...@@ -3,6 +3,7 @@ package com.xyst.dinas.finance.internal.service; ...@@ -3,6 +3,7 @@ package com.xyst.dinas.finance.internal.service;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.UUID; import java.util.UUID;
import com.xyst.dinas.project.service.PurchaseSandCompanyService;
import org.json.JSONObject; import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
...@@ -18,34 +19,48 @@ import com.xyst.dinas.finance.service.ArtificialRechargeService; ...@@ -18,34 +19,48 @@ import com.xyst.dinas.finance.service.ArtificialRechargeService;
import com.xyst.dinas.sales.processor.StockAmountWarnCalculate; import com.xyst.dinas.sales.processor.StockAmountWarnCalculate;
public class ArtificialRechargeServiceImpl implements ArtificialRechargeService { public class ArtificialRechargeServiceImpl implements ArtificialRechargeService {
@Autowired @Autowired
private ContractDao contractDao; private ContractDao contractDao;
@Autowired @Autowired
private WarningService warningService; private WarningService warningService;
@Autowired
@Override private PurchaseSandCompanyService purchaseSandCompanyService;
@Transactional
public Object adjustContractBalance(JSONObject jsonObject) { @Override
try{ @Transactional
UUID contractId = UUID.fromString(jsonObject.getString("contractId")); public Object adjustContractBalance(JSONObject jsonObject) {
KObject contract = contractDao.load(contractId); try {
if (FundTypeEnum.ADVANCE.name().equals(jsonObject.getString("fundType"))) { if (!jsonObject.has("contractId")) {
contract.set("advanceBalance", contract.getBigDecimal("advanceBalance") == null ? new BigDecimal("0").add(jsonObject.getBigDecimal("rechargeAmount")) : contract.getBigDecimal("advanceBalance").add(jsonObject.getBigDecimal("rechargeAmount"))); //如果没有选合同,默认将金额带入到购砂单位
} else if(FundTypeEnum.DEPOSIT.name().equals(jsonObject.getString("fundType"))){ UUID purchaseSandId1 = UUID.fromString(jsonObject.getString("purchaseSandId"));
contract.set("depositBalance", contract.getBigDecimal("depositBalance") == null ? new BigDecimal("0").add(jsonObject.getBigDecimal("rechargeAmount")) : contract.getBigDecimal("depositBalance").add(jsonObject.getBigDecimal("rechargeAmount"))); KObject byId = purchaseSandCompanyService.getById(purchaseSandId1);
} BigDecimal advanceBalance = byId.getBigDecimal("advanceBalance");
contractDao.update(contract); if (advanceBalance == null) {
BaseBusinessWarn warn = warningService.createWarn("合同", contract.getUuid("contractId"), "预付款余额"); advanceBalance = BigDecimal.ZERO;
warn.setWarningCalculate(new StockAmountWarnCalculate(contract.getDouble("advanceBalance"))); }
warn.warn(); BigDecimal rechargeAmount = advanceBalance.add(jsonObject.getBigDecimal("rechargeAmount"));
return ResponseObj.success(); byId.set("advanceBalance", rechargeAmount);
} catch(Exception e){ return ResponseObj.success();
return ResponseObj.error(); }
} UUID contractId = UUID.fromString(jsonObject.getString("contractId"));
KObject contract = contractDao.load(contractId);
if (FundTypeEnum.ADVANCE.name().equals(jsonObject.getString("fundType"))) {
} contract.set("advanceBalance", contract.getBigDecimal("advanceBalance") == null ? new BigDecimal("0").add(jsonObject.getBigDecimal("rechargeAmount")) : contract.getBigDecimal("advanceBalance").add(jsonObject.getBigDecimal("rechargeAmount")));
} else if (FundTypeEnum.DEPOSIT.name().equals(jsonObject.getString("fundType"))) {
contract.set("depositBalance", contract.getBigDecimal("depositBalance") == null ? new BigDecimal("0").add(jsonObject.getBigDecimal("rechargeAmount")) : contract.getBigDecimal("depositBalance").add(jsonObject.getBigDecimal("rechargeAmount")));
}
contractDao.update(contract);
BaseBusinessWarn warn = warningService.createWarn("合同", contract.getUuid("contractId"), "预付款余额");
warn.setWarningCalculate(new StockAmountWarnCalculate(contract.getDouble("advanceBalance")));
warn.warn();
return ResponseObj.success();
} catch (Exception e) {
return ResponseObj.error();
}
}
} }
package com.xyst.dinas.finance.web; package com.xyst.dinas.finance.web;
import org.json.JSONArray; import com.xyst.dinas.finance.service.ArtificialRechargeService;
import org.json.JSONObject; import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import com.xyst.dinas.finance.service.ArtificialRechargeService;
import com.xyst.dinas.finance.service.BankRechargeDetailService;
import com.xyst.dinas.finance.service.ExpenseAdjustService;
/** /**
* 人工充值 * 人工充值
......
package com.xyst.dinas.project.dao; package com.xyst.dinas.project.dao;
import java.math.BigDecimal;
import java.util.List; import java.util.List;
import java.util.UUID; import java.util.UUID;
...@@ -13,4 +14,5 @@ public interface PurchaseSandCompanyDao { ...@@ -13,4 +14,5 @@ public interface PurchaseSandCompanyDao {
void updateEnableStatus(String modelPath, boolean enable, UUID id); void updateEnableStatus(String modelPath, boolean enable, UUID id);
void updateAdvanceBalance(KObject kObjects, BigDecimal advanceBalance);
} }
package com.xyst.dinas.project.internal.dao; package com.xyst.dinas.project.internal.dao;
import java.math.BigDecimal;
import java.util.List; import java.util.List;
import java.util.UUID; import java.util.UUID;
...@@ -55,4 +56,14 @@ public class PurchaseSandCompanyDaoImpl implements PurchaseSandCompanyDao, Purch ...@@ -55,4 +56,14 @@ public class PurchaseSandCompanyDaoImpl implements PurchaseSandCompanyDao, Purch
}); });
} }
@Override
public void updateAdvanceBalance(KObject kObject, BigDecimal advanceBalance) {
BigDecimal advanceBalance1 = kObject.getBigDecimal("advanceBalance");
if(advanceBalance1==null){
advanceBalance1=BigDecimal.ZERO;
}
kObject.set("advanceBalance",advanceBalance1.subtract(advanceBalance));
template.update(kObject);
}
} }
...@@ -29,6 +29,15 @@ ...@@ -29,6 +29,15 @@
<annotation id='0baa0800-831f-4857-b5f6-297ede314d3d' attributeId='ff4de660-27c0-4194-9a90-4e85b0a93d67' name='length' value='100'> <annotation id='0baa0800-831f-4857-b5f6-297ede314d3d' attributeId='ff4de660-27c0-4194-9a90-4e85b0a93d67' name='length' value='100'>
</annotation> </annotation>
</attribute> </attribute>
<attribute id='f939574e-9048-4bbe-b6dd-05e71c959bb5' name='plateNumber' columnName='plate_number' title='车牌号' type='string' default='' precision='' isArray='false'>
<annotation id='b20d06ff-608d-43ff-8b60-10d7f3dfefa6' attributeId='fa2260e3-469c-4a8a-be99-5af1c4edc0af' name='length' value='100'>
</annotation>
</attribute>
<attribute id='df8e7c28-f9e0-448b-9b4b-ed6672ad0603' name='advanceBalance' columnName='advance_balance' title='预付款余额' type='fixnum' default='' precision='' isArray='false'>
<annotation id='def63ca3-7912-4d39-bf4a-f8d336ff740e' attributeId='271e8c52-b776-4f8b-855d-09af5ad75040' name='length' value='100'></annotation>
<annotation id='bc4da75a-dcd1-46f4-ae12-4d7d234f1e96' attributeId='e11978e0-9a48-4605-a2d4-0e314e5d4e31' name='precision' value='12'></annotation>
<annotation id='684298d0-aa28-4607-9c1d-63f35ea361c2' attributeId='11df3d8e-9ec1-4bce-8701-e4a5f5a3f721' name='scale' value='2'></annotation>
</attribute>
<attribute id='63bc034a-9a4c-41df-b0a4-b62bd8b05882' name='regionalCompany' columnName='regional_company' title='区域公司' type='com.xyst.dinas.biz.datamodel.xystOrganization' default='' precision='' isArray='false'> <attribute id='63bc034a-9a4c-41df-b0a4-b62bd8b05882' name='regionalCompany' columnName='regional_company' title='区域公司' type='com.xyst.dinas.biz.datamodel.xystOrganization' default='' precision='' isArray='false'>
<annotation id='6d9ba751-13b0-47ad-9c0b-f37623ea7e28' attributeId='b215857b-a8b8-4ffc-88c9-c7bb46bed28c' name='length' value='undefined'> <annotation id='6d9ba751-13b0-47ad-9c0b-f37623ea7e28' attributeId='b215857b-a8b8-4ffc-88c9-c7bb46bed28c' name='length' value='undefined'>
</annotation> </annotation>
......
...@@ -107,6 +107,30 @@ ...@@ -107,6 +107,30 @@
<m:description></m:description> <m:description></m:description>
<m:default></m:default> <m:default></m:default>
</m:attribute> </m:attribute>
<m:attribute>
<m:annotations>
<m:annotation>
<m:type>bcp.type.constraint.StringLength</m:type>
<m:value>30</m:value>
</m:annotation>
<m:annotation>
<m:type>javax.persistence.Column</m:type>
<m:properties>
<m:property>
<m:key>name</m:key>
<m:value>plate_number</m:value>
</m:property>
</m:properties>
</m:annotation>
</m:annotations>
<m:id>6e1784e7-5dc2-40a9-9cb6-9d2abda2292f</m:id>
<m:name>plateNumber</m:name>
<m:title>车牌号</m:title>
<m:type>string</m:type>
<m:description></m:description>
<m:default></m:default>
</m:attribute>
<m:attribute> <m:attribute>
<m:annotations> <m:annotations>
<m:annotation> <m:annotation>
...@@ -156,6 +180,38 @@ ...@@ -156,6 +180,38 @@
<m:description></m:description> <m:description></m:description>
<m:default></m:default> <m:default></m:default>
</m:attribute> </m:attribute>
<m:attribute>
<m:annotations>
<m:annotation>
<m:type>bcp.type.constraint.Numeric</m:type>
<m:properties>
<m:property>
<m:key>precision</m:key>
<m:value>12</m:value>
</m:property>
<m:property>
<m:key>scale</m:key>
<m:value>2</m:value>
</m:property>
</m:properties>
</m:annotation>
<m:annotation>
<m:type>javax.persistence.Column</m:type>
<m:properties>
<m:property>
<m:key>name</m:key>
<m:value>advance_balance</m:value>
</m:property>
</m:properties>
</m:annotation>
</m:annotations>
<m:id>5ea9c8c3-989d-4534-afd9-ae8cae3dcdb1</m:id>
<m:name>advanceBalance</m:name>
<m:title>预付款余额</m:title>
<m:type>fixnum</m:type>
<m:description></m:description>
<m:default></m:default>
</m:attribute>
</m:attributes> </m:attributes>
</m:class> </m:class>
</content> </content>
......
...@@ -148,6 +148,26 @@ ...@@ -148,6 +148,26 @@
<m:desc></m:desc> <m:desc></m:desc>
</m:field> </m:field>
<m:field> <m:field>
<m:name>advanceBalance</m:name>
<m:title>预付款余额</m:title>
<m:type>fixnum</m:type>
<m:ref>
<m:name></m:name>
<m:type></m:type>
</m:ref>
<m:desc></m:desc>
</m:field>
<m:field>
<m:name>plateNumber</m:name>
<m:title>车牌号</m:title>
<m:type>string</m:type>
<m:ref>
<m:name></m:name>
<m:type></m:type>
</m:ref>
<m:desc>车牌号</m:desc>
</m:field>
<m:field>
<m:name>discard</m:name> <m:name>discard</m:name>
<m:title>废弃</m:title> <m:title>废弃</m:title>
<m:type>boolean</m:type> <m:type>boolean</m:type>
......
...@@ -51,6 +51,17 @@ ...@@ -51,6 +51,17 @@
<property name="contactNumber" type="nstring" not-null="false"> <property name="contactNumber" type="nstring" not-null="false">
<column name="contact_number" length="100"></column> <column name="contact_number" length="100"></column>
</property> </property>
<property name="plateNumber" type="nstring" not-null="false">
<column name="plate_number" length="100">
<comment>车牌号,没有合同的大客户才有这个值</comment>
</column>
</property>
<property name="advanceBalance" type="big_decimal" not-null="false">
<column name="advance_balance" precision="12" scale="4">
<comment>预付款余额,对应没有合同的大客户</comment>
</column>
</property>
<many-to-one name="regionalCompany" entity-name="com.xyst.dinas.biz.datamodel.xystOrganization" fetch="select"> <many-to-one name="regionalCompany" entity-name="com.xyst.dinas.biz.datamodel.xystOrganization" fetch="select">
<column name="regional_company" not-null="false"></column> <column name="regional_company" not-null="false"></column>
</many-to-one> </many-to-one>
......
...@@ -236,7 +236,8 @@ public class SalesPlanDao { ...@@ -236,7 +236,8 @@ public class SalesPlanDao {
detachedCriteria.add(Restrictions.eq("purchaseSandUnit.id", purchaseSandUnitId)); detachedCriteria.add(Restrictions.eq("purchaseSandUnit.id", purchaseSandUnitId));
detachedCriteria.add(Restrictions.eq("master.planningCycle.id", planningCycleId)); detachedCriteria.add(Restrictions.eq("master.planningCycle.id", planningCycleId));
detachedCriteria.add(Restrictions.eq("project.id", projectId)); detachedCriteria.add(Restrictions.eq("project.id", projectId));
return (List<KObject>) template.findByCriteria(detachedCriteria); detachedCriteria.add(Restrictions.eq(BaseConstants.MASTER+"."+SalesPlanConstant.APPROVE_STATE, BizProcessState.DONE_WITH_AGREE.getValue()));
return (List<KObject>) template.findByCriteria(detachedCriteria);
} }
/** /**
...@@ -391,5 +392,27 @@ public class SalesPlanDao { ...@@ -391,5 +392,27 @@ public class SalesPlanDao {
} }
/**
* 根据车牌号获取本周期下的已有的销售计划
* @param carNum
* @param station
* @return
*/
public List<KObject> getSaleByCarNum(String carNum, KObject station) {
KClass bean = Amino.getStaticMetadataContext().getBean(SalesPlanConstant.ENTITY_DETAIL, KClass.class);
DetachedCriteria detachedCriteria = DetachedCriteria.forEntityName(bean.getName());
dinasTypeDao.addRegionalCompanyFilter(detachedCriteria);
detachedCriteria.createAlias("master", "master");
detachedCriteria.createAlias(BaseConstants.MASTER+".planningCycle", "planningCycle");
detachedCriteria.createAlias("station", "station");
detachedCriteria.createAlias("contract", "contract");
detachedCriteria.add(Restrictions.le("planningCycle.startTime", new Date()));
detachedCriteria.add(Restrictions.ge("planningCycle.endTime", new Date()));
detachedCriteria.add(Restrictions.eq("station.id", station.getUuid("id")));
detachedCriteria.add(Restrictions.eq(BaseConstants.MASTER+"."+SalesPlanConstant.APPROVE_STATE, BizProcessState.DONE_WITH_AGREE.getValue()));
detachedCriteria.add(Restrictions.like("contract.carInfo", "%"+carNum+"%"));
return (List<KObject>) template.findByCriteria(detachedCriteria);
}
} }
...@@ -5,6 +5,7 @@ import java.util.Map; ...@@ -5,6 +5,7 @@ import java.util.Map;
import java.util.UUID; import java.util.UUID;
import com.beecode.bcp.type.KObject; import com.beecode.bcp.type.KObject;
import com.xyst.dinas.sales.web.info.SalesRecordInfo;
public interface SalesRecordDao { public interface SalesRecordDao {
...@@ -18,4 +19,6 @@ public interface SalesRecordDao { ...@@ -18,4 +19,6 @@ public interface SalesRecordDao {
KObject findCardByPlateNumber(String string, KObject kObject); KObject findCardByPlateNumber(String string, KObject kObject);
void insertList(List<KObject> salesRecordInfos); void insertList(List<KObject> salesRecordInfos);
void updateActualTransportationById(SalesRecordInfo salesRecordInfo);
} }
...@@ -10,7 +10,9 @@ import com.beecode.bcp.serial.Serial; ...@@ -10,7 +10,9 @@ import com.beecode.bcp.serial.Serial;
import com.beecode.bcp.type.KClass; import com.beecode.bcp.type.KClass;
import com.beecode.inz.common.BaseConstants; import com.beecode.inz.common.BaseConstants;
import com.beecode.util.DateUtil; import com.beecode.util.DateUtil;
import com.xyst.dinas.sales.web.info.SalesRecordInfo;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.hibernate.HibernateException; import org.hibernate.HibernateException;
import org.hibernate.Session; import org.hibernate.Session;
import org.hibernate.criterion.DetachedCriteria; import org.hibernate.criterion.DetachedCriteria;
...@@ -85,6 +87,7 @@ public class SalesRecordDaoImpl implements SalesRecordDao, SalesRecordConstant { ...@@ -85,6 +87,7 @@ public class SalesRecordDaoImpl implements SalesRecordDao, SalesRecordConstant {
kObject.set("saleRecord", salesRecord); kObject.set("saleRecord", salesRecord);
kObject.set("transportVehicle", cardInfo); kObject.set("transportVehicle", cardInfo);
kObject.set("confirmStatus", 0); kObject.set("confirmStatus", 0);
template.save(kObject);
} }
@Override @Override
...@@ -109,4 +112,21 @@ public class SalesRecordDaoImpl implements SalesRecordDao, SalesRecordConstant { ...@@ -109,4 +112,21 @@ public class SalesRecordDaoImpl implements SalesRecordDao, SalesRecordConstant {
return null; return null;
}); });
} }
@Override
public void updateActualTransportationById(SalesRecordInfo salesRecordInfo) {
if(StringUtils.isNotBlank(salesRecordInfo.getTransportTypeId())){
KObject kObject = (KObject)template.get(TRANSPORT_RECORD_ENTITY, UUID.fromString(salesRecordInfo.getTransportTypeId()));
if(kObject!=null&&!kObject.isNull()){
BigDecimal actualTransportation = kObject.getBigDecimal("actualTransportation");
if(actualTransportation==null){
actualTransportation=BigDecimal.ZERO;
}
actualTransportation = actualTransportation.add(BigDecimal.valueOf(salesRecordInfo.getDealAmount()));
kObject.set("actualTransportation",actualTransportation);
template.update(kObject);
}
}
}
} }
\ No newline at end of file
...@@ -12,6 +12,7 @@ import java.util.stream.Collectors; ...@@ -12,6 +12,7 @@ import java.util.stream.Collectors;
import javax.transaction.Transactional; import javax.transaction.Transactional;
import com.beecode.inz.basis.util.JsonUtil;
import org.json.JSONArray; import org.json.JSONArray;
import org.json.JSONObject; import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -215,7 +216,7 @@ public class InventoryServiceImpl implements InventoryService { ...@@ -215,7 +216,7 @@ public class InventoryServiceImpl implements InventoryService {
List<StationDinasTypePriceDetail> price = null; List<StationDinasTypePriceDetail> price = null;
StationDinasTypeRelation item = null; StationDinasTypeRelation item = null;
if(priceList != null) { if(priceList != null) {
price = priceList.stream().filter(StationDinasTypePriceDetail -> StationDinasTypePriceDetail.getDinasTypeId().equals(dinasType.getUuid("id")) && StationDinasTypePriceDetail.getStationId().equals(station.getUuid("id")) ).collect(Collectors.toList()); price = priceList.stream().filter(stationDinasTypePriceDetail -> stationDinasTypePriceDetail.getDinasTypeId().equals(dinasType.getUuid("id")) && stationDinasTypePriceDetail.getStationId().equals(station.getUuid("id")) ).collect(Collectors.toList());
if(price.size() > 0) { if(price.size() > 0) {
item = new StationDinasTypeRelation(station.getUuid("id"), dinasType.getUuid("id"), price.get(0).getDinasPrice()); item = new StationDinasTypeRelation(station.getUuid("id"), dinasType.getUuid("id"), price.get(0).getDinasPrice());
} else { } else {
...@@ -256,14 +257,15 @@ public class InventoryServiceImpl implements InventoryService { ...@@ -256,14 +257,15 @@ public class InventoryServiceImpl implements InventoryService {
return result; return result;
} }
public Double getStockAmountByDinas(UUID stationId,String dinasTypeName) { @Override
public Double getStockAmountByDinas(UUID stationId, String dinasTypeName) {
return inventoryDao.getStockAmountByDinas(stationId, dinasTypeName); return inventoryDao.getStockAmountByDinas(stationId, dinasTypeName);
} }
@Override @Override
public List<StationDinasTypeRelation> getItemListByStationId(UUID stationId) { public List<Map<String, Object>> getItemListByStationId(UUID stationId) {
List<KObject> itemListByStationId = inventoryDao.getItemListByStationId(stationId); List<KObject> itemListByStationId = inventoryDao.getItemListByStationId(stationId);
List<StationDinasTypeRelation> result = new ArrayList<>(); List<Map<String, Object>> result = new ArrayList<>();
for(KObject item : itemListByStationId) { for(KObject item : itemListByStationId) {
if(item.getBigDecimal("price")==null || item.getBigDecimal("price").compareTo(BigDecimal.ZERO)<1){ if(item.getBigDecimal("price")==null || item.getBigDecimal("price").compareTo(BigDecimal.ZERO)<1){
continue; continue;
...@@ -275,7 +277,11 @@ public class InventoryServiceImpl implements InventoryService { ...@@ -275,7 +277,11 @@ public class InventoryServiceImpl implements InventoryService {
r.setDinasTypeName(item.get("dinasType").getString("dinasTypeName")); r.setDinasTypeName(item.get("dinasType").getString("dinasTypeName"));
r.setAmount(item.getBigDecimal("amount")); r.setAmount(item.getBigDecimal("amount"));
r.setPrice(item.getBigDecimal("price")); r.setPrice(item.getBigDecimal("price"));
result.add(r); String s = JsonUtil.beanToJson(r);
Map<String, Object> stringObjectMap = JsonUtil.jsonToMap(s, String.class, Object.class);
stringObjectMap.put("saleType",2);
stringObjectMap.put("transportType",2);
result.add(stringObjectMap);
} }
return result; return result;
} }
......
package com.xyst.dinas.sales.service; package com.xyst.dinas.sales.service;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.UUID; import java.util.UUID;
import com.beecode.bcp.type.KObject; import com.beecode.bcp.type.KObject;
...@@ -14,7 +15,7 @@ public interface InventoryService { ...@@ -14,7 +15,7 @@ public interface InventoryService {
public ResponseObj<String> modifyInventory(String body, boolean isLog, boolean autoCalculate); public ResponseObj<String> modifyInventory(String body, boolean isLog, boolean autoCalculate);
public List<InventoryLog> queryLog(UUID regionalCompany); public List<InventoryLog> queryLog(UUID regionalCompany);
List<StationDinasTypeRelation> getItemListByStationId(UUID stationId); List<Map<String, Object>> getItemListByStationId(UUID stationId);
Object queryWarnSettingById(UUID id); Object queryWarnSettingById(UUID id);
......
...@@ -9,7 +9,6 @@ import org.json.JSONObject; ...@@ -9,7 +9,6 @@ import org.json.JSONObject;
import org.springframework.lang.Nullable; import org.springframework.lang.Nullable;
import com.beecode.bcp.type.KObject; import com.beecode.bcp.type.KObject;
import com.xyst.dinas.sales.entity.SalesPlanDetail;
import com.xyst.dinas.sales.web.request.SaleaPlanDetailQuery; import com.xyst.dinas.sales.web.request.SaleaPlanDetailQuery;
public interface SalesPlanService { public interface SalesPlanService {
...@@ -90,4 +89,5 @@ public interface SalesPlanService { ...@@ -90,4 +89,5 @@ public interface SalesPlanService {
List<KObject> getSealTempDinasTypeListByNeedPlanInfo(UUID purchaseSandUnitId, UUID planningCycleId, UUID projectId); List<KObject> getSealTempDinasTypeListByNeedPlanInfo(UUID purchaseSandUnitId, UUID planningCycleId, UUID projectId);
List<Map<String, Object>> querySalesPlanByCarNum(KObject station, String carNum); List<Map<String, Object>> querySalesPlanByCarNum(KObject station, String carNum);
} }
package com.xyst.dinas.sales.service; package com.xyst.dinas.sales.service;
import java.util.HashMap; import java.util.HashMap;
import java.util.List;
import com.beecode.bcp.type.KObject; import com.beecode.bcp.type.KObject;
import com.xyst.dinas.sales.web.info.SalesRecordInfo; import com.xyst.dinas.sales.web.info.SalesRecordInfo;
...@@ -16,7 +15,7 @@ public interface SalesRecordService { ...@@ -16,7 +15,7 @@ public interface SalesRecordService {
* @param station * @param station
* @return * @return
*/ */
String saveSalesRecordService(SalesRecordInfo salesRecordList, KObject station); HashMap<String, Object> saveSalesRecordService(SalesRecordInfo salesRecordList, KObject station);
HashMap<String,Object> qualityReportExcelImport(MultipartFile file); HashMap<String,Object> qualityReportExcelImport(MultipartFile file);
} }
...@@ -127,6 +127,14 @@ public class SalesRecordInfo { ...@@ -127,6 +127,14 @@ public class SalesRecordInfo {
* 销售单号 * 销售单号
*/ */
private String dealBillCode; private String dealBillCode;
/**
* 运输单id
*/
private String transportTypeId;
/**
* 收货方,作为没有合同的购砂单位使用
*/
private String consignee;
/** /**
* 配送方式 0自提(运输公司自己拿) 1配送(砂石公司指派车辆) 2散客(没有车牌号,不知何处来. 不知何处去) * 配送方式 0自提(运输公司自己拿) 1配送(砂石公司指派车辆) 2散客(没有车牌号,不知何处来. 不知何处去)
...@@ -138,6 +146,21 @@ public class SalesRecordInfo { ...@@ -138,6 +146,21 @@ public class SalesRecordInfo {
*/ */
private Integer saleType; private Integer saleType;
public String getTransportTypeId() {
return transportTypeId;
}
public void setTransportTypeId(String transportTypeId) {
this.transportTypeId = transportTypeId;
}
public String getConsignee() {
return consignee;
}
public void setConsignee(String consignee) {
this.consignee = consignee;
}
public String getProjectId() { public String getProjectId() {
return projectId; return projectId;
......
...@@ -6,6 +6,7 @@ dependencies { ...@@ -6,6 +6,7 @@ dependencies {
compile lib.spring_web compile lib.spring_web
compile lib.spring_boot_autoconfigure compile lib.spring_boot_autoconfigure
compile lib.jackson_datatype_jdk8 compile lib.jackson_datatype_jdk8
compile lib.thumbnailator
compile lib.jackson_datatype_jsr310 compile lib.jackson_datatype_jsr310
compile lib.json compile lib.json
compile "com.beecode:bap2.participant:${aminoVersion}" compile "com.beecode:bap2.participant:${aminoVersion}"
......
...@@ -89,7 +89,6 @@ public class VehicleDispatchServiceImpl implements VehicleDispatchService { ...@@ -89,7 +89,6 @@ public class VehicleDispatchServiceImpl implements VehicleDispatchService {
kobject.set(VehicleDispatchConstant.STATION, load.get(VehicleDispatchConstant.STATION)); kobject.set(VehicleDispatchConstant.STATION, load.get(VehicleDispatchConstant.STATION));
kobject.set(VehicleDispatchConstant.PLAN_AMOUNT, load.getBigDecimal(VehicleDispatchConstant.PLAN_AMOUNT)); kobject.set(VehicleDispatchConstant.PLAN_AMOUNT, load.getBigDecimal(VehicleDispatchConstant.PLAN_AMOUNT));
} else { } else {
load = vehicleDispatchDao.load(SalesPlanConstant.ENTITY_TEMP_DETAIL, sealDetailId); load = vehicleDispatchDao.load(SalesPlanConstant.ENTITY_TEMP_DETAIL, sealDetailId);
planningCycle = load.get(BaseConstants.MASTER).get(VehicleDispatchConstant.PLANNING_CYCLE); planningCycle = load.get(BaseConstants.MASTER).get(VehicleDispatchConstant.PLANNING_CYCLE);
kobject.set(VehicleDispatchConstant.PURCHASE_SAND_UNIT, load.get(BaseConstants.MASTER).get(VehicleDispatchConstant.CONTRACT).get(VehicleDispatchConstant.PURCHASE_SAND_UNIT)); kobject.set(VehicleDispatchConstant.PURCHASE_SAND_UNIT, load.get(BaseConstants.MASTER).get(VehicleDispatchConstant.CONTRACT).get(VehicleDispatchConstant.PURCHASE_SAND_UNIT));
...@@ -188,6 +187,8 @@ public class VehicleDispatchServiceImpl implements VehicleDispatchService { ...@@ -188,6 +187,8 @@ public class VehicleDispatchServiceImpl implements VehicleDispatchService {
Map<String, Object> stringObjectHashMap = new HashMap<String, Object>(); Map<String, Object> stringObjectHashMap = new HashMap<String, Object>();
//车牌号 //车牌号
stringObjectHashMap.put("carNum", carNum); stringObjectHashMap.put("carNum", carNum);
//车牌号
stringObjectHashMap.put("transportTypeId", dispatch.getUuid("id"));
//计划周期 //计划周期
stringObjectHashMap.put("planningCycleTitle", planningCycle.getString("title")); stringObjectHashMap.put("planningCycleTitle", planningCycle.getString("title"));
//计划id //计划id
...@@ -200,6 +201,12 @@ public class VehicleDispatchServiceImpl implements VehicleDispatchService { ...@@ -200,6 +201,12 @@ public class VehicleDispatchServiceImpl implements VehicleDispatchService {
stringObjectHashMap.put("projectId", project.getUuid("id")); stringObjectHashMap.put("projectId", project.getUuid("id"));
//合同id //合同id
stringObjectHashMap.put("contractId", contract.getUuid("id")); stringObjectHashMap.put("contractId", contract.getUuid("id"));
//收货方名称
stringObjectHashMap.put("consignee", contract.get("purchaseSandUnit").getString("name"));
//供货方名称
stringObjectHashMap.put("supplier", station.getString("stationName"));
//地址
stringObjectHashMap.put("shippingAddress", contract.getString("addrReceive"));
//砂石类型名称 //砂石类型名称
stringObjectHashMap.put("dinasTypeName", dinasType.getString("dinasTypeName")); stringObjectHashMap.put("dinasTypeName", dinasType.getString("dinasTypeName"));
//砂石类型id //砂石类型id
......
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