Commit b91554bc by 王衍超

新增销售计划明细查询接口;

parent 1c7a54a0
......@@ -21,5 +21,9 @@ public interface DinasTypeConstant {
* 关联子表的实体名
*/
String STATION_DINAS_TYPE_DETAIL_ENTITY = "com.xyst.dinas.biz.datamodel.Station$DinasTypeDetail";
/** 砂石种类名称*/
String DINASTYPE_NAME = "dinasTypeName";
}
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata" xmlns:m="http://www.beecode.cn/schema/bcp-sequence">
<specification>1.0</specification>
<id>b662c226-16ff-4454-9485-a40a85be0d4a</id>
<id>6ac186f0-0893-4719-93c6-af7f948a0b19</id>
<name>com.xyst.dinas.biz.bill.Organization$sequence</name>
<title>组织机构$sequence</title>
<description>组织机构</description>
......
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata" xmlns:m="http://www.beecode.cn/schema/bcp-serial">
<specification>1.0</specification>
<id>ce9ced8d-5390-4d29-a839-0ca412023e94</id>
<id>aa93f5bf-f376-47ae-a4a6-491c9543e892</id>
<name>com.xyst.dinas.biz.bill.Organization$serial</name>
<title>组织机构$serial</title>
<description>组织机构</description>
......
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata" xmlns:m="http://www.beecode.cn/schema/bcp-biztype">
<specification>1.0</specification>
<id>ade8dc2a-8331-467d-b98c-65f1d977c64d</id>
<id>bea7d8e2-73ca-4ac8-a1ac-8054c186bb6c</id>
<name>com.xyst.dinas.biz.bill.Organization</name>
<title>组织机构</title>
<description>组织机构</description>
......
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata" xmlns:m="http://www.beecode.cn/schema/bcp-sequence">
<specification>1.0</specification>
<id>3381fee2-ff96-4357-a472-0191ac7258c5</id>
<id>a130db52-60b0-4245-946f-15249963a855</id>
<name>com.xyst.dinas.biz.bill.Position$sequence</name>
<title>岗位$sequence</title>
<description>岗位</description>
......
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata" xmlns:m="http://www.beecode.cn/schema/bcp-serial">
<specification>1.0</specification>
<id>3e1735ab-34a6-47ea-948e-04f460a23fce</id>
<id>bd0cf1f4-2eaa-46ff-bc7b-eabb9494b577</id>
<name>com.xyst.dinas.biz.bill.Position$serial</name>
<title>岗位$serial</title>
<description>岗位</description>
......
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata" xmlns:m="http://www.beecode.cn/schema/bcp-biztype">
<specification>1.0</specification>
<id>0f6a5517-6f79-42c7-b92d-cc2f3124cc95</id>
<id>4ee9438b-acda-49db-a54d-1770b6f424dc</id>
<name>com.xyst.dinas.biz.bill.Position</name>
<title>岗位</title>
<description>岗位</description>
......
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata" xmlns:m="http://www.beecode.cn/schema/bcp-sequence">
<specification>1.0</specification>
<id>f28a2277-0215-497b-9b32-e61a0b3d8972</id>
<id>b5c2c158-3060-4aaa-8396-273bbfd15da6</id>
<name>com.xyst.dinas.biz.bill.ShipInfo$sequence</name>
<title>船舶备案$sequence</title>
<description>船舶备案</description>
......
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata" xmlns:m="http://www.beecode.cn/schema/bcp-serial">
<specification>1.0</specification>
<id>585edc5b-78fa-4650-8b62-5c01522e5ca7</id>
<id>dda9aac2-21e3-400b-9dda-02a56a1b9f8f</id>
<name>com.xyst.dinas.biz.bill.ShipInfo$serial</name>
<title>船舶备案$serial</title>
<description>船舶备案</description>
......
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata" xmlns:m="http://www.beecode.cn/schema/bcp-biztype">
<specification>1.0</specification>
<id>a9c3429a-f9bb-4ea3-92d9-0d453e879cd5</id>
<id>df40a10c-9247-4f79-a25e-58bcb51c8b63</id>
<name>com.xyst.dinas.biz.bill.ShipInfo</name>
<title>船舶备案</title>
<description>船舶备案</description>
......
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata" xmlns:m="http://www.beecode.cn/schema/bcp-sequence">
<specification>1.0</specification>
<id>d5cbf1b2-b89d-4bd4-93d1-7679a76f5e72</id>
<id>c7a32a2d-d8aa-430d-b26b-40814b29227e</id>
<name>com.xyst.dinas.biz.bill.Station$sequence</name>
<title>场站$sequence</title>
<description>场站</description>
......
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata" xmlns:m="http://www.beecode.cn/schema/bcp-serial">
<specification>1.0</specification>
<id>b24df7a6-2784-4725-b883-937f0f2b3524</id>
<id>b77799c6-d11d-4358-9ea8-b298754b3e79</id>
<name>com.xyst.dinas.biz.bill.Station$serial</name>
<title>场站$serial</title>
<description>场站</description>
......
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata" xmlns:m="http://www.beecode.cn/schema/bcp-biztype">
<specification>1.0</specification>
<id>78cbc80d-e632-4c1b-b95b-7384057f7490</id>
<id>5a690e1a-9215-488e-8f7a-da503938c80c</id>
<name>com.xyst.dinas.biz.bill.Station</name>
<title>场站</title>
<description>场站</description>
......
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata" xmlns:m="http://www.beecode.cn/schema/bcp-sequence">
<specification>1.0</specification>
<id>5d4a47ec-507f-4321-8bce-bcf2755a8d1d</id>
<id>1fe8230a-2d80-41b5-b356-476086b1c9ad</id>
<name>com.xyst.dinas.contract.bill.ContractBill$sequence</name>
<title>合同单据$sequence</title>
<description>合同单据</description>
......
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata" xmlns:m="http://www.beecode.cn/schema/bcp-serial">
<specification>1.0</specification>
<id>68afc285-0d4c-4cee-a187-8be609b69f46</id>
<id>acfec088-9577-44f2-8016-0a44a7c106a8</id>
<name>com.xyst.dinas.contract.bill.ContractBill$serial</name>
<title>合同单据$serial</title>
<description>合同单据</description>
......
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata" xmlns:m="http://www.beecode.cn/schema/bcp-biztype">
<specification>1.0</specification>
<id>7cd298ac-b14e-4946-95d2-67c1db9e43ca</id>
<id>17577664-9476-47d9-a601-025608def8e2</id>
<name>com.xyst.dinas.contract.bill.ContractBill</name>
<title>合同单据</title>
<description>合同单据</description>
......
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata" xmlns:m="http://www.beecode.cn/schema/bcp-sequence">
<specification>1.0</specification>
<id>854401e5-1352-41c6-950f-6204d073ab5b</id>
<id>6ca71131-b4b7-4656-aa33-61e0b5aa335e</id>
<name>com.xyst.dinas.oa.bill.BusinessTripApply$sequence</name>
<title>出差申请$sequence</title>
<description>出差申请</description>
......
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata" xmlns:m="http://www.beecode.cn/schema/bcp-serial">
<specification>1.0</specification>
<id>2313cba3-72c5-4e43-8b25-70745836ed46</id>
<id>da05c324-06ee-4f31-81a2-bec002d19729</id>
<name>com.xyst.dinas.oa.bill.BusinessTripApply$serial</name>
<title>出差申请$serial</title>
<description>出差申请</description>
......
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata" xmlns:m="http://www.beecode.cn/schema/bcp-biztype">
<specification>1.0</specification>
<id>2ca45dd6-9e94-4e0a-8147-24e6495515f3</id>
<id>5b3820bd-393c-4458-8b9a-c4d08dd90b22</id>
<name>com.xyst.dinas.oa.bill.BusinessTripApply</name>
<title>出差申请</title>
<description>出差申请</description>
......
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata" xmlns:m="http://www.beecode.cn/schema/bcp-sequence">
<specification>1.0</specification>
<id>1ed7f201-8c50-40f2-83b4-7f40e921cae3</id>
<id>63423ae4-9849-425f-8fa8-5b453b22c2e6</id>
<name>com.xyst.dinas.oa.bill.ProtocolDocument$sequence</name>
<title>拟文$sequence</title>
<description>拟文</description>
......
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata" xmlns:m="http://www.beecode.cn/schema/bcp-serial">
<specification>1.0</specification>
<id>2c23e679-efc1-4164-82bf-08e3a518fa78</id>
<id>b1a4cb4e-f2b6-4136-8c7e-25f72841c588</id>
<name>com.xyst.dinas.oa.bill.ProtocolDocument$serial</name>
<title>拟文$serial</title>
<description>拟文</description>
......
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata" xmlns:m="http://www.beecode.cn/schema/bcp-biztype">
<specification>1.0</specification>
<id>cc9fed91-311e-4454-9ed1-bd848e3aa716</id>
<id>fa3f39e5-8567-49f6-8f80-854db3717d23</id>
<name>com.xyst.dinas.oa.bill.ProtocolDocument</name>
<title>拟文</title>
<description>拟文</description>
......
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata" xmlns:m="http://www.beecode.cn/schema/bcp-sequence">
<specification>1.0</specification>
<id>ad068d3a-afe0-4c0d-9c9c-f8622135fb2e</id>
<id>f14913a7-02bf-43f4-b653-cd8db470f67f</id>
<name>com.xyst.dinas.oa.bill.SealBorrow$sequence</name>
<title>证章借出$sequence</title>
<description>证章借出</description>
......
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata" xmlns:m="http://www.beecode.cn/schema/bcp-serial">
<specification>1.0</specification>
<id>fdbf3473-6be9-4bdf-80fd-76f371699b4e</id>
<id>b68d43ca-84a6-42e3-9a8b-a9e1f81b1d7c</id>
<name>com.xyst.dinas.oa.bill.SealBorrow$serial</name>
<title>证章借出$serial</title>
<description>证章借出</description>
......
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata" xmlns:m="http://www.beecode.cn/schema/bcp-biztype">
<specification>1.0</specification>
<id>9b8eb092-76ff-4234-af1f-7e0bb66b5246</id>
<id>0cb73ebe-64b3-4d0e-b0e1-05a1b16b6cdc</id>
<name>com.xyst.dinas.oa.bill.SealBorrow</name>
<title>证章借出</title>
<description>证章借出</description>
......
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata" xmlns:m="http://www.beecode.cn/schema/bcp-sequence">
<specification>1.0</specification>
<id>899f1c68-919a-43b4-a29b-27d3727b0c9d</id>
<id>5c2d64fc-52b9-4e6f-a670-d1ae27a5cb85</id>
<name>com.xyst.dinas.oa.bill.UseCarApply$sequence</name>
<title>用车申请$sequence</title>
<description>用车申请</description>
......
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata" xmlns:m="http://www.beecode.cn/schema/bcp-serial">
<specification>1.0</specification>
<id>2d113687-5c50-4f64-9982-5c8027284be4</id>
<id>1044749d-58b7-4f41-bf9c-6338d0844bdd</id>
<name>com.xyst.dinas.oa.bill.UseCarApply$serial</name>
<title>用车申请$serial</title>
<description>用车申请</description>
......
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata" xmlns:m="http://www.beecode.cn/schema/bcp-biztype">
<specification>1.0</specification>
<id>3b073ec6-f929-4068-a5d0-55205dd6429f</id>
<id>f07078d3-47bd-4ef4-8e27-db38f8bea8a8</id>
<name>com.xyst.dinas.oa.bill.UseCarApply</name>
<title>用车申请</title>
<description>用车申请</description>
......
......@@ -9,4 +9,10 @@ public interface ProjectFiledConstant {
String PROJECTFILED_DINASTYPE_ENTITY = "com.xyst.dinas.project.datamodel.ProjectFiled$ProjectFiledDinasDetail";
/** 项目名称*/
String PROJECT_NAME = "projectName";
/** 项目类型*/
String PROJECT_TYPE = "projectType";
}
......@@ -7,4 +7,6 @@ public interface PurchaseSandCompanyConstant {
*/
String PURCHASE_SAND_COMPANY_NTITY = "com.xyst.dinas.project.datamodel.PurchaseSandCompany";
/** 购砂单位名称*/
String NAME = "name";
}
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata" xmlns:m="http://www.beecode.cn/schema/bcp-sequence">
<specification>1.0</specification>
<id>7aced0ef-6c0c-42b4-8dcf-005f23d28422</id>
<id>f7c542bf-c7e6-49a3-bf2b-e6a518ff9fb3</id>
<name>com.xyst.dinas.project.bill.ProjectFiled$sequence</name>
<title>项目备案$sequence</title>
<description>项目备案</description>
......
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata" xmlns:m="http://www.beecode.cn/schema/bcp-serial">
<specification>1.0</specification>
<id>0805ded7-1ca2-4726-ae32-87272161c598</id>
<id>22b66820-9b21-4cd5-aef3-39d4ca80a2b5</id>
<name>com.xyst.dinas.project.bill.ProjectFiled$serial</name>
<title>项目备案$serial</title>
<description>项目备案</description>
......
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata" xmlns:m="http://www.beecode.cn/schema/bcp-biztype">
<specification>1.0</specification>
<id>e4f1e41f-362c-4fdf-9ff6-58548ba4b3f0</id>
<id>caa20550-d5f8-4798-8781-aadee062a4eb</id>
<name>com.xyst.dinas.project.bill.ProjectFiled</name>
<title>项目备案</title>
<description>项目备案</description>
......
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata" xmlns:m="http://www.beecode.cn/schema/bcp-sequence">
<specification>1.0</specification>
<id>a02e1cc2-6965-4efd-b0c8-0da4ce0f09c4</id>
<id>87fbb428-f041-4816-ac98-4f33f3ad7e82</id>
<name>com.xyst.dinas.project.bill.PurchaseSandCompany$sequence</name>
<title>购砂单位$sequence</title>
<description>购砂单位</description>
......
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata" xmlns:m="http://www.beecode.cn/schema/bcp-serial">
<specification>1.0</specification>
<id>3570bc54-26b9-4267-b322-cd700145391c</id>
<id>513ff107-092d-474b-bc41-d2792dfc9716</id>
<name>com.xyst.dinas.project.bill.PurchaseSandCompany$serial</name>
<title>购砂单位$serial</title>
<description>购砂单位</description>
......
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata" xmlns:m="http://www.beecode.cn/schema/bcp-biztype">
<specification>1.0</specification>
<id>e5dfe34f-f2cf-450e-8007-96e93fe354ba</id>
<id>1949997c-2df4-4221-84fa-f44a37dd60a0</id>
<name>com.xyst.dinas.project.bill.PurchaseSandCompany</name>
<title>购砂单位</title>
<description>购砂单位</description>
......
......@@ -37,6 +37,19 @@ public class SalesPlanConstant {
public static final String planAmount = "planAmount";
/** 库存量*/
public static final String stockAmount = "stockAmount";
/** 实际销售量*/
public static final String actualSaleAmount = "actualSaleAmount";
/** 项目名称*/
public static final String projectName = "projectName";
/** 项目类型名称*/
public static final String projectTypeName = "projectTypeName";
/** 购砂单位名称*/
public static final String purchaseSandUnitName = "purchaseSandUnitName";
/** 砂石类型名称*/
public static final String dinasTypeName = "dinasTypeName";
/** 临时销售计划主表-实体*/
public static final String ENTITY_TEMP = "com.xyst.dinas.sales.datamodel.SalesPlanTemp";
......
package com.xyst.dinas.sales.entity;
import java.io.Serializable;
import java.util.UUID;
/**
* 销售计划明细
*
* @author Jackpot
* @date 2021年4月19日
*/
public class SalesPlanDetail implements Serializable{
private static final long serialVersionUID = 1L;
private UUID id;
private UUID masterId;
private UUID contract;
private UUID project;
private UUID purchaseSandUnit;
private UUID dinasType;
private UUID station;
private String contractName;
private String projectName;
private String projectTypeName;
private String purchaseSandUnitName;
private String dinasTypeName;
private String stationName;
private Double requiredAmount;
private Double contractAmount;
private Double stockAmount;
private Double planAmount;
private Double actualSaleAmount;
public UUID getMasterId() {
return masterId;
}
public void setMasterId(UUID masterId) {
this.masterId = masterId;
}
public UUID getId() {
return id;
}
public void setId(UUID id) {
this.id = id;
}
public String getProjectTypeName() {
return projectTypeName;
}
public void setProjectTypeName(String projectTypeName) {
this.projectTypeName = projectTypeName;
}
public UUID getContract() {
return contract;
}
public void setContract(UUID contract) {
this.contract = contract;
}
public UUID getProject() {
return project;
}
public void setProject(UUID project) {
this.project = project;
}
public UUID getPurchaseSandUnit() {
return purchaseSandUnit;
}
public void setPurchaseSandUnit(UUID purchaseSandUnit) {
this.purchaseSandUnit = purchaseSandUnit;
}
public UUID getDinasType() {
return dinasType;
}
public void setDinasType(UUID dinasType) {
this.dinasType = dinasType;
}
public UUID getStation() {
return station;
}
public void setStation(UUID station) {
this.station = station;
}
public String getContractName() {
return contractName;
}
public void setContractName(String contractName) {
this.contractName = contractName;
}
public String getProjectName() {
return projectName;
}
public void setProjectName(String projectName) {
this.projectName = projectName;
}
public String getPurchaseSandUnitName() {
return purchaseSandUnitName;
}
public void setPurchaseSandUnitName(String purchaseSandUnitName) {
this.purchaseSandUnitName = purchaseSandUnitName;
}
public String getDinasTypeName() {
return dinasTypeName;
}
public void setDinasTypeName(String dinasTypeName) {
this.dinasTypeName = dinasTypeName;
}
public String getStationName() {
return stationName;
}
public void setStationName(String stationName) {
this.stationName = stationName;
}
public Double getRequiredAmount() {
return requiredAmount;
}
public void setRequiredAmount(Double requiredAmount) {
this.requiredAmount = requiredAmount;
}
public Double getContractAmount() {
return contractAmount;
}
public void setContractAmount(Double contractAmount) {
this.contractAmount = contractAmount;
}
public Double getStockAmount() {
return stockAmount;
}
public void setStockAmount(Double stockAmount) {
this.stockAmount = stockAmount;
}
public Double getPlanAmount() {
return planAmount;
}
public void setPlanAmount(Double planAmount) {
this.planAmount = planAmount;
}
public Double getActualSaleAmount() {
return actualSaleAmount;
}
public void setActualSaleAmount(Double actualSaleAmount) {
this.actualSaleAmount = actualSaleAmount;
}
}
package com.xyst.dinas.sales.internal.service;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.UUID;
......@@ -14,10 +15,14 @@ import com.beecode.bap.workflow.core.BizProcessState;
import com.beecode.bcp.type.KClass;
import com.beecode.bcp.type.KObject;
import com.beecode.inz.common.BaseConstants;
import com.xyst.dinas.biz.constant.DinasTypeConstant;
import com.xyst.dinas.contract.constant.ContractConstant;
import com.xyst.dinas.project.constant.ProjectFiledConstant;
import com.xyst.dinas.project.constant.PurchaseSandCompanyConstant;
import com.xyst.dinas.sales.constant.NeedPlanConstant;
import com.xyst.dinas.sales.constant.SalesPlanConstant;
import com.xyst.dinas.sales.dao.SalesPlanDao;
import com.xyst.dinas.sales.entity.SalesPlanDetail;
import com.xyst.dinas.sales.service.NeedPlanService;
import com.xyst.dinas.sales.service.SalesPlanService;
/**
......@@ -42,11 +47,16 @@ public class SalesPlanServiceImpl implements SalesPlanService{
String contractName = contract.getString("contractName");
KObject project = contract.get("project");
KObject purchaseSandUnit = contract.get("purchaseSandUnit");
String projectName = project.getString("projectName");
String projectTypeName = project.get("projectType").getString("name");
String purchaseSandUnitName = purchaseSandUnit.getString("name");
KClass detailClass = Amino.getApplicationMetadataContext().getBean(SalesPlanConstant.ENTITY_DETAIL, KClass.class);
List<KObject> contractDetail = contract.get("contractDetails").toList();
for (KObject detail : contractDetail) {//合同中的砂石明细
double contractAmount = detail.getDouble(ContractConstant.DINAS_AMOUNT);//合同上的砂石余量
KObject dinasType = detail.get("dinasType");
String dinasTypeName = dinasType.getString("dinasTypeName");
UUID dinasTypeId = dinasType.getUuid(BaseConstants.ID);
UUID planningCycleId = salesPlan.get("planningCycle").getUuid(BaseConstants.ID);
KObject needPlanDetail = needPlanService.queryNeedPlanAmountByDinasType(planningCycleId, contractId, dinasTypeId);
......@@ -63,6 +73,12 @@ public class SalesPlanServiceImpl implements SalesPlanService{
planDetailObj.set(SalesPlanConstant.requiredAmount, requiredAmount);
planDetailObj.set(SalesPlanConstant.contractAmount, contractAmount);
planDetailObj.set(SalesPlanConstant.planAmount, planAmount);
planDetailObj.set(SalesPlanConstant.projectName, projectName);
planDetailObj.set(SalesPlanConstant.projectTypeName, projectTypeName);
planDetailObj.set(SalesPlanConstant.purchaseSandUnitName, purchaseSandUnitName);
planDetailObj.set(SalesPlanConstant.dinasTypeName, dinasTypeName);
UUID detailId = salesPlanDao.create(planDetailObj);
if(detailId!=null) detailCount++;
}
......@@ -105,23 +121,52 @@ public class SalesPlanServiceImpl implements SalesPlanService{
}
/***************临时销售计划*****************/
public KObject queryTempSalesPlan(UUID id) {
return salesPlanDao.queryTempSalesPlan(id);
public List<SalesPlanDetail> querySalesPlanDetails(UUID salesPlanId) {
ArrayList<SalesPlanDetail> salesPlanDetails = new ArrayList<>();
// KObject kObject = salesPlanDao.load(salesPlanId);
List<KObject> details = salesPlanDao.querySalesPlanDetailsByMasterId(salesPlanId);
for (KObject detail : details) {
SalesPlanDetail salesPlanDetail = new SalesPlanDetail();
KObject contract = detail.get(SalesPlanConstant.contract);
KObject project = detail.get(SalesPlanConstant.project);
KObject dinasType = detail.get(SalesPlanConstant.dinasType);
KObject station = detail.get(SalesPlanConstant.station);
KObject purchaseSandUnit = detail.get(SalesPlanConstant.purchaseSandUnit);
salesPlanDetail.setId(detail.getUuid(BaseConstants.ID));
salesPlanDetail.setMasterId(detail.get(BaseConstants.MASTER).getUuid(BaseConstants.ID));
salesPlanDetail.setContract(contract.getUuid(BaseConstants.ID));
salesPlanDetail.setProject(project.getUuid(BaseConstants.ID));
salesPlanDetail.setDinasType(dinasType.getUuid(BaseConstants.ID));
salesPlanDetail.setStation(station.isNull()?null:station.getUuid(BaseConstants.ID));
salesPlanDetail.setPurchaseSandUnit(purchaseSandUnit.getUuid(BaseConstants.ID));
salesPlanDetail.setContractName(contract.getString(ContractConstant.CONTRACT_NAME));
salesPlanDetail.setProjectName(project.getString(ProjectFiledConstant.PROJECT_NAME));
salesPlanDetail.setProjectTypeName(project.get(ProjectFiledConstant.PROJECT_TYPE).getString("name"));
salesPlanDetail.setDinasTypeName(dinasType.getString(DinasTypeConstant.DINASTYPE_NAME));
salesPlanDetail.setPurchaseSandUnitName(purchaseSandUnit.getString(PurchaseSandCompanyConstant.NAME));
salesPlanDetail.setContractAmount(detail.getDouble(SalesPlanConstant.contractAmount));
salesPlanDetail.setRequiredAmount(detail.getDouble(SalesPlanConstant.requiredAmount));
salesPlanDetail.setStockAmount(detail.getDouble(SalesPlanConstant.stockAmount));
salesPlanDetail.setPlanAmount(detail.getDouble(SalesPlanConstant.planAmount));
salesPlanDetail.setActualSaleAmount(detail.getDouble(SalesPlanConstant.actualSaleAmount));
salesPlanDetails.add(salesPlanDetail);
}
return salesPlanDetails;
}
@Override
public Object querySalesPlanDetailsByMasterId(UUID salesPlanId) {
public KObject querySalesPlanDetailsByMasterId(UUID salesPlanId) {
KObject kObject = salesPlanDao.load(salesPlanId);
List<KObject> details = salesPlanDao.querySalesPlanDetailsByMasterId(salesPlanId);
kObject.set("SalesPlanDetails", details);
return kObject;
}
@Override
public Object querySalesPlanDetailsByMasterIdWarehouse(UUID salesPlanId, UUID stationId) {
public KObject querySalesPlanDetailsByMasterIdWarehouse(UUID salesPlanId, UUID stationId) {
KObject kObject = salesPlanDao.load(salesPlanId);
List<KObject> details = salesPlanDao.querySalesPlanDetailsByMasterIdWarehouse(salesPlanId, stationId);
kObject.set("SalesPlanDetails", details);
......@@ -129,6 +174,15 @@ public class SalesPlanServiceImpl implements SalesPlanService{
}
/***************临时销售计划*****************/
public KObject queryTempSalesPlan(UUID id) {
return salesPlanDao.queryTempSalesPlan(id);
}
......
package com.xyst.dinas.sales.processor;
import java.util.List;
import java.util.UUID;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.Assert;
import com.beecode.bcp.type.KObject;
import com.beecode.inz.query.entity.RowData;
import com.beecode.inz.query.processor.DataProcessor;
import com.beecode.inz.query.processor.DataProcessorContext;
import com.xyst.dinas.biz.service.DinasOrganizationService;
import com.xyst.dinas.sales.service.SalesPlanService;
/**
* 销售计划查询处理
*
* @author Jackpot
* @date 2021年4月19日
*/
public class SalesPlanProcessor implements DataProcessor {
@Autowired
private SalesPlanService salesPlanService;
@Autowired
private DinasOrganizationService orgService;
@Override
public void process(DataProcessorContext context) {
List<RowData> rowDatas = context.getRowDatas();
for (RowData row : rowDatas) {
UUID id = UUID.fromString(row.get("id").toString());
KObject salesPlan = salesPlanService.queryTempSalesPlan(id);
Assert.notNull(salesPlan, "找不到对应的销售计划!");
String dinasTypeNames = "";
List<KObject> list = salesPlan.get("SalesPlanTempDetails").toList();
for (int i = 0; i < list.size(); i++) {
KObject detail = list.get(i);
if (i == list.size() - 1) {
dinasTypeNames += detail.get("dinasType").getString("dinasTypeName");
} else {
dinasTypeNames += detail.get("dinasType").getString("dinasTypeName") + ",";
}
}
row.put("dinasTypeNames", dinasTypeNames);
UUID regionalCompanyId = UUID.fromString(row.get("regionalCompany").toString());
KObject regionalCompany = orgService.load(regionalCompanyId);
row.put("regionalCompanyName", regionalCompany.getString("name"));
}
}
}
......@@ -10,6 +10,7 @@ import com.beecode.bcp.type.KObject;
import com.beecode.inz.query.entity.RowData;
import com.beecode.inz.query.processor.DataProcessor;
import com.beecode.inz.query.processor.DataProcessorContext;
import com.xyst.dinas.biz.service.DinasOrganizationService;
import com.xyst.dinas.sales.service.SalesPlanService;
/**
......@@ -22,6 +23,8 @@ public class SalesPlanTempProcessor implements DataProcessor {
@Autowired
private SalesPlanService salesPlanService;
@Autowired
private DinasOrganizationService orgService;
@Override
......@@ -43,6 +46,10 @@ public class SalesPlanTempProcessor implements DataProcessor {
}
}
row.put("dinasTypeNames", dinasTypeNames);
UUID regionalCompanyId = UUID.fromString(row.get("regionalCompany").toString());
KObject regionalCompany = orgService.load(regionalCompanyId);
row.put("regionalCompanyName", regionalCompany.getString("name"));
}
}
}
......@@ -6,6 +6,7 @@ import java.util.UUID;
import org.springframework.lang.Nullable;
import com.beecode.bcp.type.KObject;
import com.xyst.dinas.sales.entity.SalesPlanDetail;
public interface SalesPlanService {
......@@ -39,8 +40,10 @@ public interface SalesPlanService {
public void approveSalesPlanForTemp(UUID id,int approveState,String approveMemo);
public Object querySalesPlanDetailsByMasterId(UUID fromString);
public KObject querySalesPlanDetailsByMasterId(UUID fromString);
public Object querySalesPlanDetailsByMasterIdWarehouse(UUID fromString, UUID fromString2);
public KObject querySalesPlanDetailsByMasterIdWarehouse(UUID fromString, UUID fromString2);
public List<SalesPlanDetail> querySalesPlanDetails(UUID salesPlanId);
}
......@@ -39,7 +39,7 @@ public class SalesPlanAutoCreateTaskRegister implements ServiceInitializer{
// 每天凌晨12点执行调度,如测试可修改为每十五秒:*/15 * * * * ?(表达式由至少6个由空格分隔的时间元素,从左至右可分为秒,分,时,日,月,星期)
// scheduleService.scheduleTask(TaskDetail, "0 0 0 * * ?");
// 测试调度时进行调用
scheduleService.scheduleTask(TaskDetail, "*/50 * * * * ?");
scheduleService.scheduleTask(TaskDetail, "0 */1 * * * ?");
logger.info("销售计划自动创建任务初始化成功!");
}
......
package com.xyst.dinas.sales.web;
import java.util.List;
import java.util.UUID;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.Assert;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
......@@ -11,8 +14,11 @@ import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import com.beecode.bap.workflow.core.BizProcessState;
import com.beecode.bcp.type.KObject;
import com.beecode.inz.basis.team.pojo.ResponseObj;
import com.xyst.dinas.sales.entity.SalesPlanDetail;
import com.xyst.dinas.sales.service.SalesPlanService;
import com.xyst.dinas.sales.web.request.SaleaPlanApprove;
......@@ -86,11 +92,19 @@ public class SalesPlanController {
* @param saleaPlanId
* @return
*/
@Deprecated
@ResponseBody
@RequestMapping(value = "/salesplan/querySalesPlanDetailsByMasterId", method = RequestMethod.GET)
public Object querySalesPlanDetailsByMasterId(@RequestParam("saleaPlanId") String saleaPlanId) {
return ResponseObj.success("success", salesPlanService.querySalesPlanDetailsByMasterId(UUID.fromString(saleaPlanId)));
public Object querySalesPlanDetailsByMasterId(@RequestParam("saleaPlanId") UUID saleaPlanId) {
KObject salesPlanDetails = salesPlanService.querySalesPlanDetailsByMasterId(saleaPlanId);
return ResponseObj.success("success", salesPlanDetails);
}
@GetMapping("/salesplan/querySalesPlanDetailsByMasterId/{saleaPlanId}")
public Object querySalesPlanDetails(@PathVariable UUID saleaPlanId) {
List<SalesPlanDetail> salesPlanDetails = salesPlanService.querySalesPlanDetails(saleaPlanId);
return ResponseObj.success("success", salesPlanDetails);
}
/**
* 根据销售计划id查询计划明细(分组)场站用户
......@@ -102,5 +116,9 @@ public class SalesPlanController {
public Object querySalesPlanDetailsByMasterIdWarehouse(@RequestParam("saleaPlanId") String saleaPlanId, @RequestParam("stationId") String stationId) {
return ResponseObj.success("success", salesPlanService.querySalesPlanDetailsByMasterIdWarehouse(UUID.fromString(saleaPlanId), UUID.fromString(stationId)));
}
public static void main(String[] args) {
System.out.println(UUID.randomUUID().toString());
}
}
......@@ -58,7 +58,6 @@
<attribute id='0933ceb1-f327-4372-a316-cffa1c80991a' name='contractName' columnName='contract_name' title='合同名称' type='string' default='' precision='' isArray='false'>
<annotation id='6f08f4ca-1f77-4ed4-a627-0fb8843959fa' attributeId='dfbeaa83-63dc-4638-b55a-8dda62d74dd4' name='length' value='100'></annotation>
</attribute>
<attribute id='c4154a1b-f727-48cf-9ef0-ad1bee512504' name='project' columnName='project_id' title='项目' type='com.xyst.dinas.project.datamodel.ProjectFiled' default='' precision='' isArray='false'>
<annotation id='00caecc1-35aa-4342-90c8-250f84609fe4' attributeId='55efd3f5-036a-4ac4-83c9-14e22cf5465a' name='length' value='undefined'></annotation>
<annotation id='95a6dd6d-c676-4265-9c8b-d115c13b472f' attributeId='43768653-e259-4b0f-8c9d-8739f030675b' name='mappingType' value='many-to-one'></annotation>
......@@ -104,7 +103,21 @@
<annotation id='4d1596bd-ae0a-4d7e-8258-5dad66493239' attributeId='7b049c9a-56e4-4791-a0a3-451237fd38a1' name='precision' value='12'></annotation>
<annotation id='1a25ed97-846e-4847-aa21-1a0b025c01ed' attributeId='52a3d8ee-92ab-45dc-b668-46408143254d' name='scale' value='4'></annotation>
</attribute>
<attribute id='0933ceb1-f327-4372-a316-cffa1c80991a' name='projectName' columnName='project_name' title='项目名称' type='string' default='' precision='' isArray='false'>
<annotation id='6f08f4ca-1f77-4ed4-a627-0fb8843959fa' attributeId='dfbeaa83-63dc-4638-b55a-8dda62d74dd4' name='length' value='100'></annotation>
</attribute>
<attribute id='0933ceb1-f327-4372-a316-cffa1c80991a' name='projectTypeName' columnName='project_type_name' title='项目类型名称' type='string' default='' precision='' isArray='false'>
<annotation id='6f08f4ca-1f77-4ed4-a627-0fb8843959fa' attributeId='dfbeaa83-63dc-4638-b55a-8dda62d74dd4' name='length' value='100'></annotation>
</attribute>
<attribute id='0933ceb1-f327-4372-a316-cffa1c80991a' name='purchaseSandUnitName' columnName='purchase_sand_unit_name' title='购砂单位名称' type='string' default='' precision='' isArray='false'>
<annotation id='6f08f4ca-1f77-4ed4-a627-0fb8843959fa' attributeId='dfbeaa83-63dc-4638-b55a-8dda62d74dd4' name='length' value='100'></annotation>
</attribute>
<attribute id='0933ceb1-f327-4372-a316-cffa1c80991a' name='dinasTypeName' columnName='dinas_type_name' title='砂石种类名称' type='string' default='' precision='' isArray='false'>
<annotation id='6f08f4ca-1f77-4ed4-a627-0fb8843959fa' attributeId='dfbeaa83-63dc-4638-b55a-8dda62d74dd4' name='length' value='100'></annotation>
</attribute>
</childModel>
<hibernate>/xyst.dinas.contract/src/main/resources/config/SalesPlan.hbm.xml</hibernate>
......
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata" xmlns:m="http://www.beecode.cn/schema/bcp-sequence">
<specification>1.0</specification>
<id>11688da5-568d-46b0-8db6-2ddb86225547</id>
<id>516d558c-699f-4da1-9f1a-82aacd9b49ae</id>
<name>com.xyst.dinas.sales.bill.NeedPlan$sequence</name>
<title>需用计划$sequence</title>
<description>需用计划</description>
......
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata" xmlns:m="http://www.beecode.cn/schema/bcp-serial">
<specification>1.0</specification>
<id>ced4588e-e56f-4a42-8d64-75f772b98cba</id>
<id>f6a4e144-3c5e-4adb-ab51-926c2a27a65f</id>
<name>com.xyst.dinas.sales.bill.NeedPlan$serial</name>
<title>需用计划$serial</title>
<description>需用计划</description>
......
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata" xmlns:m="http://www.beecode.cn/schema/bcp-biztype">
<specification>1.0</specification>
<id>9ca6965a-3868-4895-b217-0b781c746d1e</id>
<id>e30a34dc-92d7-45e6-bcb7-b90c18ef0477</id>
<name>com.xyst.dinas.sales.bill.NeedPlan</name>
<title>需用计划</title>
<description>需用计划</description>
......
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata" xmlns:m="http://www.beecode.cn/schema/bcp-sequence">
<specification>1.0</specification>
<id>7a78607e-539b-43b4-8b19-a40aaa3d6eee</id>
<id>85cea7ab-906e-4cda-94f7-2c9750fbb55a</id>
<name>com.xyst.dinas.sales.bill.SalesPlan$sequence</name>
<title>销售计划$sequence</title>
<description>销售计划</description>
......
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata" xmlns:m="http://www.beecode.cn/schema/bcp-serial">
<specification>1.0</specification>
<id>72c7de56-0f10-41d0-840a-ab45f3267ed5</id>
<id>49b1914c-874b-413e-a57e-8f9bbdd57f39</id>
<name>com.xyst.dinas.sales.bill.SalesPlan$serial</name>
<title>销售计划$serial</title>
<description>销售计划</description>
......
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata" xmlns:m="http://www.beecode.cn/schema/bcp-biztype">
<specification>1.0</specification>
<id>7f25d939-edbd-411c-8c58-30140e9887bc</id>
<id>edea92ca-847b-4c02-8072-66c193b12df3</id>
<name>com.xyst.dinas.sales.bill.SalesPlan</name>
<title>销售计划</title>
<description>销售计划</description>
......
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata" xmlns:m="http://www.beecode.cn/schema/bcp-sequence">
<specification>1.0</specification>
<id>28215692-d1ca-4b04-8df1-00537c59e314</id>
<id>19234963-2f56-4e5a-a2e7-df3444adf24a</id>
<name>com.xyst.dinas.sales.bill.SalesPlanTemp$sequence</name>
<title>临时销售计划$sequence</title>
<define>bcp.sequence</define>
......
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata" xmlns:m="http://www.beecode.cn/schema/bcp-serial">
<specification>1.0</specification>
<id>0d773a04-56d7-4b4e-83d1-11e74b27715b</id>
<id>38a3b5ed-24ef-43dd-a3a6-fc3aa1e391c8</id>
<name>com.xyst.dinas.sales.bill.SalesPlanTemp$serial</name>
<title>临时销售计划$serial</title>
<define>bcp.serial</define>
......
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata" xmlns:m="http://www.beecode.cn/schema/bcp-biztype">
<specification>1.0</specification>
<id>a2518a0b-ad31-4a93-8477-2ac941ef4624</id>
<id>86a00394-e5fd-44d1-a0e3-742d874dac76</id>
<name>com.xyst.dinas.sales.bill.SalesPlanTemp</name>
<title>临时销售计划</title>
<define>bcp.biz.Biztype</define>
......
......@@ -213,6 +213,62 @@
<m:attribute>
<m:annotations>
<m:annotation>
<m:type>bcp.type.constraint.StringLength</m:type>
<m:value>100</m:value>
</m:annotation>
</m:annotations>
<m:id>0933ceb1-f327-4372-a316-cffa1c80991a</m:id>
<m:name>projectName</m:name>
<m:title>项目名称</m:title>
<m:type>string</m:type>
<m:description></m:description>
<m:default></m:default>
</m:attribute>
<m:attribute>
<m:annotations>
<m:annotation>
<m:type>bcp.type.constraint.StringLength</m:type>
<m:value>100</m:value>
</m:annotation>
</m:annotations>
<m:id>0933ceb1-f327-4372-a316-cffa1c80991a</m:id>
<m:name>projectTypeName</m:name>
<m:title>项目类型名称</m:title>
<m:type>string</m:type>
<m:description></m:description>
<m:default></m:default>
</m:attribute>
<m:attribute>
<m:annotations>
<m:annotation>
<m:type>bcp.type.constraint.StringLength</m:type>
<m:value>100</m:value>
</m:annotation>
</m:annotations>
<m:id>0933ceb1-f327-4372-a316-cffa1c80991a</m:id>
<m:name>purchaseSandUnitName</m:name>
<m:title>购砂单位名称</m:title>
<m:type>string</m:type>
<m:description></m:description>
<m:default></m:default>
</m:attribute>
<m:attribute>
<m:annotations>
<m:annotation>
<m:type>bcp.type.constraint.StringLength</m:type>
<m:value>100</m:value>
</m:annotation>
</m:annotations>
<m:id>0933ceb1-f327-4372-a316-cffa1c80991a</m:id>
<m:name>dinasTypeName</m:name>
<m:title>砂石种类名称</m:title>
<m:type>string</m:type>
<m:description></m:description>
<m:default></m:default>
</m:attribute>
<m:attribute>
<m:annotations>
<m:annotation>
<m:type>bcp.type.json.JsonIgnore</m:type>
</m:annotation>
</m:annotations>
......
......@@ -112,5 +112,18 @@
<property name="actualSaleAmount" type="big_decimal" not-null="false">
<column name="actual_sale_amount" precision="12" scale="4"></column>
</property>
<property name="projectName" type="nstring" not-null="false">
<column name="project_name" length="100"></column>
</property>
<property name="projectTypeName" type="nstring" not-null="false">
<column name="project_type_name" length="100"></column>
</property>
<property name="purchaseSandUnitName" type="nstring" not-null="false">
<column name="purchase_sand_unit_name" length="100"></column>
</property>
<property name="dinasTypeName" type="nstring" not-null="false">
<column name="dinas_type_name" length="100"></column>
</property>
</class>
</hibernate-mapping>
\ 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