Commit 40f51b43 by 王炜晨

Merge branch 'develop' of…

Merge branch 'develop' of https://gitlab.beecode.cn/kunlun/xyst_dinas/xyst_dinas_backend into develop

# Conflicts:
#	backend/xyst.dinas.biz/src/main/resources/com/xyst/dinas/biz/bill/Organization$sequence.jmx
#	backend/xyst.dinas.biz/src/main/resources/com/xyst/dinas/biz/bill/Organization$serial.jmx
#	backend/xyst.dinas.biz/src/main/resources/com/xyst/dinas/biz/bill/Organization.jmx
#	backend/xyst.dinas.biz/src/main/resources/com/xyst/dinas/biz/bill/Position$sequence.jmx
#	backend/xyst.dinas.biz/src/main/resources/com/xyst/dinas/biz/bill/Position$serial.jmx
#	backend/xyst.dinas.biz/src/main/resources/com/xyst/dinas/biz/bill/Position.jmx
#	backend/xyst.dinas.biz/src/main/resources/com/xyst/dinas/biz/bill/ShipInfo$sequence.jmx
#	backend/xyst.dinas.biz/src/main/resources/com/xyst/dinas/biz/bill/ShipInfo$serial.jmx
#	backend/xyst.dinas.biz/src/main/resources/com/xyst/dinas/biz/bill/ShipInfo.jmx
#	backend/xyst.dinas.biz/src/main/resources/com/xyst/dinas/biz/bill/Station$sequence.jmx
#	backend/xyst.dinas.biz/src/main/resources/com/xyst/dinas/biz/bill/Station$serial.jmx
#	backend/xyst.dinas.biz/src/main/resources/com/xyst/dinas/biz/bill/Station.jmx
#	backend/xyst.dinas.contract/src/main/resources/com/xyst/dinas/contract/bill/ContractBill$sequence.jmx
#	backend/xyst.dinas.contract/src/main/resources/com/xyst/dinas/contract/bill/ContractBill$serial.jmx
#	backend/xyst.dinas.contract/src/main/resources/com/xyst/dinas/contract/bill/ContractBill.jmx
#	backend/xyst.dinas.contract/src/main/resources/com/xyst/dinas/contract/query/ContractNoAuthFilterScene.jmx
#	backend/xyst.dinas.oa/src/main/resources/com/xyst/dinas/oa/bill/BusinessTripApply$sequence.jmx
#	backend/xyst.dinas.oa/src/main/resources/com/xyst/dinas/oa/bill/BusinessTripApply$serial.jmx
#	backend/xyst.dinas.oa/src/main/resources/com/xyst/dinas/oa/bill/BusinessTripApply.jmx
#	backend/xyst.dinas.oa/src/main/resources/com/xyst/dinas/oa/bill/ProtocolDocument$sequence.jmx
#	backend/xyst.dinas.oa/src/main/resources/com/xyst/dinas/oa/bill/ProtocolDocument$serial.jmx
#	backend/xyst.dinas.oa/src/main/resources/com/xyst/dinas/oa/bill/ProtocolDocument.jmx
#	backend/xyst.dinas.oa/src/main/resources/com/xyst/dinas/oa/bill/SealBorrow$sequence.jmx
#	backend/xyst.dinas.oa/src/main/resources/com/xyst/dinas/oa/bill/SealBorrow$serial.jmx
#	backend/xyst.dinas.oa/src/main/resources/com/xyst/dinas/oa/bill/SealBorrow.jmx
#	backend/xyst.dinas.oa/src/main/resources/com/xyst/dinas/oa/bill/UseCarApply$sequence.jmx
#	backend/xyst.dinas.oa/src/main/resources/com/xyst/dinas/oa/bill/UseCarApply$serial.jmx
#	backend/xyst.dinas.oa/src/main/resources/com/xyst/dinas/oa/bill/UseCarApply.jmx
#	backend/xyst.dinas.project/src/main/resources/com/xyst/dinas/project/bill/ProjectFiled$sequence.jmx
#	backend/xyst.dinas.project/src/main/resources/com/xyst/dinas/project/bill/ProjectFiled$serial.jmx
#	backend/xyst.dinas.project/src/main/resources/com/xyst/dinas/project/bill/ProjectFiled.jmx
#	backend/xyst.dinas.project/src/main/resources/com/xyst/dinas/project/bill/PurchaseSandCompany$sequence.jmx
#	backend/xyst.dinas.project/src/main/resources/com/xyst/dinas/project/bill/PurchaseSandCompany$serial.jmx
#	backend/xyst.dinas.project/src/main/resources/com/xyst/dinas/project/bill/PurchaseSandCompany.jmx
#	backend/xyst.dinas.sales/src/main/resources/com/xyst/dinas/sales/bill/NeedPlan$sequence.jmx
#	backend/xyst.dinas.sales/src/main/resources/com/xyst/dinas/sales/bill/NeedPlan$serial.jmx
#	backend/xyst.dinas.sales/src/main/resources/com/xyst/dinas/sales/bill/NeedPlan.jmx
#	backend/xyst.dinas.sales/src/main/resources/com/xyst/dinas/sales/bill/SalesPlan$sequence.jmx
#	backend/xyst.dinas.sales/src/main/resources/com/xyst/dinas/sales/bill/SalesPlan$serial.jmx
#	backend/xyst.dinas.sales/src/main/resources/com/xyst/dinas/sales/bill/SalesPlan.jmx
#	backend/xyst.dinas.sales/src/main/resources/com/xyst/dinas/sales/bill/SalesPlanTemp$sequence.jmx
#	backend/xyst.dinas.sales/src/main/resources/com/xyst/dinas/sales/bill/SalesPlanTemp$serial.jmx
#	backend/xyst.dinas.sales/src/main/resources/com/xyst/dinas/sales/bill/SalesPlanTemp.jmx
#	backend/xyst.dinas.sales/src/main/resources/com/xyst/dinas/sales/datamodel/SalesPlan.jmx
#	backend/xyst.dinas.sales/src/main/resources/com/xyst/dinas/sales/datamodel/SalesPlanTemp.jmx
parents 752cfcc7 e2d1d0e7
......@@ -21,5 +21,9 @@ public interface DinasTypeConstant {
* 关联子表的实体名
*/
String STATION_DINAS_TYPE_DETAIL_ENTITY = "com.xyst.dinas.biz.datamodel.Station$DinasTypeDetail";
/** 砂石种类名称*/
String DINASTYPE_NAME = "dinasTypeName";
}
......@@ -4,10 +4,9 @@ import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import java.util.Map.Entry;
import java.util.UUID;
import com.beecode.inz.common.BaseConstants;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.core.io.Resource;
......@@ -18,10 +17,10 @@ import com.beecode.bcp.type.KClass;
import com.beecode.bcp.type.KObject;
import com.beecode.inz.basis.init.DataInitializer;
import com.beecode.inz.basis.init.exception.DataInitException;
import com.beecode.inz.common.BaseConstants;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.xyst.dinas.biz.constant.DinasOrganizationConstant;
import com.xyst.dinas.biz.dao.DinasOrganizationDao;
import com.xyst.dinas.biz.service.DinasOrganizationService;
public class OrganizationDataInitializer implements DataInitializer {
......@@ -30,9 +29,6 @@ public class OrganizationDataInitializer implements DataInitializer {
private DinasOrganizationService dinasOrganizationService;
@Autowired
private DinasOrganizationDao dinasOrganizationDao;
@Autowired
private StaffDAO staffDAO;
private ObjectMapper objectMapper = new ObjectMapper();
......@@ -57,6 +53,7 @@ public class OrganizationDataInitializer implements DataInitializer {
kObject.set(BaseConstants.CREATE_TIME, new Date());
dinasOrganizationService.save(kObject);
saveFollower(kObject);
dinasOrganizationService.createRelDepartment(kObject.getUuid("id"));
} else{
KObject organizationByName = dinasOrganizationService.queryOrganizationByName(kObject.getString("name"));
saveFollower(organizationByName);
......
......@@ -76,7 +76,6 @@ public class DinasTypeDaoImpl extends AbstractBaseDao implements DinasTypeDao, D
for (KObject kObject : list) {
KObject kObject1 = detailBean.newInstance();
kObject1.set("dinasType",kObject);
kObject.set("stations",template.findByExample(STATION_DINAS_TYPE_DETAIL_ENTITY,kObject1));
}
page.setDatas(list);
return page;
......
package com.xyst.dinas.biz.internal.service;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import javax.transaction.Transactional;
import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import com.beecode.amino.core.Amino;
import com.beecode.bap.department.service.DepartmentService;
import com.beecode.bap.department.util.ChineseToEnglishUtil;
import com.beecode.bap.staff.BapContext;
import com.beecode.bap.staff.dao.StaffDAO;
import com.beecode.bcp.type.KClass;
import com.beecode.bcp.type.KObject;
import com.beecode.bcp.type.json.JSONObjectUtils;
import com.beecode.inz.basis.team.pojo.ResponseObj;
import com.xyst.dinas.biz.dao.DinasOrganizationDao;
import com.xyst.dinas.biz.service.DinasOrganizationService;
......@@ -25,6 +35,9 @@ public class DinasOrganizationServiceImpl implements DinasOrganizationService {
@Autowired
public BapContext bapContext;
@Autowired
public DepartmentService departmentService;
@Override
public KObject queryOrganizationByName(String name) {
return dinasOrganizationDao.queryOrganizationByName(name);
......@@ -81,4 +94,37 @@ public class DinasOrganizationServiceImpl implements DinasOrganizationService {
return UUID.fromString(obj.getString("id"));
}
@Override
@Transactional
public UUID createRelDepartment(UUID id) {
KObject kobj = dinasOrganizationDao.load(id);
KObject quangongsi = departmentService.getByName("全公司").get(0);
KObject department = Amino.getApplicationMetadataContext().getBean("com.beecode.bap.department.datamodel.Department", KClass.class).newInstance();
department.set("name", kobj.getString("name"));
department.set("shortname", ChineseToEnglishUtil.getPinYinHeadChar(kobj.getString("name")));
department.set("code", departmentService.getLastDeptCode());
department.set("parentId", quangongsi.getUuid("id"));
department.set("orgId", quangongsi.getUuid("orgId"));
department.set("level", 1);
department.set("createTime", new Date());
department.set("createUser", getCurrentLoginStaff().getUuid("id"));
department.set("paths", quangongsi.getString("paths") + "$" + department.getUuid("id"));
department.set("enable", true);
departmentService.create(department);
kobj.set("department", department);
dinasOrganizationDao.save(kobj);
return department.getUuid("id");
}
private KObject getCurrentLoginStaff(){
String currentStaff = (String) ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes())
.getRequest().getSession().getAttribute("currentStaff");
if (null == currentStaff || currentStaff.trim().length() == 0 ) {
throw new RuntimeException("从session中获取职员失败");
}
KClass kClass = Amino.getApplicationMetadataContext().getBean("com.beecode.bap.staff.datamodel.Staff",
KClass.class);
KObject staff = JSONObjectUtils.toObject(currentStaff, kClass);
return staff;
}
}
......@@ -28,4 +28,6 @@ public interface DinasOrganizationService {
UUID getCurrentRegionalCompanyId();
UUID createRelDepartment(UUID id);
}
......@@ -11,6 +11,7 @@ import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import com.beecode.inz.basis.team.pojo.ResponseObj;
import com.xyst.dinas.biz.service.DinasOrganizationService;
@RestController
......@@ -43,4 +44,16 @@ public class DinasOrganizationController {
public Object queryPositionIsUse(@PathVariable("id") String id) {
return dinasOrganizationService.queryStaffByRegionalCompany(UUID.fromString(id));
}
/**
* 根据区域公司自动生成对应的部门并关联起来
* @param id 区域公司id
* @return
*/
@ResponseBody
@RequestMapping(value = "/dinasBiz/organization/createRelDepartment", method = RequestMethod.POST, consumes = "application/json")
public Object createRelDepartment(@RequestBody String body) {
String id = new JSONObject(body).getString("id");
return ResponseObj.success("关联部门生成成功", dinasOrganizationService.createRelDepartment(UUID.fromString(id)));
}
}
......@@ -32,7 +32,8 @@ public class DinasTypeController {
Page<KObject> objectPage = new Page<>();
objectPage.setPageNo(pageNo);
objectPage.setPageSize(pageSize);
return ResponseObj.success("操作成功",dinasTypeService.queryByPaging(objectPage));
Page<KObject> kObjectPage = dinasTypeService.queryByPaging(objectPage);
return ResponseObj.success("操作成功",kObjectPage);
}
/**
......
......@@ -42,6 +42,8 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import org.springframework.web.multipart.MultipartFile;
import com.beecode.bap.attachment.AttachmentConstants.FileCheck;
......@@ -50,8 +52,9 @@ import com.beecode.bap.attachment.common.Utils;
import com.beecode.bap.attachment.exception.AttachmentDataDownLoadException;
import com.beecode.bap.attachment.exception.AttachmentDataUploadException;
import com.beecode.bap.attachment.exception.AttachmentException;
import com.beecode.bap.attachment.internal.CreatorAdapterService;
import com.beecode.bap.attachment.service.AttachmentService;
import com.beecode.inz.basis.pojo.SandUser;
import com.beecode.inz.basis.service.SandUserService;
import com.jiuqi.np.tenant.spring.TenantRuntime;
@RestController
......@@ -72,6 +75,9 @@ public class SandAttachmentController {
@Autowired
private AttachmentService attachmentService;
@Autowired
private SandUserService sandUserService;
@RequestMapping(value = "files", method = RequestMethod.POST)
@Transactional
......@@ -148,7 +154,7 @@ public class SandAttachmentController {
}
attachmentInfo.setFileType(Utils.getFileType(file.getOriginalFilename()));
attachmentInfo.setSize(file.getSize());
UUID currentCreatorId = getCurrentCreatorId();
UUID currentCreatorId = getCurrentSandUserId();
if (currentCreatorId != null) {
attachmentInfo.setCreatorId(currentCreatorId);
}
......@@ -483,15 +489,22 @@ public class SandAttachmentController {
return false;
}
@Autowired
private CreatorAdapterService creatorAdapterService;
// @Autowired
// private CreatorAdapterService creatorAdapterService;
private UUID getCurrentCreatorId() {
return creatorAdapterService.getCurrentCreatorId();
// private UUID getCurrentCreatorId() {
// return creatorAdapterService.getCurrentCreatorId();
// }
private UUID getCurrentSandUserId() {
ServletRequestAttributes attr = (ServletRequestAttributes) RequestContextHolder.currentRequestAttributes();
return (UUID)attr.getRequest().getSession().getAttribute("userId");
}
private String getCreatorName(UUID id) {
return creatorAdapterService.getCreatorName(id);
// return creatorAdapterService.getCreatorName(id);
SandUser user = sandUserService.getById(id);
return user.getTitle();
}
private Map<String, Object> toMap(AttachmentInfo info) {
......
......@@ -42,6 +42,8 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import org.springframework.web.multipart.MultipartFile;
import com.beecode.bap.attachment.AttachmentConstants.FileCheck;
......@@ -50,8 +52,9 @@ import com.beecode.bap.attachment.common.Utils;
import com.beecode.bap.attachment.exception.AttachmentDataDownLoadException;
import com.beecode.bap.attachment.exception.AttachmentDataUploadException;
import com.beecode.bap.attachment.exception.AttachmentException;
import com.beecode.bap.attachment.internal.CreatorAdapterService;
import com.beecode.bap.attachment.service.AttachmentService;
import com.beecode.inz.basis.pojo.WarehouseUser;
import com.beecode.inz.basis.service.WarehouseUserService;
import com.jiuqi.np.tenant.spring.TenantRuntime;
@RestController
......@@ -72,6 +75,9 @@ public class WarehouseAttachmentController {
@Autowired
private AttachmentService attachmentService;
@Autowired
private WarehouseUserService warehouseUserService;
@RequestMapping(value = "files", method = RequestMethod.POST)
@Transactional
......@@ -148,7 +154,7 @@ public class WarehouseAttachmentController {
}
attachmentInfo.setFileType(Utils.getFileType(file.getOriginalFilename()));
attachmentInfo.setSize(file.getSize());
UUID currentCreatorId = getCurrentCreatorId();
UUID currentCreatorId = getCurrentWarehouseUserId();
if (currentCreatorId != null) {
attachmentInfo.setCreatorId(currentCreatorId);
}
......@@ -483,15 +489,22 @@ public class WarehouseAttachmentController {
return false;
}
@Autowired
private CreatorAdapterService creatorAdapterService;
// @Autowired
// private CreatorAdapterService creatorAdapterService;
private UUID getCurrentCreatorId() {
return creatorAdapterService.getCurrentCreatorId();
// private UUID getCurrentCreatorId() {
// return creatorAdapterService.getCurrentCreatorId();
// }
private UUID getCurrentWarehouseUserId() {
ServletRequestAttributes attr = (ServletRequestAttributes) RequestContextHolder.currentRequestAttributes();
return (UUID)attr.getRequest().getSession().getAttribute("userId");
}
private String getCreatorName(UUID id) {
return creatorAdapterService.getCreatorName(id);
// return creatorAdapterService.getCreatorName(id);
WarehouseUser user = warehouseUserService.getById(id);
return user.getTitle();
}
private Map<String, Object> toMap(AttachmentInfo info) {
......
......@@ -26,6 +26,9 @@
</m:attribute>
<m:attribute>
<m:annotations>
<m:annotation>
<m:type>bcp.type.json.JsonIgnore</m:type>
</m:annotation>
</m:annotations>
<m:id>61699557-6afc-43c2-adeb-fecfeb844536</m:id>
<m:name>dinasType</m:name>
......
package com.xyst.dinas.finance.config;
import org.springframework.context.annotation.Bean;
import com.xyst.dinas.finance.web.RefundController;
public class FinanceConfiguration {
/***********退款 *************/
@Bean
public RefundController refundController() {
return new RefundController();
}
}
package com.xyst.dinas.finance.web;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 退款
*
* @author Jackpot
* @date 2021年4月20日
*/
@RestController
public class RefundController {
@PostMapping("/refund")
public void test() {
}
}
......@@ -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";
}
......@@ -9,6 +9,6 @@ public interface PurchaseSandCompanyDao {
KObject load(UUID id);
List<KObject> queryPurchaseSandCompanyByName(String name);
List<KObject> queryPurchaseSandCompanyByName(String name, UUID currentRegionalCompany);
}
......@@ -11,6 +11,7 @@ import org.springframework.orm.hibernate5.HibernateCallback;
import org.springframework.orm.hibernate5.HibernateOperations;
import com.beecode.bcp.type.KObject;
import com.xyst.dinas.biz.service.DinasOrganizationService;
import com.xyst.dinas.project.constant.PurchaseSandCompanyConstant;
import com.xyst.dinas.project.dao.PurchaseSandCompanyDao;
......@@ -19,14 +20,17 @@ public class PurchaseSandCompanyDaoImpl implements PurchaseSandCompanyDao, Purch
@Autowired
private HibernateOperations template;
@Override
public List<KObject> queryPurchaseSandCompanyByName(String name) {
public List<KObject> queryPurchaseSandCompanyByName(String name, UUID currentRegionalCompany) {
return (List<KObject>)template.execute(new HibernateCallback<List<KObject>>() {
@SuppressWarnings("unchecked")
@Override
public List<KObject> doInHibernate(Session session) throws HibernateException {
Query<KObject> query = session.createQuery("from " + PURCHASE_SAND_COMPANY_NTITY + " where (discard is null or discard = 0) and name =:name", KObject.class);
Query<KObject> query = session.createQuery("from " + PURCHASE_SAND_COMPANY_NTITY + " where (discard is null or discard = 0) and name =:name and regionalCompany.id=:regionalCompany ", KObject.class);
query.setParameter("name", name);
query.setParameter("regionalCompany", currentRegionalCompany);
return query.getResultList();
}
});
......
package com.xyst.dinas.project.internal.service;
import java.util.List;
import java.util.UUID;
import org.springframework.beans.factory.annotation.Autowired;
import com.beecode.bcp.type.KObject;
import com.xyst.dinas.biz.service.DinasOrganizationService;
import com.xyst.dinas.project.dao.ProjectFiledDao;
import com.xyst.dinas.project.dao.PurchaseSandCompanyDao;
import com.xyst.dinas.project.service.PurchaseSandCompanyService;
......@@ -14,9 +16,13 @@ public class PurchaseSandCompanyServiceImpl implements PurchaseSandCompanyServic
@Autowired
private PurchaseSandCompanyDao purchaseSandCompanyDao;
@Autowired
private DinasOrganizationService dinasOrganizationService;
@Override
public Boolean verifyName(String name) {
List<KObject> list = purchaseSandCompanyDao.queryPurchaseSandCompanyByName(name);
UUID currentRegionalCompany = dinasOrganizationService.getCurrentRegionalCompanyId();
List<KObject> list = purchaseSandCompanyDao.queryPurchaseSandCompanyByName(name, currentRegionalCompany);
Boolean flag = false;
if (list != null && list.size() > 0 ) {
flag = true;
......
......@@ -10,6 +10,7 @@ import com.xyst.dinas.sales.internal.dao.NeedPlanDaoImpl;
import com.xyst.dinas.sales.internal.service.InventoryServiceImpl;
import com.xyst.dinas.sales.internal.service.NeedPlanServiceImpl;
import com.xyst.dinas.sales.internal.service.SalesPlanServiceImpl;
import com.xyst.dinas.sales.processor.SalesPlanProcessor;
import com.xyst.dinas.sales.processor.SalesPlanTempProcessor;
import com.xyst.dinas.sales.service.InventoryService;
import com.xyst.dinas.sales.service.NeedPlanService;
......@@ -60,6 +61,11 @@ public class SalesConfiguration {
return new SalesPlanTempProcessor();
}
@Bean("com.xyst.dinas.sales.processor.SalesPlanProcessor")
public SalesPlanProcessor salesPlanProcessor() {
return new SalesPlanProcessor();
}
/***********需用计划******************/
......
......@@ -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";
......
......@@ -5,12 +5,14 @@ import java.util.List;
import java.util.UUID;
import org.hibernate.query.Query;
import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.lang.Nullable;
import org.springframework.orm.hibernate5.HibernateTemplate;
import com.beecode.bcp.type.KObject;
import com.xyst.dinas.sales.constant.SalesPlanConstant;
import com.xyst.dinas.sales.web.request.SaleaPlanDetailQuery;
public class SalesPlanDao {
......@@ -94,14 +96,17 @@ public class SalesPlanDao {
update(kobject);
}
public List<KObject> querySalesPlanDetailsByMasterId(UUID salesPlanId) {
public List<KObject> querySalesPlanDetailsByMasterId(SaleaPlanDetailQuery saleaPlanDetailQuery) {
UUID salesPlanId = saleaPlanDetailQuery.getSalesPlanId();
String purchaseSandUnitName = saleaPlanDetailQuery.getPurchaseSandUnitName();
return template.execute(session ->{
String hql = "from " + SalesPlanConstant.ENTITY_DETAIL + " where master.id =:salesPlanId GROUP BY purchaseSandUnit.id, project.id, contract.id, id ";
Query<KObject> query = session.createQuery(hql, KObject.class);
StringBuilder hql = new StringBuilder(" from " + SalesPlanConstant.ENTITY_DETAIL + " where master.id =:salesPlanId ");
if (purchaseSandUnitName!=null) hql.append(" and purchaseSandUnit.name =:purchaseSandUnitName ");
hql.append(" GROUP BY purchaseSandUnit.id, project.id, contract.id, id ");
Query<KObject> query = session.createQuery(hql.toString(), KObject.class);
query.setParameter("salesPlanId", salesPlanId);
List<KObject> resultList = query.getResultList();
return resultList;
if (purchaseSandUnitName!=null) query.setParameter("purchaseSandUnitName", purchaseSandUnitName);
return query.getResultList();
});
}
......
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,12 +15,17 @@ 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;
import com.xyst.dinas.sales.web.request.SaleaPlanDetailQuery;
/**
* 销售计划
*
......@@ -42,11 +48,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 +74,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 +122,53 @@ public class SalesPlanServiceImpl implements SalesPlanService{
}
/***************临时销售计划*****************/
public List<SalesPlanDetail> querySalesPlanDetails(SaleaPlanDetailQuery saleaPlanDetailQuery) {
ArrayList<SalesPlanDetail> salesPlanDetails = new ArrayList<>();
// KObject kObject = salesPlanDao.load(salesPlanId);
List<KObject> details = salesPlanDao.querySalesPlanDetailsByMasterId(saleaPlanDetailQuery);
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(JSONObject jsonObject) {
// UUID salesPlanId = UUID.fromString(jsonObject.getString("salesPlanId"));
// KObject kObject = salesPlanDao.load(salesPlanId);
// List<KObject> details = salesPlanDao.querySalesPlanDetailsByMasterId(jsonObject);
// kObject.set("SalesPlanDetails", details);
// return kObject;
// }
public KObject queryTempSalesPlan(UUID id) {
return salesPlanDao.queryTempSalesPlan(id);
}
@Override
public Object 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 +176,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 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;
/**
* 销售计划查询处理
*
* @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 regionalCompanyId = UUID.fromString(row.get("regionalCompany.id").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.id").toString());
KObject regionalCompany = orgService.load(regionalCompanyId);
row.put("regionalCompanyName", regionalCompany.getString("name"));
}
}
}
......@@ -6,6 +6,8 @@ import java.util.UUID;
import org.springframework.lang.Nullable;
import com.beecode.bcp.type.KObject;
import com.xyst.dinas.sales.entity.SalesPlanDetail;
import com.xyst.dinas.sales.web.request.SaleaPlanDetailQuery;
public interface SalesPlanService {
......@@ -39,8 +41,12 @@ public interface SalesPlanService {
public void approveSalesPlanForTemp(UUID id,int approveState,String approveMemo);
public Object querySalesPlanDetailsByMasterId(UUID fromString);
// public KObject querySalesPlanDetailsByMasterId(UUID fromString);
// public Object querySalesPlanDetailsByMasterId(JSONObject jsonObject);
public Object querySalesPlanDetailsByMasterIdWarehouse(UUID fromString, UUID fromString2);
public KObject querySalesPlanDetailsByMasterIdWarehouse(UUID fromString, UUID fromString2);
public List<SalesPlanDetail> querySalesPlanDetails(SaleaPlanDetailQuery saleaPlanDetailQuery);
}
......@@ -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;
......@@ -11,10 +12,13 @@ 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.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;
import com.xyst.dinas.sales.web.request.SaleaPlanDetailQuery;
@RestController
public class SalesPlanController {
......@@ -86,11 +90,25 @@ public class SalesPlanController {
* @param saleaPlanId
* @return
*/
@ResponseBody
@RequestMapping(value = "/salesplan/querySalesPlanDetailsByMasterId", method = RequestMethod.GET)
public Object querySalesPlanDetailsByMasterId(@RequestParam("saleaPlanId") String saleaPlanId) {
return ResponseObj.success("success", salesPlanService.querySalesPlanDetailsByMasterId(UUID.fromString(saleaPlanId)));
}
// @ResponseBody
// @RequestMapping(value = "/salesplan/querySalesPlanDetailsByMasterId", method = RequestMethod.GET)
// public Object querySalesPlanDetailsByMasterId(@RequestParam("saleaPlanId") UUID saleaPlanId) {
// KObject salesPlanDetails = salesPlanService.querySalesPlanDetailsByMasterId(saleaPlanId);
// return ResponseObj.success("success", salesPlanDetails);
//}
// @Deprecated
// @RequestMapping(value = "/salesplan/querySalesPlanDetailsByMasterId", method = RequestMethod.POST)
// public Object querySalesPlanDetailsByMasterId(@RequestBody String parameter) {
// JSONObject jsonObject = new JSONObject(parameter);
// return ResponseObj.success("success", salesPlanService.querySalesPlanDetailsByMasterId(jsonObject));
// }
@PostMapping("/salesplan/querySalesPlanDetails")
public Object querySalesPlanDetails(@RequestBody SaleaPlanDetailQuery saleaPlanDetailQuery) {
List<SalesPlanDetail> salesPlanDetails = salesPlanService.querySalesPlanDetails(saleaPlanDetailQuery);
return ResponseObj.success("success", salesPlanDetails);
}
/**
* 根据销售计划id查询计划明细(分组)场站用户
......@@ -102,5 +120,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());
}
}
package com.xyst.dinas.sales.web.request;
import java.io.Serializable;
import java.util.UUID;
public class SaleaPlanDetailQuery implements Serializable{
private static final long serialVersionUID = 1L;
private UUID salesPlanId;
private String purchaseSandUnitName;
public UUID getSalesPlanId() {
return salesPlanId;
}
public void setSalesPlanId(UUID salesPlanId) {
this.salesPlanId = salesPlanId;
}
public String getPurchaseSandUnitName() {
return purchaseSandUnitName;
}
public void setPurchaseSandUnitName(String purchaseSandUnitName) {
this.purchaseSandUnitName = purchaseSandUnitName;
}
}
......@@ -28,6 +28,22 @@
<attribute id='0933ceb1-f327-4372-a316-cffa1c80991a' name='approveTime' columnName='approve_time' title='审批时间' type='datetime' default='' precision='' isArray='false'>
<annotation id='6f08f4ca-1f77-4ed4-a627-0fb8843959fa' attributeId='dfbeaa83-63dc-4638-b55a-8dda62d74dd4' name='length' value='undefined'></annotation>
</attribute>
<attribute id='77e202d5-a342-436c-8042-adcaa8dde410' name='requiredTotalAmount' columnName='required_total_amount' title='需用总量(吨)' type='fixnum' default='' precision='' isArray='false'>
<annotation id='b203f8fa-0ad3-4837-a023-0ef742a74f29' attributeId='ff41e7d3-9fba-4a9b-811a-9b66ab87950d' name='length' value='100'></annotation>
<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='77e202d5-a342-436c-8042-adcaa8dde410' name='planTotalAmount' columnName='plan_total_amount' title='本期分配总量(吨)' type='fixnum' default='' precision='' isArray='false'>
<annotation id='b203f8fa-0ad3-4837-a023-0ef742a74f29' attributeId='ff41e7d3-9fba-4a9b-811a-9b66ab87950d' name='length' value='100'></annotation>
<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='77e202d5-a342-436c-8042-adcaa8dde410' name='actualSaleTotalAmount' columnName='actual_sale_total_amount' title='实际销售总量(吨)' type='fixnum' default='' precision='' isArray='false'>
<annotation id='b203f8fa-0ad3-4837-a023-0ef742a74f29' attributeId='ff41e7d3-9fba-4a9b-811a-9b66ab87950d' name='length' value='100'></annotation>
<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>
<childModel id='57fa342f-59f3-4be6-98bb-3e87853471ee' attributeId='06a76145-09c6-4e83-b91e-66aec616b9ca' refParentAttributeId='233c82e2-e7b6-49fc-96cc-bb947ba2cc99'
......@@ -42,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>
......@@ -88,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>
......
......@@ -52,7 +52,7 @@
</attribute>
<childModel id='d667dff0-2b8b-497c-b126-99b9d0e4de2f' attributeId='b706360e-39b1-44c5-9ed6-0b82c4a72807' refParentAttributeId='ccddb9cc-707e-4c56-890b-5272f1268d3c'
name='SalesPlanTempDetails' tableName='xyst_dinas_sale_plan_temp_detail' domainInherit='' title='临时销售计划子表' >
name='SalesPlanTempDetail' tableName='xyst_dinas_sale_plan_temp_detail' domainInherit='' title='临时销售计划子表' >
<parent>com.beecode.bap.biztrait.datamodel.StoreSubTableRequirement</parent>
<attribute id='4c3923a4-9631-439f-bdac-1ee06c057765' name='dinasType' columnName='dinas_type' title='砂石类型' type='com.xyst.dinas.biz.datamodel.DinasType' default='' precision='' isArray='false'>
......
......@@ -10,6 +10,7 @@
<content>
<customQuery id='451f4875-82d2-486b-b684-325692e93b28'>
<kclass>com.xyst.dinas.sales.datamodel.SalesPlan</kclass>
<dataProcessor>com.xyst.dinas.sales.processor.SalesPlanProcessor</dataProcessor>
<authorityItem></authorityItem>
<innerScene title='全部'>
<id>c775c023-9960-4039-9e9c-d3ff544308b5</id>
......@@ -65,6 +66,24 @@
</ref>
<description></description>
</field>
<field title='计划周期开始时间'>
<name>planningCycle.startTime</name>
<type>datetime</type>
<ref>
<type></type>
<name>com.xyst.dinas.biz.datamodel.PlanningCycle</name>
</ref>
<description></description>
</field>
<field title='计划周期结束时间'>
<name>planningCycle.endTime</name>
<type>datetime</type>
<ref>
<type></type>
<name>com.xyst.dinas.biz.datamodel.PlanningCycle</name>
</ref>
<description></description>
</field>
<field title='审批时间'>
<name>approveTime</name>
<type>datetime</type>
......
......@@ -381,6 +381,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>
......
......@@ -2,7 +2,7 @@
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata" xmlns:m="http://www.beecode.cn/schema/bcp-type">
<specification>1.0</specification>
<id>d667dff0-2b8b-497c-b126-99b9d0e4de2f</id>
<name>com.xyst.dinas.sales.datamodel.SalesPlanTemp$SalesPlanTempDetails</name>
<name>com.xyst.dinas.sales.datamodel.SalesPlanTemp$SalesPlanTempDetail</name>
<title>临时销售计划子表</title>
<define>bcp.type.Class</define>
<define-version>1.0</define-version>
......
......@@ -10,7 +10,7 @@
<content>
<m:query>
<m:type>com.xyst.dinas.sales.datamodel.SalesPlan</m:type>
<m:dataProcessor></m:dataProcessor>
<m:dataProcessor>com.xyst.dinas.sales.processor.SalesPlanProcessor</m:dataProcessor>
<m:authorityItem></m:authorityItem>
<m:innerScenes>
<m:innerScene>
......@@ -77,6 +77,26 @@
<m:desc></m:desc>
</m:field>
<m:field>
<m:name>planningCycle.startTime</m:name>
<m:title>计划周期开始时间</m:title>
<m:type>datetime</m:type>
<m:ref>
<m:name>com.xyst.dinas.biz.datamodel.PlanningCycle</m:name>
<m:type></m:type>
</m:ref>
<m:desc></m:desc>
</m:field>
<m:field>
<m:name>planningCycle.endTime</m:name>
<m:title>计划周期结束时间</m:title>
<m:type>datetime</m:type>
<m:ref>
<m:name>com.xyst.dinas.biz.datamodel.PlanningCycle</m:name>
<m:type></m:type>
</m:ref>
<m:desc></m:desc>
</m:field>
<m:field>
<m:name>approveTime</m:name>
<m:title>审批时间</m:title>
<m:type>datetime</m:type>
......
......@@ -52,7 +52,16 @@
<property name="approveMemo" type="nstring" not-null="false">
<column name="approve_memo" length="400"></column>
</property>
<property name="requiredTotalAmount" type="big_decimal" not-null="false">
<column name="required_total_amount" precision="12" scale="4"></column>
</property>
<property name="planTotalAmount" type="big_decimal" not-null="false">
<column name="plan_total_amount" precision="12" scale="4"></column>
</property>
<property name="actualSaleTotalAmount" type="big_decimal" not-null="false">
<column name="actual_sale_total_amount" precision="12" scale="4"></column>
</property>
<bag name="SalesPlanDetails" lazy="true" fetch="select" inverse="true">
<key column="master_id" not-null="true" />
<one-to-many entity-name="com.xyst.dinas.sales.datamodel.SalesPlan$SalesPlanDetail" />
......@@ -103,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
......@@ -74,10 +74,10 @@
<bag name="SalesPlanTempDetails" lazy="true" fetch="select" inverse="true">
<key column="master_id" not-null="true" />
<one-to-many entity-name="com.xyst.dinas.sales.datamodel.SalesPlanTemp$SalesPlanTempDetails" />
<one-to-many entity-name="com.xyst.dinas.sales.datamodel.SalesPlanTemp$SalesPlanTempDetail" />
</bag>
</class>
<class entity-name="com.xyst.dinas.sales.datamodel.SalesPlanTemp$SalesPlanTempDetails" table="xyst_dinas_sale_plan_temp_detail">
<class entity-name="com.xyst.dinas.sales.datamodel.SalesPlanTemp$SalesPlanTempDetail" table="xyst_dinas_sale_plan_temp_detail">
<tuplizer entity-mode="dynamic-map" class="com.beecode.bcp.store.hibernate.KObjectEntityTuplizer"/>
<id name="id" type="uuid-binary" column="id" length="16">
<generator class="uuid2" />
......
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