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
...@@ -22,4 +22,8 @@ public interface DinasTypeConstant { ...@@ -22,4 +22,8 @@ public interface DinasTypeConstant {
*/ */
String STATION_DINAS_TYPE_DETAIL_ENTITY = "com.xyst.dinas.biz.datamodel.Station$DinasTypeDetail"; 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; ...@@ -4,10 +4,9 @@ import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.UUID;
import java.util.Map.Entry; 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.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.core.io.Resource; import org.springframework.core.io.Resource;
...@@ -18,10 +17,10 @@ import com.beecode.bcp.type.KClass; ...@@ -18,10 +17,10 @@ import com.beecode.bcp.type.KClass;
import com.beecode.bcp.type.KObject; import com.beecode.bcp.type.KObject;
import com.beecode.inz.basis.init.DataInitializer; import com.beecode.inz.basis.init.DataInitializer;
import com.beecode.inz.basis.init.exception.DataInitException; 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.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
import com.xyst.dinas.biz.constant.DinasOrganizationConstant; import com.xyst.dinas.biz.constant.DinasOrganizationConstant;
import com.xyst.dinas.biz.dao.DinasOrganizationDao;
import com.xyst.dinas.biz.service.DinasOrganizationService; import com.xyst.dinas.biz.service.DinasOrganizationService;
public class OrganizationDataInitializer implements DataInitializer { public class OrganizationDataInitializer implements DataInitializer {
...@@ -30,9 +29,6 @@ public class OrganizationDataInitializer implements DataInitializer { ...@@ -30,9 +29,6 @@ public class OrganizationDataInitializer implements DataInitializer {
private DinasOrganizationService dinasOrganizationService; private DinasOrganizationService dinasOrganizationService;
@Autowired @Autowired
private DinasOrganizationDao dinasOrganizationDao;
@Autowired
private StaffDAO staffDAO; private StaffDAO staffDAO;
private ObjectMapper objectMapper = new ObjectMapper(); private ObjectMapper objectMapper = new ObjectMapper();
...@@ -57,6 +53,7 @@ public class OrganizationDataInitializer implements DataInitializer { ...@@ -57,6 +53,7 @@ public class OrganizationDataInitializer implements DataInitializer {
kObject.set(BaseConstants.CREATE_TIME, new Date()); kObject.set(BaseConstants.CREATE_TIME, new Date());
dinasOrganizationService.save(kObject); dinasOrganizationService.save(kObject);
saveFollower(kObject); saveFollower(kObject);
dinasOrganizationService.createRelDepartment(kObject.getUuid("id"));
} else{ } else{
KObject organizationByName = dinasOrganizationService.queryOrganizationByName(kObject.getString("name")); KObject organizationByName = dinasOrganizationService.queryOrganizationByName(kObject.getString("name"));
saveFollower(organizationByName); saveFollower(organizationByName);
......
...@@ -76,7 +76,6 @@ public class DinasTypeDaoImpl extends AbstractBaseDao implements DinasTypeDao, D ...@@ -76,7 +76,6 @@ public class DinasTypeDaoImpl extends AbstractBaseDao implements DinasTypeDao, D
for (KObject kObject : list) { for (KObject kObject : list) {
KObject kObject1 = detailBean.newInstance(); KObject kObject1 = detailBean.newInstance();
kObject1.set("dinasType",kObject); kObject1.set("dinasType",kObject);
kObject.set("stations",template.findByExample(STATION_DINAS_TYPE_DETAIL_ENTITY,kObject1));
} }
page.setDatas(list); page.setDatas(list);
return page; return page;
......
package com.xyst.dinas.biz.internal.service; package com.xyst.dinas.biz.internal.service;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.UUID; import java.util.UUID;
import javax.transaction.Transactional;
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.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.BapContext;
import com.beecode.bap.staff.dao.StaffDAO; import com.beecode.bap.staff.dao.StaffDAO;
import com.beecode.bcp.type.KClass;
import com.beecode.bcp.type.KObject; import com.beecode.bcp.type.KObject;
import com.beecode.bcp.type.json.JSONObjectUtils;
import com.beecode.inz.basis.team.pojo.ResponseObj; import com.beecode.inz.basis.team.pojo.ResponseObj;
import com.xyst.dinas.biz.dao.DinasOrganizationDao; import com.xyst.dinas.biz.dao.DinasOrganizationDao;
import com.xyst.dinas.biz.service.DinasOrganizationService; import com.xyst.dinas.biz.service.DinasOrganizationService;
...@@ -25,6 +35,9 @@ public class DinasOrganizationServiceImpl implements DinasOrganizationService { ...@@ -25,6 +35,9 @@ public class DinasOrganizationServiceImpl implements DinasOrganizationService {
@Autowired @Autowired
public BapContext bapContext; public BapContext bapContext;
@Autowired
public DepartmentService departmentService;
@Override @Override
public KObject queryOrganizationByName(String name) { public KObject queryOrganizationByName(String name) {
return dinasOrganizationDao.queryOrganizationByName(name); return dinasOrganizationDao.queryOrganizationByName(name);
...@@ -81,4 +94,37 @@ public class DinasOrganizationServiceImpl implements DinasOrganizationService { ...@@ -81,4 +94,37 @@ public class DinasOrganizationServiceImpl implements DinasOrganizationService {
return UUID.fromString(obj.getString("id")); 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 { ...@@ -28,4 +28,6 @@ public interface DinasOrganizationService {
UUID getCurrentRegionalCompanyId(); UUID getCurrentRegionalCompanyId();
UUID createRelDepartment(UUID id);
} }
...@@ -11,6 +11,7 @@ import org.springframework.web.bind.annotation.RequestMethod; ...@@ -11,6 +11,7 @@ import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import com.beecode.inz.basis.team.pojo.ResponseObj;
import com.xyst.dinas.biz.service.DinasOrganizationService; import com.xyst.dinas.biz.service.DinasOrganizationService;
@RestController @RestController
...@@ -43,4 +44,16 @@ public class DinasOrganizationController { ...@@ -43,4 +44,16 @@ public class DinasOrganizationController {
public Object queryPositionIsUse(@PathVariable("id") String id) { public Object queryPositionIsUse(@PathVariable("id") String id) {
return dinasOrganizationService.queryStaffByRegionalCompany(UUID.fromString(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 { ...@@ -32,7 +32,8 @@ public class DinasTypeController {
Page<KObject> objectPage = new Page<>(); Page<KObject> objectPage = new Page<>();
objectPage.setPageNo(pageNo); objectPage.setPageNo(pageNo);
objectPage.setPageSize(pageSize); 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; ...@@ -42,6 +42,8 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController; 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 org.springframework.web.multipart.MultipartFile;
import com.beecode.bap.attachment.AttachmentConstants.FileCheck; import com.beecode.bap.attachment.AttachmentConstants.FileCheck;
...@@ -50,8 +52,9 @@ import com.beecode.bap.attachment.common.Utils; ...@@ -50,8 +52,9 @@ import com.beecode.bap.attachment.common.Utils;
import com.beecode.bap.attachment.exception.AttachmentDataDownLoadException; import com.beecode.bap.attachment.exception.AttachmentDataDownLoadException;
import com.beecode.bap.attachment.exception.AttachmentDataUploadException; import com.beecode.bap.attachment.exception.AttachmentDataUploadException;
import com.beecode.bap.attachment.exception.AttachmentException; import com.beecode.bap.attachment.exception.AttachmentException;
import com.beecode.bap.attachment.internal.CreatorAdapterService;
import com.beecode.bap.attachment.service.AttachmentService; 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; import com.jiuqi.np.tenant.spring.TenantRuntime;
@RestController @RestController
...@@ -73,6 +76,9 @@ public class SandAttachmentController { ...@@ -73,6 +76,9 @@ public class SandAttachmentController {
@Autowired @Autowired
private AttachmentService attachmentService; private AttachmentService attachmentService;
@Autowired
private SandUserService sandUserService;
@RequestMapping(value = "files", method = RequestMethod.POST) @RequestMapping(value = "files", method = RequestMethod.POST)
@Transactional @Transactional
public UUID upload(@RequestParam(name = "belongId", required = false) UUID belongId, public UUID upload(@RequestParam(name = "belongId", required = false) UUID belongId,
...@@ -148,7 +154,7 @@ public class SandAttachmentController { ...@@ -148,7 +154,7 @@ public class SandAttachmentController {
} }
attachmentInfo.setFileType(Utils.getFileType(file.getOriginalFilename())); attachmentInfo.setFileType(Utils.getFileType(file.getOriginalFilename()));
attachmentInfo.setSize(file.getSize()); attachmentInfo.setSize(file.getSize());
UUID currentCreatorId = getCurrentCreatorId(); UUID currentCreatorId = getCurrentSandUserId();
if (currentCreatorId != null) { if (currentCreatorId != null) {
attachmentInfo.setCreatorId(currentCreatorId); attachmentInfo.setCreatorId(currentCreatorId);
} }
...@@ -483,15 +489,22 @@ public class SandAttachmentController { ...@@ -483,15 +489,22 @@ public class SandAttachmentController {
return false; return false;
} }
@Autowired // @Autowired
private CreatorAdapterService creatorAdapterService; // private CreatorAdapterService creatorAdapterService;
// private UUID getCurrentCreatorId() {
// return creatorAdapterService.getCurrentCreatorId();
// }
private UUID getCurrentCreatorId() { private UUID getCurrentSandUserId() {
return creatorAdapterService.getCurrentCreatorId(); ServletRequestAttributes attr = (ServletRequestAttributes) RequestContextHolder.currentRequestAttributes();
return (UUID)attr.getRequest().getSession().getAttribute("userId");
} }
private String getCreatorName(UUID id) { 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) { private Map<String, Object> toMap(AttachmentInfo info) {
......
...@@ -42,6 +42,8 @@ import org.springframework.web.bind.annotation.RequestMapping; ...@@ -42,6 +42,8 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController; 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 org.springframework.web.multipart.MultipartFile;
import com.beecode.bap.attachment.AttachmentConstants.FileCheck; import com.beecode.bap.attachment.AttachmentConstants.FileCheck;
...@@ -50,8 +52,9 @@ import com.beecode.bap.attachment.common.Utils; ...@@ -50,8 +52,9 @@ import com.beecode.bap.attachment.common.Utils;
import com.beecode.bap.attachment.exception.AttachmentDataDownLoadException; import com.beecode.bap.attachment.exception.AttachmentDataDownLoadException;
import com.beecode.bap.attachment.exception.AttachmentDataUploadException; import com.beecode.bap.attachment.exception.AttachmentDataUploadException;
import com.beecode.bap.attachment.exception.AttachmentException; import com.beecode.bap.attachment.exception.AttachmentException;
import com.beecode.bap.attachment.internal.CreatorAdapterService;
import com.beecode.bap.attachment.service.AttachmentService; 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; import com.jiuqi.np.tenant.spring.TenantRuntime;
@RestController @RestController
...@@ -73,6 +76,9 @@ public class WarehouseAttachmentController { ...@@ -73,6 +76,9 @@ public class WarehouseAttachmentController {
@Autowired @Autowired
private AttachmentService attachmentService; private AttachmentService attachmentService;
@Autowired
private WarehouseUserService warehouseUserService;
@RequestMapping(value = "files", method = RequestMethod.POST) @RequestMapping(value = "files", method = RequestMethod.POST)
@Transactional @Transactional
public UUID upload(@RequestParam(name = "belongId", required = false) UUID belongId, public UUID upload(@RequestParam(name = "belongId", required = false) UUID belongId,
...@@ -148,7 +154,7 @@ public class WarehouseAttachmentController { ...@@ -148,7 +154,7 @@ public class WarehouseAttachmentController {
} }
attachmentInfo.setFileType(Utils.getFileType(file.getOriginalFilename())); attachmentInfo.setFileType(Utils.getFileType(file.getOriginalFilename()));
attachmentInfo.setSize(file.getSize()); attachmentInfo.setSize(file.getSize());
UUID currentCreatorId = getCurrentCreatorId(); UUID currentCreatorId = getCurrentWarehouseUserId();
if (currentCreatorId != null) { if (currentCreatorId != null) {
attachmentInfo.setCreatorId(currentCreatorId); attachmentInfo.setCreatorId(currentCreatorId);
} }
...@@ -483,15 +489,22 @@ public class WarehouseAttachmentController { ...@@ -483,15 +489,22 @@ public class WarehouseAttachmentController {
return false; return false;
} }
@Autowired // @Autowired
private CreatorAdapterService creatorAdapterService; // private CreatorAdapterService creatorAdapterService;
// private UUID getCurrentCreatorId() {
// return creatorAdapterService.getCurrentCreatorId();
// }
private UUID getCurrentCreatorId() { private UUID getCurrentWarehouseUserId() {
return creatorAdapterService.getCurrentCreatorId(); ServletRequestAttributes attr = (ServletRequestAttributes) RequestContextHolder.currentRequestAttributes();
return (UUID)attr.getRequest().getSession().getAttribute("userId");
} }
private String getCreatorName(UUID id) { 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) { private Map<String, Object> toMap(AttachmentInfo info) {
......
...@@ -26,6 +26,9 @@ ...@@ -26,6 +26,9 @@
</m:attribute> </m:attribute>
<m:attribute> <m:attribute>
<m:annotations> <m:annotations>
<m:annotation>
<m:type>bcp.type.json.JsonIgnore</m:type>
</m:annotation>
</m:annotations> </m:annotations>
<m:id>61699557-6afc-43c2-adeb-fecfeb844536</m:id> <m:id>61699557-6afc-43c2-adeb-fecfeb844536</m:id>
<m:name>dinasType</m:name> <m:name>dinasType</m:name>
......
package com.xyst.dinas.finance.config; package com.xyst.dinas.finance.config;
import org.springframework.context.annotation.Bean;
import com.xyst.dinas.finance.web.RefundController;
public class FinanceConfiguration { 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 { ...@@ -9,4 +9,10 @@ public interface ProjectFiledConstant {
String PROJECTFILED_DINASTYPE_ENTITY = "com.xyst.dinas.project.datamodel.ProjectFiled$ProjectFiledDinasDetail"; 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 { ...@@ -7,4 +7,6 @@ public interface PurchaseSandCompanyConstant {
*/ */
String PURCHASE_SAND_COMPANY_NTITY = "com.xyst.dinas.project.datamodel.PurchaseSandCompany"; String PURCHASE_SAND_COMPANY_NTITY = "com.xyst.dinas.project.datamodel.PurchaseSandCompany";
/** 购砂单位名称*/
String NAME = "name";
} }
...@@ -9,6 +9,6 @@ public interface PurchaseSandCompanyDao { ...@@ -9,6 +9,6 @@ public interface PurchaseSandCompanyDao {
KObject load(UUID id); 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; ...@@ -11,6 +11,7 @@ import org.springframework.orm.hibernate5.HibernateCallback;
import org.springframework.orm.hibernate5.HibernateOperations; import org.springframework.orm.hibernate5.HibernateOperations;
import com.beecode.bcp.type.KObject; 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.constant.PurchaseSandCompanyConstant;
import com.xyst.dinas.project.dao.PurchaseSandCompanyDao; import com.xyst.dinas.project.dao.PurchaseSandCompanyDao;
...@@ -19,14 +20,17 @@ public class PurchaseSandCompanyDaoImpl implements PurchaseSandCompanyDao, Purch ...@@ -19,14 +20,17 @@ public class PurchaseSandCompanyDaoImpl implements PurchaseSandCompanyDao, Purch
@Autowired @Autowired
private HibernateOperations template; private HibernateOperations template;
@Override @Override
public List<KObject> queryPurchaseSandCompanyByName(String name) { public List<KObject> queryPurchaseSandCompanyByName(String name, UUID currentRegionalCompany) {
return (List<KObject>)template.execute(new HibernateCallback<List<KObject>>() { return (List<KObject>)template.execute(new HibernateCallback<List<KObject>>() {
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
@Override @Override
public List<KObject> doInHibernate(Session session) throws HibernateException { 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("name", name);
query.setParameter("regionalCompany", currentRegionalCompany);
return query.getResultList(); return query.getResultList();
} }
}); });
......
package com.xyst.dinas.project.internal.service; package com.xyst.dinas.project.internal.service;
import java.util.List; import java.util.List;
import java.util.UUID;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import com.beecode.bcp.type.KObject; 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.ProjectFiledDao;
import com.xyst.dinas.project.dao.PurchaseSandCompanyDao; import com.xyst.dinas.project.dao.PurchaseSandCompanyDao;
import com.xyst.dinas.project.service.PurchaseSandCompanyService; import com.xyst.dinas.project.service.PurchaseSandCompanyService;
...@@ -14,9 +16,13 @@ public class PurchaseSandCompanyServiceImpl implements PurchaseSandCompanyServic ...@@ -14,9 +16,13 @@ public class PurchaseSandCompanyServiceImpl implements PurchaseSandCompanyServic
@Autowired @Autowired
private PurchaseSandCompanyDao purchaseSandCompanyDao; private PurchaseSandCompanyDao purchaseSandCompanyDao;
@Autowired
private DinasOrganizationService dinasOrganizationService;
@Override @Override
public Boolean verifyName(String name) { 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; Boolean flag = false;
if (list != null && list.size() > 0 ) { if (list != null && list.size() > 0 ) {
flag = true; flag = true;
......
...@@ -10,6 +10,7 @@ import com.xyst.dinas.sales.internal.dao.NeedPlanDaoImpl; ...@@ -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.InventoryServiceImpl;
import com.xyst.dinas.sales.internal.service.NeedPlanServiceImpl; import com.xyst.dinas.sales.internal.service.NeedPlanServiceImpl;
import com.xyst.dinas.sales.internal.service.SalesPlanServiceImpl; 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.processor.SalesPlanTempProcessor;
import com.xyst.dinas.sales.service.InventoryService; import com.xyst.dinas.sales.service.InventoryService;
import com.xyst.dinas.sales.service.NeedPlanService; import com.xyst.dinas.sales.service.NeedPlanService;
...@@ -60,6 +61,11 @@ public class SalesConfiguration { ...@@ -60,6 +61,11 @@ public class SalesConfiguration {
return new SalesPlanTempProcessor(); return new SalesPlanTempProcessor();
} }
@Bean("com.xyst.dinas.sales.processor.SalesPlanProcessor")
public SalesPlanProcessor salesPlanProcessor() {
return new SalesPlanProcessor();
}
/***********需用计划******************/ /***********需用计划******************/
......
...@@ -37,6 +37,19 @@ public class SalesPlanConstant { ...@@ -37,6 +37,19 @@ public class SalesPlanConstant {
public static final String planAmount = "planAmount"; public static final String planAmount = "planAmount";
/** 库存量*/ /** 库存量*/
public static final String stockAmount = "stockAmount"; 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"; public static final String ENTITY_TEMP = "com.xyst.dinas.sales.datamodel.SalesPlanTemp";
......
...@@ -5,12 +5,14 @@ import java.util.List; ...@@ -5,12 +5,14 @@ import java.util.List;
import java.util.UUID; import java.util.UUID;
import org.hibernate.query.Query; import org.hibernate.query.Query;
import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.lang.Nullable; import org.springframework.lang.Nullable;
import org.springframework.orm.hibernate5.HibernateTemplate; import org.springframework.orm.hibernate5.HibernateTemplate;
import com.beecode.bcp.type.KObject; import com.beecode.bcp.type.KObject;
import com.xyst.dinas.sales.constant.SalesPlanConstant; import com.xyst.dinas.sales.constant.SalesPlanConstant;
import com.xyst.dinas.sales.web.request.SaleaPlanDetailQuery;
public class SalesPlanDao { public class SalesPlanDao {
...@@ -94,14 +96,17 @@ public class SalesPlanDao { ...@@ -94,14 +96,17 @@ public class SalesPlanDao {
update(kobject); 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 ->{ return template.execute(session ->{
String hql = "from " + SalesPlanConstant.ENTITY_DETAIL + " where master.id =:salesPlanId GROUP BY purchaseSandUnit.id, project.id, contract.id, id "; StringBuilder hql = new StringBuilder(" from " + SalesPlanConstant.ENTITY_DETAIL + " where master.id =:salesPlanId ");
Query<KObject> query = session.createQuery(hql, KObject.class); 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); query.setParameter("salesPlanId", salesPlanId);
List<KObject> resultList = query.getResultList(); if (purchaseSandUnitName!=null) query.setParameter("purchaseSandUnitName", purchaseSandUnitName);
return resultList; 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; package com.xyst.dinas.sales.internal.service;
import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.UUID; import java.util.UUID;
...@@ -14,12 +15,17 @@ import com.beecode.bap.workflow.core.BizProcessState; ...@@ -14,12 +15,17 @@ import com.beecode.bap.workflow.core.BizProcessState;
import com.beecode.bcp.type.KClass; import com.beecode.bcp.type.KClass;
import com.beecode.bcp.type.KObject; import com.beecode.bcp.type.KObject;
import com.beecode.inz.common.BaseConstants; import com.beecode.inz.common.BaseConstants;
import com.xyst.dinas.biz.constant.DinasTypeConstant;
import com.xyst.dinas.contract.constant.ContractConstant; 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.NeedPlanConstant;
import com.xyst.dinas.sales.constant.SalesPlanConstant; import com.xyst.dinas.sales.constant.SalesPlanConstant;
import com.xyst.dinas.sales.dao.SalesPlanDao; 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.NeedPlanService;
import com.xyst.dinas.sales.service.SalesPlanService; import com.xyst.dinas.sales.service.SalesPlanService;
import com.xyst.dinas.sales.web.request.SaleaPlanDetailQuery;
/** /**
* 销售计划 * 销售计划
* *
...@@ -42,11 +48,16 @@ public class SalesPlanServiceImpl implements SalesPlanService{ ...@@ -42,11 +48,16 @@ public class SalesPlanServiceImpl implements SalesPlanService{
String contractName = contract.getString("contractName"); String contractName = contract.getString("contractName");
KObject project = contract.get("project"); KObject project = contract.get("project");
KObject purchaseSandUnit = contract.get("purchaseSandUnit"); 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); KClass detailClass = Amino.getApplicationMetadataContext().getBean(SalesPlanConstant.ENTITY_DETAIL, KClass.class);
List<KObject> contractDetail = contract.get("contractDetails").toList(); List<KObject> contractDetail = contract.get("contractDetails").toList();
for (KObject detail : contractDetail) {//合同中的砂石明细 for (KObject detail : contractDetail) {//合同中的砂石明细
double contractAmount = detail.getDouble(ContractConstant.DINAS_AMOUNT);//合同上的砂石余量 double contractAmount = detail.getDouble(ContractConstant.DINAS_AMOUNT);//合同上的砂石余量
KObject dinasType = detail.get("dinasType"); KObject dinasType = detail.get("dinasType");
String dinasTypeName = dinasType.getString("dinasTypeName");
UUID dinasTypeId = dinasType.getUuid(BaseConstants.ID); UUID dinasTypeId = dinasType.getUuid(BaseConstants.ID);
UUID planningCycleId = salesPlan.get("planningCycle").getUuid(BaseConstants.ID); UUID planningCycleId = salesPlan.get("planningCycle").getUuid(BaseConstants.ID);
KObject needPlanDetail = needPlanService.queryNeedPlanAmountByDinasType(planningCycleId, contractId, dinasTypeId); KObject needPlanDetail = needPlanService.queryNeedPlanAmountByDinasType(planningCycleId, contractId, dinasTypeId);
...@@ -63,6 +74,12 @@ public class SalesPlanServiceImpl implements SalesPlanService{ ...@@ -63,6 +74,12 @@ public class SalesPlanServiceImpl implements SalesPlanService{
planDetailObj.set(SalesPlanConstant.requiredAmount, requiredAmount); planDetailObj.set(SalesPlanConstant.requiredAmount, requiredAmount);
planDetailObj.set(SalesPlanConstant.contractAmount, contractAmount); planDetailObj.set(SalesPlanConstant.contractAmount, contractAmount);
planDetailObj.set(SalesPlanConstant.planAmount, planAmount); 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); UUID detailId = salesPlanDao.create(planDetailObj);
if(detailId!=null) detailCount++; if(detailId!=null) detailCount++;
} }
...@@ -105,23 +122,53 @@ public class SalesPlanServiceImpl implements SalesPlanService{ ...@@ -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);
public KObject queryTempSalesPlan(UUID id) { List<KObject> details = salesPlanDao.querySalesPlanDetailsByMasterId(saleaPlanDetailQuery);
return salesPlanDao.queryTempSalesPlan(id); 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) {
KObject kObject = salesPlanDao.load(salesPlanId);
List<KObject> details = salesPlanDao.querySalesPlanDetailsByMasterId(salesPlanId);
kObject.set("SalesPlanDetails", details);
return kObject;
} }
// @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;
// }
@Override @Override
public Object querySalesPlanDetailsByMasterIdWarehouse(UUID salesPlanId, UUID stationId) { public KObject querySalesPlanDetailsByMasterIdWarehouse(UUID salesPlanId, UUID stationId) {
KObject kObject = salesPlanDao.load(salesPlanId); KObject kObject = salesPlanDao.load(salesPlanId);
List<KObject> details = salesPlanDao.querySalesPlanDetailsByMasterIdWarehouse(salesPlanId, stationId); List<KObject> details = salesPlanDao.querySalesPlanDetailsByMasterIdWarehouse(salesPlanId, stationId);
kObject.set("SalesPlanDetails", details); kObject.set("SalesPlanDetails", details);
...@@ -129,6 +176,15 @@ public class SalesPlanServiceImpl implements SalesPlanService{ ...@@ -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; ...@@ -10,6 +10,7 @@ import com.beecode.bcp.type.KObject;
import com.beecode.inz.query.entity.RowData; import com.beecode.inz.query.entity.RowData;
import com.beecode.inz.query.processor.DataProcessor; import com.beecode.inz.query.processor.DataProcessor;
import com.beecode.inz.query.processor.DataProcessorContext; import com.beecode.inz.query.processor.DataProcessorContext;
import com.xyst.dinas.biz.service.DinasOrganizationService;
import com.xyst.dinas.sales.service.SalesPlanService; import com.xyst.dinas.sales.service.SalesPlanService;
/** /**
...@@ -22,6 +23,8 @@ public class SalesPlanTempProcessor implements DataProcessor { ...@@ -22,6 +23,8 @@ public class SalesPlanTempProcessor implements DataProcessor {
@Autowired @Autowired
private SalesPlanService salesPlanService; private SalesPlanService salesPlanService;
@Autowired
private DinasOrganizationService orgService;
@Override @Override
...@@ -43,6 +46,10 @@ public class SalesPlanTempProcessor implements DataProcessor { ...@@ -43,6 +46,10 @@ public class SalesPlanTempProcessor implements DataProcessor {
} }
} }
row.put("dinasTypeNames", dinasTypeNames); 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; ...@@ -6,6 +6,8 @@ import java.util.UUID;
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;
public interface SalesPlanService { public interface SalesPlanService {
...@@ -39,8 +41,12 @@ public interface SalesPlanService { ...@@ -39,8 +41,12 @@ public interface SalesPlanService {
public void approveSalesPlanForTemp(UUID id,int approveState,String approveMemo); 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 Object querySalesPlanDetailsByMasterId(JSONObject jsonObject);
public KObject querySalesPlanDetailsByMasterIdWarehouse(UUID fromString, UUID fromString2);
public List<SalesPlanDetail> querySalesPlanDetails(SaleaPlanDetailQuery saleaPlanDetailQuery);
} }
...@@ -39,7 +39,7 @@ public class SalesPlanAutoCreateTaskRegister implements ServiceInitializer{ ...@@ -39,7 +39,7 @@ public class SalesPlanAutoCreateTaskRegister implements ServiceInitializer{
// 每天凌晨12点执行调度,如测试可修改为每十五秒:*/15 * * * * ?(表达式由至少6个由空格分隔的时间元素,从左至右可分为秒,分,时,日,月,星期) // 每天凌晨12点执行调度,如测试可修改为每十五秒:*/15 * * * * ?(表达式由至少6个由空格分隔的时间元素,从左至右可分为秒,分,时,日,月,星期)
// scheduleService.scheduleTask(TaskDetail, "0 0 0 * * ?"); // scheduleService.scheduleTask(TaskDetail, "0 0 0 * * ?");
// 测试调度时进行调用 // 测试调度时进行调用
scheduleService.scheduleTask(TaskDetail, "*/50 * * * * ?"); scheduleService.scheduleTask(TaskDetail, "0 */1 * * * ?");
logger.info("销售计划自动创建任务初始化成功!"); logger.info("销售计划自动创建任务初始化成功!");
} }
......
package com.xyst.dinas.sales.web; package com.xyst.dinas.sales.web;
import java.util.List;
import java.util.UUID; import java.util.UUID;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -11,10 +12,13 @@ import org.springframework.web.bind.annotation.RequestMethod; ...@@ -11,10 +12,13 @@ import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import com.beecode.bap.workflow.core.BizProcessState; import com.beecode.bap.workflow.core.BizProcessState;
import com.beecode.inz.basis.team.pojo.ResponseObj; 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.service.SalesPlanService;
import com.xyst.dinas.sales.web.request.SaleaPlanApprove; import com.xyst.dinas.sales.web.request.SaleaPlanApprove;
import com.xyst.dinas.sales.web.request.SaleaPlanDetailQuery;
@RestController @RestController
public class SalesPlanController { public class SalesPlanController {
...@@ -86,10 +90,24 @@ public class SalesPlanController { ...@@ -86,10 +90,24 @@ public class SalesPlanController {
* @param saleaPlanId * @param saleaPlanId
* @return * @return
*/ */
@ResponseBody // @ResponseBody
@RequestMapping(value = "/salesplan/querySalesPlanDetailsByMasterId", method = RequestMethod.GET) // @RequestMapping(value = "/salesplan/querySalesPlanDetailsByMasterId", method = RequestMethod.GET)
public Object querySalesPlanDetailsByMasterId(@RequestParam("saleaPlanId") String saleaPlanId) { // public Object querySalesPlanDetailsByMasterId(@RequestParam("saleaPlanId") UUID saleaPlanId) {
return ResponseObj.success("success", salesPlanService.querySalesPlanDetailsByMasterId(UUID.fromString(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);
} }
/** /**
...@@ -103,4 +121,8 @@ public class SalesPlanController { ...@@ -103,4 +121,8 @@ public class SalesPlanController {
return ResponseObj.success("success", salesPlanService.querySalesPlanDetailsByMasterIdWarehouse(UUID.fromString(saleaPlanId), UUID.fromString(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;
}
}
...@@ -29,6 +29,22 @@ ...@@ -29,6 +29,22 @@
<annotation id='6f08f4ca-1f77-4ed4-a627-0fb8843959fa' attributeId='dfbeaa83-63dc-4638-b55a-8dda62d74dd4' name='length' value='undefined'></annotation> <annotation id='6f08f4ca-1f77-4ed4-a627-0fb8843959fa' attributeId='dfbeaa83-63dc-4638-b55a-8dda62d74dd4' name='length' value='undefined'></annotation>
</attribute> </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' <childModel id='57fa342f-59f3-4be6-98bb-3e87853471ee' attributeId='06a76145-09c6-4e83-b91e-66aec616b9ca' refParentAttributeId='233c82e2-e7b6-49fc-96cc-bb947ba2cc99'
name='SalesPlanDetail' tableName='xyst_dinas_sale_plan_detail' domainInherit='' title='销售计划子表' > name='SalesPlanDetail' tableName='xyst_dinas_sale_plan_detail' domainInherit='' title='销售计划子表' >
...@@ -42,7 +58,6 @@ ...@@ -42,7 +58,6 @@
<attribute id='0933ceb1-f327-4372-a316-cffa1c80991a' name='contractName' columnName='contract_name' title='合同名称' type='string' default='' precision='' isArray='false'> <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> <annotation id='6f08f4ca-1f77-4ed4-a627-0fb8843959fa' attributeId='dfbeaa83-63dc-4638-b55a-8dda62d74dd4' name='length' value='100'></annotation>
</attribute> </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'> <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='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> <annotation id='95a6dd6d-c676-4265-9c8b-d115c13b472f' attributeId='43768653-e259-4b0f-8c9d-8739f030675b' name='mappingType' value='many-to-one'></annotation>
...@@ -89,6 +104,20 @@ ...@@ -89,6 +104,20 @@
<annotation id='1a25ed97-846e-4847-aa21-1a0b025c01ed' attributeId='52a3d8ee-92ab-45dc-b668-46408143254d' name='scale' value='4'></annotation> <annotation id='1a25ed97-846e-4847-aa21-1a0b025c01ed' attributeId='52a3d8ee-92ab-45dc-b668-46408143254d' name='scale' value='4'></annotation>
</attribute> </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> </childModel>
<hibernate>/xyst.dinas.contract/src/main/resources/config/SalesPlan.hbm.xml</hibernate> <hibernate>/xyst.dinas.contract/src/main/resources/config/SalesPlan.hbm.xml</hibernate>
......
...@@ -52,7 +52,7 @@ ...@@ -52,7 +52,7 @@
</attribute> </attribute>
<childModel id='d667dff0-2b8b-497c-b126-99b9d0e4de2f' attributeId='b706360e-39b1-44c5-9ed6-0b82c4a72807' refParentAttributeId='ccddb9cc-707e-4c56-890b-5272f1268d3c' <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> <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'> <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 @@ ...@@ -10,6 +10,7 @@
<content> <content>
<customQuery id='451f4875-82d2-486b-b684-325692e93b28'> <customQuery id='451f4875-82d2-486b-b684-325692e93b28'>
<kclass>com.xyst.dinas.sales.datamodel.SalesPlan</kclass> <kclass>com.xyst.dinas.sales.datamodel.SalesPlan</kclass>
<dataProcessor>com.xyst.dinas.sales.processor.SalesPlanProcessor</dataProcessor>
<authorityItem></authorityItem> <authorityItem></authorityItem>
<innerScene title='全部'> <innerScene title='全部'>
<id>c775c023-9960-4039-9e9c-d3ff544308b5</id> <id>c775c023-9960-4039-9e9c-d3ff544308b5</id>
...@@ -65,6 +66,24 @@ ...@@ -65,6 +66,24 @@
</ref> </ref>
<description></description> <description></description>
</field> </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='审批时间'> <field title='审批时间'>
<name>approveTime</name> <name>approveTime</name>
<type>datetime</type> <type>datetime</type>
......
...@@ -381,6 +381,62 @@ ...@@ -381,6 +381,62 @@
<m:attribute> <m:attribute>
<m:annotations> <m:annotations>
<m:annotation> <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:type>bcp.type.json.JsonIgnore</m:type>
</m:annotation> </m:annotation>
</m:annotations> </m:annotations>
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata" xmlns:m="http://www.beecode.cn/schema/bcp-type"> <metadata xmlns="http://www.beecode.cn/schema/amino-metadata" xmlns:m="http://www.beecode.cn/schema/bcp-type">
<specification>1.0</specification> <specification>1.0</specification>
<id>d667dff0-2b8b-497c-b126-99b9d0e4de2f</id> <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> <title>临时销售计划子表</title>
<define>bcp.type.Class</define> <define>bcp.type.Class</define>
<define-version>1.0</define-version> <define-version>1.0</define-version>
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
<content> <content>
<m:query> <m:query>
<m:type>com.xyst.dinas.sales.datamodel.SalesPlan</m:type> <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:authorityItem></m:authorityItem>
<m:innerScenes> <m:innerScenes>
<m:innerScene> <m:innerScene>
...@@ -77,6 +77,26 @@ ...@@ -77,6 +77,26 @@
<m:desc></m:desc> <m:desc></m:desc>
</m:field> </m:field>
<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:name>approveTime</m:name>
<m:title>审批时间</m:title> <m:title>审批时间</m:title>
<m:type>datetime</m:type> <m:type>datetime</m:type>
......
...@@ -52,6 +52,15 @@ ...@@ -52,6 +52,15 @@
<property name="approveMemo" type="nstring" not-null="false"> <property name="approveMemo" type="nstring" not-null="false">
<column name="approve_memo" length="400"></column> <column name="approve_memo" length="400"></column>
</property> </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"> <bag name="SalesPlanDetails" lazy="true" fetch="select" inverse="true">
<key column="master_id" not-null="true" /> <key column="master_id" not-null="true" />
...@@ -103,5 +112,18 @@ ...@@ -103,5 +112,18 @@
<property name="actualSaleAmount" type="big_decimal" not-null="false"> <property name="actualSaleAmount" type="big_decimal" not-null="false">
<column name="actual_sale_amount" precision="12" scale="4"></column> <column name="actual_sale_amount" precision="12" scale="4"></column>
</property> </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> </class>
</hibernate-mapping> </hibernate-mapping>
\ No newline at end of file
...@@ -74,10 +74,10 @@ ...@@ -74,10 +74,10 @@
<bag name="SalesPlanTempDetails" lazy="true" fetch="select" inverse="true"> <bag name="SalesPlanTempDetails" lazy="true" fetch="select" inverse="true">
<key column="master_id" not-null="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> </bag>
</class> </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"/> <tuplizer entity-mode="dynamic-map" class="com.beecode.bcp.store.hibernate.KObjectEntityTuplizer"/>
<id name="id" type="uuid-binary" column="id" length="16"> <id name="id" type="uuid-binary" column="id" length="16">
<generator class="uuid2" /> <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