Merge remote-tracking branch 'origin/dev' into dev
This commit is contained in:
@ -300,7 +300,7 @@ dxf2GeoJson:
|
|||||||
file-name: main.exe
|
file-name: main.exe
|
||||||
ys7:
|
ys7:
|
||||||
app-key: 3acf9f1a43dc4209841e0893003db0a2
|
app-key: 3acf9f1a43dc4209841e0893003db0a2
|
||||||
app-secret: 4bbf3e9394f55d3af6e3af27b2d3db36
|
app-secret: 09e29c70ae1161fbc3ce2030fc09ba2e
|
||||||
# 斯巴达算法
|
# 斯巴达算法
|
||||||
sparta:
|
sparta:
|
||||||
url: http://119.3.204.120:8040
|
url: http://119.3.204.120:8040
|
||||||
|
|||||||
@ -18,6 +18,7 @@ import org.dromara.contractor.service.ISubConstructionUserService;
|
|||||||
import org.dromara.contractor.service.ISubUserSalaryDetailService;
|
import org.dromara.contractor.service.ISubUserSalaryDetailService;
|
||||||
import org.dromara.design.service.IDesTechnicalStandardService;
|
import org.dromara.design.service.IDesTechnicalStandardService;
|
||||||
import org.dromara.facility.domain.FacMatrix;
|
import org.dromara.facility.domain.FacMatrix;
|
||||||
|
import org.dromara.facility.domain.FacPhotovoltaicPanel;
|
||||||
import org.dromara.facility.service.IFacMatrixService;
|
import org.dromara.facility.service.IFacMatrixService;
|
||||||
import org.dromara.facility.service.IFacPhotovoltaicPanelPartsService;
|
import org.dromara.facility.service.IFacPhotovoltaicPanelPartsService;
|
||||||
import org.dromara.facility.service.IFacPhotovoltaicPanelService;
|
import org.dromara.facility.service.IFacPhotovoltaicPanelService;
|
||||||
@ -101,6 +102,52 @@ public class DemoTest {
|
|||||||
@Resource
|
@Resource
|
||||||
private IOutConstructionValueService constructionValueService;
|
private IOutConstructionValueService constructionValueService;
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void syncTest() {
|
||||||
|
List<BusProject> projects = projectService.lambdaQuery()
|
||||||
|
.eq(BusProject::getPId, 1968506669544656898L)
|
||||||
|
.list();
|
||||||
|
Set<Long> projectIds = projects.stream().map(BusProject::getId).collect(Collectors.toSet());
|
||||||
|
List<FacPhotovoltaicPanel> zujian = photovoltaicPanelService.lambdaQuery()
|
||||||
|
.eq(FacPhotovoltaicPanel::getProgressCategoryName, "组件安装")
|
||||||
|
.in(FacPhotovoltaicPanel::getProjectId, projectIds)
|
||||||
|
.list();
|
||||||
|
Map<Long, List<FacPhotovoltaicPanel>> zujianMap = zujian.stream()
|
||||||
|
.collect(Collectors.groupingBy(FacPhotovoltaicPanel::getMatrixId));
|
||||||
|
List<PgsProgressCategory> zhijia = progressCategoryService.lambdaQuery()
|
||||||
|
.eq(PgsProgressCategory::getName, "支架安装")
|
||||||
|
.in(PgsProgressCategory::getProjectId, projectIds)
|
||||||
|
.list();
|
||||||
|
Map<Long, List<PgsProgressCategory>> zhijiaMap = zhijia.stream()
|
||||||
|
.collect(Collectors.groupingBy(PgsProgressCategory::getMatrixId));
|
||||||
|
List<FacPhotovoltaicPanel> newP = new ArrayList<>();
|
||||||
|
for (Map.Entry<Long, List<FacPhotovoltaicPanel>> entry : zujianMap.entrySet()) {
|
||||||
|
Long key = entry.getKey();
|
||||||
|
List<FacPhotovoltaicPanel> panels = entry.getValue();
|
||||||
|
List<PgsProgressCategory> list = zhijiaMap.getOrDefault(key, new ArrayList<>());
|
||||||
|
if (CollUtil.isEmpty(list)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
PgsProgressCategory zhi = list.getFirst();
|
||||||
|
List<FacPhotovoltaicPanel> panelList = panels.stream().map(panel -> {
|
||||||
|
FacPhotovoltaicPanel p = new FacPhotovoltaicPanel();
|
||||||
|
p.setProjectId(panel.getProjectId());
|
||||||
|
p.setMatrixId(panel.getMatrixId());
|
||||||
|
p.setName(panel.getName());
|
||||||
|
p.setPositions(panel.getPositions());
|
||||||
|
p.setProgressCategoryId(zhi.getId());
|
||||||
|
p.setProgressCategoryName(zhi.getName());
|
||||||
|
p.setRemark(panel.getRemark());
|
||||||
|
p.setCreateDept(panel.getCreateDept());
|
||||||
|
p.setCreateBy(panel.getCreateBy());
|
||||||
|
p.setUpdateBy(panel.getUpdateBy());
|
||||||
|
return p;
|
||||||
|
}).toList();
|
||||||
|
newP.addAll(panelList);
|
||||||
|
}
|
||||||
|
photovoltaicPanelService.saveBatch(newP);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void testConstructionValue() {
|
void testConstructionValue() {
|
||||||
|
|||||||
@ -0,0 +1,160 @@
|
|||||||
|
package org.dromara.cailiaoshebei.controller.app;
|
||||||
|
|
||||||
|
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
|
import jakarta.servlet.http.HttpServletResponse;
|
||||||
|
import jakarta.validation.constraints.NotEmpty;
|
||||||
|
import jakarta.validation.constraints.NotNull;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.dromara.cailiaoshebei.domain.bo.BusMrpBaseBo;
|
||||||
|
import org.dromara.cailiaoshebei.domain.dto.BusMrpDto;
|
||||||
|
import org.dromara.cailiaoshebei.domain.dto.BusMrpExportDto;
|
||||||
|
import org.dromara.cailiaoshebei.domain.vo.BusMrpBaseVo;
|
||||||
|
import org.dromara.cailiaoshebei.domain.vo.BusMrpVo;
|
||||||
|
import org.dromara.cailiaoshebei.service.IBusMrpBaseService;
|
||||||
|
import org.dromara.common.core.domain.R;
|
||||||
|
import org.dromara.common.core.enums.BusinessStatusEnum;
|
||||||
|
import org.dromara.common.core.exception.ServiceException;
|
||||||
|
import org.dromara.common.core.validate.AddGroup;
|
||||||
|
import org.dromara.common.core.validate.EditGroup;
|
||||||
|
import org.dromara.common.excel.utils.ExcelUtil;
|
||||||
|
import org.dromara.common.idempotent.annotation.RepeatSubmit;
|
||||||
|
import org.dromara.common.log.annotation.Log;
|
||||||
|
import org.dromara.common.log.enums.BusinessType;
|
||||||
|
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||||
|
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||||
|
import org.dromara.common.web.core.BaseController;
|
||||||
|
import org.dromara.design.domain.BusBillofquantities;
|
||||||
|
import org.dromara.design.domain.BusBillofquantitiesVersions;
|
||||||
|
import org.dromara.design.domain.bo.CoryObtainTheListReq;
|
||||||
|
import org.dromara.design.domain.bo.ObtainAllVersionNumbersReq;
|
||||||
|
import org.dromara.design.domain.vo.BusBillofquantitiesVo;
|
||||||
|
import org.dromara.design.domain.vo.ObtainTheListRes;
|
||||||
|
import org.dromara.design.service.IBusBillofquantitiesService;
|
||||||
|
import org.dromara.design.service.IBusBillofquantitiesVersionsService;
|
||||||
|
import org.springframework.util.CollectionUtils;
|
||||||
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* app物资-批次需求计划基础信息
|
||||||
|
*
|
||||||
|
* @author Lion Li
|
||||||
|
* @date 2025-08-13
|
||||||
|
*/
|
||||||
|
@Validated
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/app/cailiaoshebei/mrpBase")
|
||||||
|
public class BusMrpBaseAppController extends BaseController {
|
||||||
|
|
||||||
|
private final IBusMrpBaseService busMrpBaseService;
|
||||||
|
|
||||||
|
private final IBusBillofquantitiesVersionsService busBillofquantitiesVersionsService;
|
||||||
|
|
||||||
|
private final IBusBillofquantitiesService busBillofquantitiesService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询物资-批次需求计划基础信息列表
|
||||||
|
*/
|
||||||
|
@GetMapping("/list")
|
||||||
|
public TableDataInfo<BusMrpBaseVo> list(BusMrpBaseBo bo, PageQuery pageQuery) {
|
||||||
|
return busMrpBaseService.queryPageList(bo, pageQuery);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取物资-批次需求计划基础信息详细信息
|
||||||
|
*
|
||||||
|
* @param id 主键
|
||||||
|
*/
|
||||||
|
@GetMapping("/{id}")
|
||||||
|
public R<BusMrpVo> getInfo(@NotNull(message = "主键不能为空")
|
||||||
|
@PathVariable Long id) {
|
||||||
|
return R.ok(busMrpBaseService.queryById(id));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除物资-批次需求计划基础信息
|
||||||
|
*
|
||||||
|
* @param ids 主键串
|
||||||
|
*/
|
||||||
|
@Log(title = "物资-批次需求计划基础信息", businessType = BusinessType.DELETE)
|
||||||
|
@DeleteMapping("/{ids}")
|
||||||
|
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||||
|
@PathVariable Long[] ids) {
|
||||||
|
return toAjax(busMrpBaseService.deleteWithValidByIds(List.of(ids), true));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量新增或修改
|
||||||
|
*/
|
||||||
|
@RepeatSubmit()
|
||||||
|
@PostMapping("/batch")
|
||||||
|
public R<Void> batchAddOrUpdate(@RequestBody BusMrpDto dto) {
|
||||||
|
return toAjax(busMrpBaseService.batchAddOrUpdate(dto));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取剩余量
|
||||||
|
*/
|
||||||
|
@GetMapping("/remaining")
|
||||||
|
public R<Map<String,Object>> remaining(Long projectId, String suppliespriceName,String specification,Long mrpBaseId) {
|
||||||
|
return R.ok(busMrpBaseService.remaining(projectId,suppliespriceName,specification,mrpBaseId));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取所有大类
|
||||||
|
*/
|
||||||
|
@GetMapping("/obtainAllClassification")
|
||||||
|
public R<List<BusBillofquantitiesVo>> obtainAllClassification(ObtainAllVersionNumbersReq bo) {
|
||||||
|
return R.ok(busBillofquantitiesVersionsService.obtainAllClassification(bo));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取工程量清单列表
|
||||||
|
*/
|
||||||
|
@GetMapping("/coryEngineeringList")
|
||||||
|
public R<List<BusBillofquantities>> obtainTheList(CoryObtainTheListReq req) {
|
||||||
|
List<BusBillofquantities> busBillofquantities = busBillofquantitiesService.getBaseMapper()
|
||||||
|
.selectList(new LambdaQueryWrapper<BusBillofquantities>()
|
||||||
|
.eq(BusBillofquantities::getProjectId, req.getProjectId())
|
||||||
|
.eq(BusBillofquantities::getName, req.getSid()));
|
||||||
|
List<String> sids = new ArrayList<>();
|
||||||
|
busBillofquantities.forEach(busBillofquantities1 -> {
|
||||||
|
sids.add(busBillofquantities1.getSid());
|
||||||
|
});
|
||||||
|
return R.ok(busBillofquantitiesService
|
||||||
|
.getBaseMapper()
|
||||||
|
.selectList(new LambdaQueryWrapper<BusBillofquantities>()
|
||||||
|
.eq(BusBillofquantities::getProjectId, req.getProjectId())
|
||||||
|
.in(BusBillofquantities::getPid, sids)));
|
||||||
|
}
|
||||||
|
|
||||||
|
private List<ObtainTheListRes> buildTree(String parentId, Map<String, List<ObtainTheListRes>> parentMap) {
|
||||||
|
// 获取当前父节点的所有直接子节点
|
||||||
|
List<ObtainTheListRes> children = parentMap.getOrDefault(parentId, Collections.emptyList());
|
||||||
|
if (children.isEmpty()) {
|
||||||
|
return Collections.emptyList();
|
||||||
|
}
|
||||||
|
|
||||||
|
// 为每个子节点递归设置其下一级子节点
|
||||||
|
for (ObtainTheListRes child : children) {
|
||||||
|
// 递归查询当前子节点的子节点,设置为它的子树
|
||||||
|
List<ObtainTheListRes> subChildren = buildTree(child.getSid(), parentMap);
|
||||||
|
// 注意:需要在Vo中添加子节点列表字段,用于存储子树
|
||||||
|
child.setChildren(subChildren);
|
||||||
|
}
|
||||||
|
|
||||||
|
return children;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,214 @@
|
|||||||
|
package org.dromara.cailiaoshebei.controller.app;
|
||||||
|
|
||||||
|
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||||
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
|
import jakarta.servlet.http.HttpServletResponse;
|
||||||
|
import jakarta.validation.constraints.NotEmpty;
|
||||||
|
import jakarta.validation.constraints.NotNull;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.dromara.cailiaoshebei.domain.BusPlanDocAssociation;
|
||||||
|
import org.dromara.cailiaoshebei.domain.bo.BusMaterialbatchdemandplanBo;
|
||||||
|
import org.dromara.cailiaoshebei.domain.bo.BusPurchaseDocBo;
|
||||||
|
import org.dromara.cailiaoshebei.domain.bo.FeedbackDto;
|
||||||
|
import org.dromara.cailiaoshebei.domain.vo.BusMaterialbatchdemandplanVo;
|
||||||
|
import org.dromara.cailiaoshebei.domain.vo.BusPurchaseDocVo;
|
||||||
|
import org.dromara.cailiaoshebei.service.IBusMaterialbatchdemandplanService;
|
||||||
|
import org.dromara.cailiaoshebei.service.IBusPlanDocAssociationService;
|
||||||
|
import org.dromara.cailiaoshebei.service.IBusPurchaseDocService;
|
||||||
|
import org.dromara.common.core.domain.R;
|
||||||
|
import org.dromara.common.core.validate.AddGroup;
|
||||||
|
import org.dromara.common.core.validate.EditGroup;
|
||||||
|
import org.dromara.common.excel.utils.ExcelUtil;
|
||||||
|
import org.dromara.common.idempotent.annotation.RepeatSubmit;
|
||||||
|
import org.dromara.common.log.annotation.Log;
|
||||||
|
import org.dromara.common.log.enums.BusinessType;
|
||||||
|
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||||
|
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||||
|
import org.dromara.common.web.core.BaseController;
|
||||||
|
import org.dromara.design.service.IBusBillofquantitiesService;
|
||||||
|
import org.dromara.design.service.IBusBillofquantitiesVersionsService;
|
||||||
|
import org.dromara.tender.domain.bo.TenderSupplierInputBo;
|
||||||
|
import org.dromara.tender.domain.vo.TenderSupplierInputVo;
|
||||||
|
import org.dromara.tender.service.ITenderSupplierInputService;
|
||||||
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Objects;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* app物资-采购联系单
|
||||||
|
*
|
||||||
|
* @author Lion Li
|
||||||
|
* @date 2025-08-13
|
||||||
|
*/
|
||||||
|
@Validated
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/app/cailiaoshebei/purchaseDoc")
|
||||||
|
public class BusPurchaseDocAppController extends BaseController {
|
||||||
|
|
||||||
|
private final IBusPurchaseDocService busPurchaseDocService;
|
||||||
|
|
||||||
|
private final IBusMaterialbatchdemandplanService materialbatchdemandplanService;
|
||||||
|
|
||||||
|
private final IBusPlanDocAssociationService planDocAssociationService;
|
||||||
|
|
||||||
|
private final IBusBillofquantitiesVersionsService busBillofquantitiesVersionsService;
|
||||||
|
|
||||||
|
private final IBusBillofquantitiesService busBillofquantitiesService;
|
||||||
|
|
||||||
|
private final ITenderSupplierInputService tenderSupplierInputService;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询物资-采购联系单列表
|
||||||
|
*/
|
||||||
|
@GetMapping("/list")
|
||||||
|
public TableDataInfo<BusPurchaseDocVo> list(BusPurchaseDocBo bo, PageQuery pageQuery) {
|
||||||
|
return busPurchaseDocService.queryPageList(bo, pageQuery);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询供应商入库列表
|
||||||
|
*/
|
||||||
|
@GetMapping("/supList")
|
||||||
|
public TableDataInfo<TenderSupplierInputVo> list(TenderSupplierInputBo bo, PageQuery pageQuery) {
|
||||||
|
return tenderSupplierInputService.queryPageList(bo, pageQuery);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询物资-批次需求计划列表
|
||||||
|
*/
|
||||||
|
@GetMapping("/planList")
|
||||||
|
public TableDataInfo<BusMaterialbatchdemandplanVo> list(BusMaterialbatchdemandplanBo bo, PageQuery pageQuery) {
|
||||||
|
return materialbatchdemandplanService.queryPageList(bo, pageQuery);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取物资-采购联系单详细信息
|
||||||
|
*
|
||||||
|
* @param id 主键
|
||||||
|
*/
|
||||||
|
@GetMapping("/{id}")
|
||||||
|
public R<BusPurchaseDocVo> getInfo(@NotNull(message = "主键不能为空")
|
||||||
|
@PathVariable Long id) {
|
||||||
|
return R.ok(busPurchaseDocService.queryById(id));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取物资-采购联系单详细PDF
|
||||||
|
*
|
||||||
|
* @param id 主键
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("cailiaoshebei:purchaseDoc:pdf")
|
||||||
|
@GetMapping("/pdf/{id}")
|
||||||
|
public R<String> getPic(@NotNull(message = "主键不能为空")
|
||||||
|
@PathVariable Long id) {
|
||||||
|
return R.ok("操作成功", busPurchaseDocService.queryPicBase64ById(id));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增物资-采购联系单
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("cailiaoshebei:purchaseDoc:add")
|
||||||
|
@Log(title = "物资-采购联系单", businessType = BusinessType.INSERT)
|
||||||
|
@RepeatSubmit()
|
||||||
|
@PostMapping()
|
||||||
|
public R<Void> add(@Validated(AddGroup.class) @RequestBody BusPurchaseDocBo bo) {
|
||||||
|
return toAjax(busPurchaseDocService.insertByBo(bo));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改物资-采购联系单
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("cailiaoshebei:purchaseDoc:edit")
|
||||||
|
@Log(title = "物资-采购联系单", businessType = BusinessType.UPDATE)
|
||||||
|
@RepeatSubmit()
|
||||||
|
@PutMapping()
|
||||||
|
public R<Void> edit(@Validated(EditGroup.class) @RequestBody BusPurchaseDocBo bo) {
|
||||||
|
return toAjax(busPurchaseDocService.updateByBo(bo));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除物资-采购联系单
|
||||||
|
*
|
||||||
|
* @param ids 主键串
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("cailiaoshebei:purchaseDoc:remove")
|
||||||
|
@Log(title = "物资-采购联系单", businessType = BusinessType.DELETE)
|
||||||
|
@DeleteMapping("/{ids}")
|
||||||
|
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||||
|
@PathVariable Long[] ids) {
|
||||||
|
return toAjax(busPurchaseDocService.deleteWithValidByIds(List.of(ids), true));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询采购单关联的计划
|
||||||
|
*/
|
||||||
|
@GetMapping("/planList/{id}")
|
||||||
|
public R<List<BusMaterialbatchdemandplanVo>> list(@NotNull(message = "主键不能为空")
|
||||||
|
@PathVariable("id") Long id) {
|
||||||
|
List<BusPlanDocAssociation> list = planDocAssociationService.list(Wrappers.lambdaQuery(BusPlanDocAssociation.class)
|
||||||
|
.eq(BusPlanDocAssociation::getDocId, id));
|
||||||
|
if (CollectionUtil.isEmpty(list)) {
|
||||||
|
return R.ok(new ArrayList<>());
|
||||||
|
}
|
||||||
|
Map<Long, BigDecimal> collect = list.stream()
|
||||||
|
.filter(Objects::nonNull) // 过滤空对象
|
||||||
|
.collect(Collectors.toMap(
|
||||||
|
BusPlanDocAssociation::getPlanId,
|
||||||
|
BusPlanDocAssociation::getDemandQuantity,
|
||||||
|
(existing, replacement) -> existing // 保留第一个遇到的重复键
|
||||||
|
));
|
||||||
|
BusMaterialbatchdemandplanBo bo = new BusMaterialbatchdemandplanBo();
|
||||||
|
bo.setIds(new ArrayList<>(collect.keySet()));
|
||||||
|
List<BusMaterialbatchdemandplanVo> busMaterialbatchdemandplanVos = materialbatchdemandplanService.queryList(bo);
|
||||||
|
for (BusMaterialbatchdemandplanVo busMaterialbatchdemandplanVo : busMaterialbatchdemandplanVos) {
|
||||||
|
busMaterialbatchdemandplanVo.setDemandQuantity(collect.get(busMaterialbatchdemandplanVo.getId()));
|
||||||
|
}
|
||||||
|
return R.ok(busMaterialbatchdemandplanVos);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改回单
|
||||||
|
*/
|
||||||
|
@Log(title = "物资-采购联系单", businessType = BusinessType.UPDATE)
|
||||||
|
@RepeatSubmit()
|
||||||
|
@PutMapping("/updateFeedback")
|
||||||
|
public R<Void> edit(@Validated(EditGroup.class) @RequestBody FeedbackDto bo) {
|
||||||
|
return toAjax(busPurchaseDocService.updateFeedback(bo));
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
// /**
|
||||||
|
// * 获取工程量清单列表
|
||||||
|
// */
|
||||||
|
// @SaCheckPermission("cailiaoshebei:purchaseDoc:add")
|
||||||
|
// @GetMapping("/engineeringList")
|
||||||
|
// public R<List<BusBillofquantities>> obtainTheList(Long projectId) {
|
||||||
|
// BusBillofquantitiesVersions one = busBillofquantitiesVersionsService.getOne(Wrappers.<BusBillofquantitiesVersions>lambdaQuery()
|
||||||
|
// .eq(BusBillofquantitiesVersions::getWorkOrderType, "3") //物资工程量清单
|
||||||
|
// .eq(BusBillofquantitiesVersions::getProjectId, projectId)
|
||||||
|
// .eq(BusBillofquantitiesVersions::getStatus, BusinessStatusEnum.FINISH.getStatus())
|
||||||
|
// .last("limit 1")
|
||||||
|
// );
|
||||||
|
// if (one == null) {
|
||||||
|
// throw new ServiceException("请先完成物资工程量清单");
|
||||||
|
// }
|
||||||
|
// List<BusBillofquantities> list = busBillofquantitiesService.list(Wrappers.<BusBillofquantities>lambdaQuery()
|
||||||
|
// .eq(BusBillofquantities::getVersions, one.getVersions())
|
||||||
|
// );
|
||||||
|
//
|
||||||
|
// return R.ok(list);
|
||||||
|
// }
|
||||||
|
}
|
||||||
@ -76,6 +76,8 @@ import java.time.temporal.ChronoUnit;
|
|||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
import static org.dromara.project.domain.enums.BusAttendanceClockStatusEnum.ATTENDANCE_LIST;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 施工人员Service业务层处理
|
* 施工人员Service业务层处理
|
||||||
*
|
*
|
||||||
@ -1194,8 +1196,11 @@ public class SubConstructionUserServiceImpl extends ServiceImpl<SubConstructionU
|
|||||||
unClockDays++;
|
unClockDays++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if(ATTENDANCE_LIST.contains(clockInStatus) || ATTENDANCE_LIST.contains(clockOutStatus)){
|
||||||
|
attendanceDays++;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
attendanceDays = dailyMap.size() - leaveDays;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
constructionUserAttendanceTotalResp.setAttendanceDays(attendanceDays);
|
constructionUserAttendanceTotalResp.setAttendanceDays(attendanceDays);
|
||||||
|
|||||||
@ -14,7 +14,6 @@ import org.dromara.common.core.utils.ObjectUtils;
|
|||||||
import org.dromara.common.core.utils.StringUtils;
|
import org.dromara.common.core.utils.StringUtils;
|
||||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||||
import org.dromara.common.satoken.utils.LoginHelper;
|
|
||||||
import org.dromara.contractor.domain.SubConstructionUser;
|
import org.dromara.contractor.domain.SubConstructionUser;
|
||||||
import org.dromara.contractor.domain.SubContractor;
|
import org.dromara.contractor.domain.SubContractor;
|
||||||
import org.dromara.contractor.domain.dto.contractor.SubContractorCreateReq;
|
import org.dromara.contractor.domain.dto.contractor.SubContractorCreateReq;
|
||||||
@ -119,7 +118,10 @@ public class SubContractorServiceImpl extends ServiceImpl<SubContractorMapper, S
|
|||||||
// 数据校验
|
// 数据校验
|
||||||
validEntityBeforeSave(contractor);
|
validEntityBeforeSave(contractor);
|
||||||
String name = req.getName();
|
String name = req.getName();
|
||||||
Long count = this.lambdaQuery().eq(SubContractor::getName, name).count();
|
Long count = this.lambdaQuery()
|
||||||
|
.eq(SubContractor::getName, name)
|
||||||
|
.eq(SubContractor::getProjectId, req.getProjectId())
|
||||||
|
.count();
|
||||||
if (count > 0) {
|
if (count > 0) {
|
||||||
throw new ServiceException("分包单位名称重复", HttpStatus.BAD_REQUEST);
|
throw new ServiceException("分包单位名称重复", HttpStatus.BAD_REQUEST);
|
||||||
}
|
}
|
||||||
@ -160,7 +162,11 @@ public class SubContractorServiceImpl extends ServiceImpl<SubContractorMapper, S
|
|||||||
}
|
}
|
||||||
// 判断名称是否重复
|
// 判断名称是否重复
|
||||||
if (!oldContractor.getName().equals(req.getName())) {
|
if (!oldContractor.getName().equals(req.getName())) {
|
||||||
Long count = this.lambdaQuery().eq(SubContractor::getName, req.getName()).count();
|
Long count = this.lambdaQuery()
|
||||||
|
.eq(SubContractor::getName, req.getName())
|
||||||
|
.eq(SubContractor::getProjectId, req.getProjectId())
|
||||||
|
.ne(SubContractor::getId, contractor.getId())
|
||||||
|
.count();
|
||||||
if (count > 0) {
|
if (count > 0) {
|
||||||
throw new ServiceException("分包单位名称重复", HttpStatus.BAD_REQUEST);
|
throw new ServiceException("分包单位名称重复", HttpStatus.BAD_REQUEST);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -353,6 +353,9 @@ public class BusBillofquantitiesVersionsServiceImpl extends ServiceImpl<BusBillo
|
|||||||
lqw.eq(BusBillofquantitiesVersions::getWorkOrderType, "3");
|
lqw.eq(BusBillofquantitiesVersions::getWorkOrderType, "3");
|
||||||
lqw.eq(BusBillofquantitiesVersions::getStatus, BusinessStatusEnum.FINISH.getStatus());
|
lqw.eq(BusBillofquantitiesVersions::getStatus, BusinessStatusEnum.FINISH.getStatus());
|
||||||
List<BusBillofquantitiesVersionsVo> result = baseMapper.selectVoList(lqw);
|
List<BusBillofquantitiesVersionsVo> result = baseMapper.selectVoList(lqw);
|
||||||
|
if (CollUtil.isEmpty(result)) {
|
||||||
|
return Collections.emptyList();
|
||||||
|
}
|
||||||
List<String> versionss = new ArrayList<>();
|
List<String> versionss = new ArrayList<>();
|
||||||
result.forEach(v -> versionss.add(v.getVersions()));
|
result.forEach(v -> versionss.add(v.getVersions()));
|
||||||
List<BusBillofquantities> busBillofquantities = busBillofquantitiesService.getBaseMapper().selectList(new LambdaQueryWrapper<BusBillofquantities>()
|
List<BusBillofquantities> busBillofquantities = busBillofquantitiesService.getBaseMapper().selectList(new LambdaQueryWrapper<BusBillofquantities>()
|
||||||
|
|||||||
@ -114,11 +114,20 @@ public class BusAttendanceController extends BaseController {
|
|||||||
return toAjax(busAttendanceService.deleteWithValidByIds(List.of(ids), true));
|
return toAjax(busAttendanceService.deleteWithValidByIds(List.of(ids), true));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询项目施工人员前14天考勤状况
|
||||||
|
*/
|
||||||
@GetMapping("/list/clockDate/twoWeek")
|
@GetMapping("/list/clockDate/twoWeek")
|
||||||
public R<List<BusAttendanceClockDateForTwoWeekVo>> getClockDateForTwoWeekList(Long projectId) {
|
public R<List<BusAttendanceClockDateForTwoWeekVo>> getClockDateForTwoWeekList(Long projectId) {
|
||||||
return R.ok(busAttendanceService.getClockDateForTwoWeekList(projectId));
|
return R.ok(busAttendanceService.getClockDateForTwoWeekList(projectId));
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* 查询项目施工人员当天考勤状况
|
||||||
|
*/
|
||||||
|
@GetMapping("/list/clockDate/today")
|
||||||
|
public R<BusAttendanceClockDateForTwoWeekVo> getTodayAttendanceData(Long projectId) {
|
||||||
|
return R.ok(busAttendanceService.getTodayAttendanceData(projectId));
|
||||||
|
}
|
||||||
|
|
||||||
@PostMapping("/exportList")
|
@PostMapping("/exportList")
|
||||||
public void exportList(AttendanceExportDto dto, HttpServletResponse response) {
|
public void exportList(AttendanceExportDto dto, HttpServletResponse response) {
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
package org.dromara.project.controller.app;
|
package org.dromara.project.controller.app;
|
||||||
|
|
||||||
import cn.hutool.core.collection.CollectionUtil;
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
import jakarta.annotation.Resource;
|
import jakarta.annotation.Resource;
|
||||||
import jakarta.validation.constraints.NotNull;
|
import jakarta.validation.constraints.NotNull;
|
||||||
@ -128,8 +129,8 @@ public class BusAttendanceAppController extends BaseController {
|
|||||||
* 获取用户打卡异常记录
|
* 获取用户打卡异常记录
|
||||||
*/
|
*/
|
||||||
@GetMapping("/getAbnormalAttendance/{projectId}")
|
@GetMapping("/getAbnormalAttendance/{projectId}")
|
||||||
public R<List<BusAttendanceVo>> getAbnormalAttendance(@NotNull @PathVariable("projectId") Long projectId){
|
public TableDataInfo<BusAttendanceVo> getAbnormalAttendance(@NotNull @PathVariable("projectId") Long projectId, PageQuery pageQuery){
|
||||||
return R.ok(attendanceService.getAbnormalAttendance(projectId));
|
return attendanceService.getAbnormalAttendance(projectId,pageQuery);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -2,6 +2,8 @@ package org.dromara.project.domain.enums;
|
|||||||
|
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author lilemy
|
* @author lilemy
|
||||||
* @date 2025/4/7 11:31
|
* @date 2025/4/7 11:31
|
||||||
@ -9,6 +11,8 @@ import lombok.Getter;
|
|||||||
@Getter
|
@Getter
|
||||||
public enum BusAttendanceClockStatusEnum {
|
public enum BusAttendanceClockStatusEnum {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
NORMAL("正常", "1"),
|
NORMAL("正常", "1"),
|
||||||
LATE("迟到", "2"),
|
LATE("迟到", "2"),
|
||||||
LEAVEEARLY("早退", "3"),
|
LEAVEEARLY("早退", "3"),
|
||||||
@ -24,5 +28,7 @@ public enum BusAttendanceClockStatusEnum {
|
|||||||
this.text = text;
|
this.text = text;
|
||||||
this.value = value;
|
this.value = value;
|
||||||
}
|
}
|
||||||
|
//算出勤状态
|
||||||
|
public static final List<String> ATTENDANCE_LIST = List.of(NORMAL.value, LATE.value, LEAVEEARLY.value, REISSUE.value);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
package org.dromara.project.service;
|
package org.dromara.project.service;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import jakarta.servlet.http.HttpServletResponse;
|
import jakarta.servlet.http.HttpServletResponse;
|
||||||
import jakarta.validation.constraints.NotNull;
|
import jakarta.validation.constraints.NotNull;
|
||||||
import org.dromara.common.core.domain.R;
|
|
||||||
import org.dromara.project.domain.dto.attendance.*;
|
import org.dromara.project.domain.dto.attendance.*;
|
||||||
import org.dromara.project.domain.vo.BusAttendanceVo;
|
import org.dromara.project.domain.vo.BusAttendanceVo;
|
||||||
import org.dromara.project.domain.bo.BusAttendanceBo;
|
import org.dromara.project.domain.bo.BusAttendanceBo;
|
||||||
@ -13,12 +13,9 @@ import org.dromara.common.mybatis.core.page.PageQuery;
|
|||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import org.dromara.project.domain.vo.BusMonthAttendanceVo;
|
import org.dromara.project.domain.vo.BusMonthAttendanceVo;
|
||||||
import org.dromara.project.domain.vo.attendance.*;
|
import org.dromara.project.domain.vo.attendance.*;
|
||||||
import org.springframework.format.annotation.DateTimeFormat;
|
|
||||||
import org.springframework.web.bind.annotation.PathVariable;
|
import org.springframework.web.bind.annotation.PathVariable;
|
||||||
import org.springframework.web.bind.annotation.RequestParam;
|
|
||||||
import org.springframework.web.multipart.MultipartFile;
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
import java.time.LocalDate;
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@ -132,9 +129,9 @@ public interface IBusAttendanceService extends IService<BusAttendance>{
|
|||||||
List<BusMonthAttendanceVo> getMonthAttendance(Long projectId, String month);
|
List<BusMonthAttendanceVo> getMonthAttendance(Long projectId, String month);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取用户指定月份的打卡记录
|
* 获取用户打卡异常记录
|
||||||
*/
|
*/
|
||||||
List<BusAttendanceVo> getAbnormalAttendance(@NotNull @PathVariable("projectId") Long projectId);
|
TableDataInfo<BusAttendanceVo> getAbnormalAttendance(@NotNull @PathVariable("projectId") Long projectId, PageQuery pageQuery);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 统计指定日期的打卡人员
|
* 统计指定日期的打卡人员
|
||||||
@ -167,6 +164,11 @@ public interface IBusAttendanceService extends IService<BusAttendance>{
|
|||||||
*/
|
*/
|
||||||
List<BusAttendanceClockDateForTwoWeekVo> getClockDateForTwoWeekList(Long projectId);
|
List<BusAttendanceClockDateForTwoWeekVo> getClockDateForTwoWeekList(Long projectId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取项目当天的考勤数据
|
||||||
|
*/
|
||||||
|
BusAttendanceClockDateForTwoWeekVo getTodayAttendanceData(Long projectId);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取导出的考勤数据
|
* 获取导出的考勤数据
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -6,6 +6,7 @@ import cn.hutool.core.util.StrUtil;
|
|||||||
import cn.hutool.json.JSONArray;
|
import cn.hutool.json.JSONArray;
|
||||||
import cn.hutool.json.JSONUtil;
|
import cn.hutool.json.JSONUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
@ -14,7 +15,6 @@ import jakarta.annotation.Resource;
|
|||||||
import jakarta.servlet.http.HttpServletResponse;
|
import jakarta.servlet.http.HttpServletResponse;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
|
|
||||||
import org.apache.poi.ss.usermodel.*;
|
import org.apache.poi.ss.usermodel.*;
|
||||||
import org.apache.poi.ss.util.CellRangeAddress;
|
import org.apache.poi.ss.util.CellRangeAddress;
|
||||||
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
||||||
@ -64,6 +64,8 @@ import java.util.*;
|
|||||||
import java.util.concurrent.CompletableFuture;
|
import java.util.concurrent.CompletableFuture;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
import static org.dromara.project.domain.enums.BusAttendanceClockStatusEnum.ATTENDANCE_LIST;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 考勤Service业务层处理
|
* 考勤Service业务层处理
|
||||||
*
|
*
|
||||||
@ -707,7 +709,7 @@ public class BusAttendanceServiceImpl extends ServiceImpl<BusAttendanceMapper, B
|
|||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<BusAttendanceVo> getAbnormalAttendance(Long projectId) {
|
public TableDataInfo<BusAttendanceVo> getAbnormalAttendance(Long projectId, PageQuery pageQuery) {
|
||||||
|
|
||||||
List<String> abnormalList = Arrays.asList(BusAttendanceClockStatusEnum.LATE.getValue(),
|
List<String> abnormalList = Arrays.asList(BusAttendanceClockStatusEnum.LATE.getValue(),
|
||||||
BusAttendanceClockStatusEnum.LEAVEEARLY.getValue(),
|
BusAttendanceClockStatusEnum.LEAVEEARLY.getValue(),
|
||||||
@ -722,16 +724,16 @@ public class BusAttendanceServiceImpl extends ServiceImpl<BusAttendanceMapper, B
|
|||||||
|
|
||||||
boolean b = relevancyList.stream().allMatch(relevancy -> "1".equals(relevancy.getUserType()));
|
boolean b = relevancyList.stream().allMatch(relevancy -> "1".equals(relevancy.getUserType()));
|
||||||
|
|
||||||
List<BusAttendanceVo> busAttendanceVos = baseMapper.selectVoList(Wrappers.lambdaQuery(BusAttendance.class)
|
IPage<BusAttendanceVo> busAttendanceVoIPage = baseMapper.selectVoPage(pageQuery.build(), Wrappers.lambdaQuery(BusAttendance.class)
|
||||||
.eq(BusAttendance::getUserId, userId)
|
.eq(BusAttendance::getUserId, userId)
|
||||||
.eq(b, BusAttendance::getProjectId, projectId)
|
.eq(b, BusAttendance::getProjectId, projectId)
|
||||||
.in(BusAttendance::getClockStatus, abnormalList)
|
.in(BusAttendance::getClockStatus, abnormalList)
|
||||||
);
|
);
|
||||||
//转换星期几
|
//转换星期几
|
||||||
for (BusAttendanceVo busAttendanceVo : busAttendanceVos) {
|
for (BusAttendanceVo busAttendanceVo : busAttendanceVoIPage.getRecords()) {
|
||||||
busAttendanceVo.setWeek(busAttendanceVo.getClockDate().getDayOfWeek().getValue());
|
busAttendanceVo.setWeek(busAttendanceVo.getClockDate().getDayOfWeek().getValue());
|
||||||
}
|
}
|
||||||
return busAttendanceVos;
|
return TableDataInfo.build(busAttendanceVoIPage);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -1183,7 +1185,6 @@ public class BusAttendanceServiceImpl extends ServiceImpl<BusAttendanceMapper, B
|
|||||||
|
|
||||||
// 统计全勤、半勤、缺卡人数
|
// 统计全勤、半勤、缺卡人数
|
||||||
List<BusAttendanceClockDateForTwoWeekVo> result = new ArrayList<>();
|
List<BusAttendanceClockDateForTwoWeekVo> result = new ArrayList<>();
|
||||||
List<String> validStatusList = Arrays.asList("1", "2", "3", "5");
|
|
||||||
|
|
||||||
LocalDate currentDate = startDate;
|
LocalDate currentDate = startDate;
|
||||||
while (!currentDate.isAfter(now)) {
|
while (!currentDate.isAfter(now)) {
|
||||||
@ -1196,7 +1197,7 @@ public class BusAttendanceServiceImpl extends ServiceImpl<BusAttendanceMapper, B
|
|||||||
|
|
||||||
long validCount = records.stream()
|
long validCount = records.stream()
|
||||||
.map(BusAttendance::getClockStatus)
|
.map(BusAttendance::getClockStatus)
|
||||||
.filter(validStatusList::contains)
|
.filter(ATTENDANCE_LIST::contains)
|
||||||
.count();
|
.count();
|
||||||
|
|
||||||
if (validCount >= 2) {
|
if (validCount >= 2) {
|
||||||
@ -1228,6 +1229,65 @@ public class BusAttendanceServiceImpl extends ServiceImpl<BusAttendanceMapper, B
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public BusAttendanceClockDateForTwoWeekVo getTodayAttendanceData(Long projectId) {
|
||||||
|
|
||||||
|
LocalDate now = LocalDate.now();
|
||||||
|
|
||||||
|
//查询所有管理员和分包人员 排除
|
||||||
|
List<Long> excludeUserIds = constructionUserService.list(Wrappers.<SubConstructionUser>lambdaQuery()
|
||||||
|
.ne(SubConstructionUser::getUserRole, "0")
|
||||||
|
).stream().map(SubConstructionUser::getSysUserId).toList();
|
||||||
|
|
||||||
|
List<Long> allUserIds = constructionUserService.list(Wrappers.<SubConstructionUser>lambdaQuery()
|
||||||
|
.eq(SubConstructionUser::getUserRole, "0")
|
||||||
|
.eq(SubConstructionUser::getProjectId,projectId)
|
||||||
|
).stream().map(SubConstructionUser::getSysUserId).toList();
|
||||||
|
|
||||||
|
|
||||||
|
List<BusAttendance> list = list(Wrappers.<BusAttendance>lambdaQuery()
|
||||||
|
.eq(BusAttendance::getProjectId, projectId)
|
||||||
|
.notIn(CollectionUtil.isNotEmpty(excludeUserIds),BusAttendance::getUserId, excludeUserIds)
|
||||||
|
.eq(BusAttendance::getClockDate, now)
|
||||||
|
.orderByAsc(BusAttendance::getClockDate)
|
||||||
|
);
|
||||||
|
|
||||||
|
Map<Long, List<BusAttendance>> collect = list.stream().collect(Collectors.groupingBy(BusAttendance::getUserId));
|
||||||
|
|
||||||
|
int full = 0, half = 0, absent = 0;
|
||||||
|
|
||||||
|
for (Map.Entry<Long, List<BusAttendance>> userEntry : collect.entrySet()) {
|
||||||
|
List<BusAttendance> records = userEntry.getValue();
|
||||||
|
|
||||||
|
long validCount = records.stream()
|
||||||
|
.map(BusAttendance::getClockStatus)
|
||||||
|
.filter(ATTENDANCE_LIST::contains)
|
||||||
|
.count();
|
||||||
|
|
||||||
|
if (validCount >= 2) {
|
||||||
|
full++;
|
||||||
|
} else if (validCount == 1) {
|
||||||
|
half++;
|
||||||
|
} else {
|
||||||
|
absent++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
BusAttendanceClockDateForTwoWeekVo vo = new BusAttendanceClockDateForTwoWeekVo();
|
||||||
|
vo.setClockDate(now);
|
||||||
|
vo.setAttendance(full);
|
||||||
|
vo.setHalfAttendance(half);
|
||||||
|
vo.setAbsenteeism(absent);
|
||||||
|
//计算考勤率
|
||||||
|
vo.setAllUserNum(allUserIds.size());
|
||||||
|
vo.setClockNum(full+half);
|
||||||
|
vo.setAttendanceRate(BigDecimalUtil.toPercentage(new BigDecimal(full+half),
|
||||||
|
new BigDecimal(allUserIds.size())));
|
||||||
|
|
||||||
|
return vo;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void getExportList(AttendanceExportDto dto, HttpServletResponse response) {
|
public void getExportList(AttendanceExportDto dto, HttpServletResponse response) {
|
||||||
try (OutputStream outputStream = response.getOutputStream()) {
|
try (OutputStream outputStream = response.getOutputStream()) {
|
||||||
|
|||||||
@ -25,6 +25,8 @@ import org.springframework.web.bind.annotation.*;
|
|||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
import static org.dromara.workflow.listener.WorkflowGlobalListener.getType;
|
||||||
|
|
||||||
@ConditionalOnEnable
|
@ConditionalOnEnable
|
||||||
@Validated
|
@Validated
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
@ -48,7 +50,8 @@ public class FlowAppController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
List<FlowHisTaskVo> list= (List<FlowHisTaskVo>) stringObjectMap.get("list");
|
List<FlowHisTaskVo> list= (List<FlowHisTaskVo>) stringObjectMap.get("list");
|
||||||
Map<String, FlowHisTaskVo> map = list.stream().collect(Collectors.toMap(FlowHisTaskVo::getNodeCode, vo -> vo));
|
Map<String, FlowHisTaskVo> map = list.stream().filter(vo -> !"copy".equals(vo.getFlowStatus()))
|
||||||
|
.collect(Collectors.toMap(FlowHisTaskVo::getNodeCode, vo -> vo));
|
||||||
|
|
||||||
|
|
||||||
Long instanceId = (Long) stringObjectMap.get("instanceId");
|
Long instanceId = (Long) stringObjectMap.get("instanceId");
|
||||||
@ -86,9 +89,24 @@ public class FlowAppController {
|
|||||||
appVo.setFlowStatus(BusinessStatusEnum.WAITING.getStatus());
|
appVo.setFlowStatus(BusinessStatusEnum.WAITING.getStatus());
|
||||||
if(nodeJson.getNodeType()==1){
|
if(nodeJson.getNodeType()==1){
|
||||||
String permissionFlag = nodeJson.getPermissionFlag();
|
String permissionFlag = nodeJson.getPermissionFlag();
|
||||||
|
if(StrUtil.isNotBlank(permissionFlag)){
|
||||||
|
permissionFlag = permissionFlag.replace("@@", ",");
|
||||||
|
}
|
||||||
List<UserDTO> userDTOS = flwTaskAssigneeService.fetchUsersByStorageIds(permissionFlag, projectId);
|
List<UserDTO> userDTOS = flwTaskAssigneeService.fetchUsersByStorageIds(permissionFlag, projectId);
|
||||||
String auditName = userDTOS.stream().map(UserDTO::getNickName).collect(Collectors.joining(","));
|
String auditName = userDTOS.stream().map(UserDTO::getNickName).collect(Collectors.joining(","));
|
||||||
appVo.setAuditName(auditName);
|
String type = getType(permissionFlag);
|
||||||
|
if(type != null){
|
||||||
|
try {
|
||||||
|
String flowCode = defJson.getFlowCode();
|
||||||
|
List<String> longs = userService.selectUserByProfession(flowCode.split("_")[1], businessId, type,projectId);
|
||||||
|
String s = userService.selectNicknameByIds(longs.stream().map(String::valueOf).collect(Collectors.joining(",")));
|
||||||
|
appVo.setAuditName(s);
|
||||||
|
}catch (Exception e) {
|
||||||
|
appVo.setAuditName(auditName);
|
||||||
|
}
|
||||||
|
}else {
|
||||||
|
appVo.setAuditName(auditName);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -187,7 +187,7 @@ public class WorkflowGlobalListener implements GlobalListener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public String getType(String permissionFlag){
|
public static String getType(String permissionFlag){
|
||||||
// 1961314792461586433 校审员(系统)
|
// 1961314792461586433 校审员(系统)
|
||||||
// 1961315028017893378 审核员(系统)
|
// 1961315028017893378 审核员(系统)
|
||||||
// 1961315147199041537 审定员(系统)
|
// 1961315147199041537 审定员(系统)
|
||||||
|
|||||||
411
xinnengyuan/script/sql/tbgl.sql
Normal file
411
xinnengyuan/script/sql/tbgl.sql
Normal file
@ -0,0 +1,411 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
drop table if exists xzd_project_risk_assessment;
|
||||||
|
CREATE TABLE `xzd_project_risk_assessment`
|
||||||
|
(
|
||||||
|
`id` BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键ID',
|
||||||
|
`document_number` VARCHAR(64) NOT NULL COMMENT '单据编号',
|
||||||
|
`project_name` VARCHAR(255) NOT NULL COMMENT '项目名称',
|
||||||
|
`project_business_owner` VARCHAR(255) NOT NULL COMMENT '项目业主',
|
||||||
|
`joint_body_members` VARCHAR(500) NULL COMMENT '联合体成员方',
|
||||||
|
`estimated_contract_amount` DECIMAL(20, 4) default 0.0000 NOT NULL COMMENT '预计合同额(万元)',
|
||||||
|
`unit_price_index` VARCHAR(255) NULL COMMENT '单价指标',
|
||||||
|
`engineering_risk` VARCHAR(16) NULL COMMENT '工期风险',
|
||||||
|
`technical_risk` VARCHAR(16) NULL COMMENT '技术风险',
|
||||||
|
`economic_risk` VARCHAR(16) NULL COMMENT '经济风险',
|
||||||
|
`contract_risk` VARCHAR(16) NULL COMMENT '合同风险',
|
||||||
|
`personnel_risk` VARCHAR(16) NULL COMMENT '人员风险',
|
||||||
|
`construction_risk` VARCHAR(16) NULL COMMENT '施工风险',
|
||||||
|
`management_risk` VARCHAR(16) NULL COMMENT '管理风险',
|
||||||
|
`subcontract_risk` VARCHAR(16) NULL COMMENT '分包风险',
|
||||||
|
`other_risks` TEXT null COMMENT '其他风险',
|
||||||
|
`file_id` varchar(1024) NULL COMMENT '文件ID',
|
||||||
|
`remark` TEXT null COMMENT '备注',
|
||||||
|
`audit_status` VARCHAR(32) default 'draft' NULL COMMENT '审核状态',
|
||||||
|
`create_by` bigint NULL COMMENT '创建者',
|
||||||
|
`update_by` bigint NULL COMMENT '更新者',
|
||||||
|
`create_dept` bigint null comment '创建部门',
|
||||||
|
`create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||||
|
`update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间'
|
||||||
|
) COMMENT ='项目风险评估签审意见';
|
||||||
|
|
||||||
|
drop table if exists xzd_bid_pre_project;
|
||||||
|
|
||||||
|
CREATE TABLE xzd_bid_pre_project
|
||||||
|
(
|
||||||
|
`id` BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键ID',
|
||||||
|
`project_number` VARCHAR(64) NOT NULL COMMENT '项目编码',
|
||||||
|
`project_name` VARCHAR(255) NOT NULL COMMENT '项目名称',
|
||||||
|
`country` VARCHAR(100) NOT NULL COMMENT '国家',
|
||||||
|
`province` VARCHAR(100) NOT NULL COMMENT '省',
|
||||||
|
`city` VARCHAR(100) NOT NULL COMMENT '城市',
|
||||||
|
`district` VARCHAR(100) NOT NULL COMMENT '区县',
|
||||||
|
`project_location` VARCHAR(255) null COMMENT '工程地点',
|
||||||
|
`capital_source` VARCHAR(255) null COMMENT '资金来源',
|
||||||
|
`contracting_method` VARCHAR(16) null COMMENT '承包方式',
|
||||||
|
`operation_mode` VARCHAR(16) null COMMENT '经营模式',
|
||||||
|
`project_type_id` BIGINT NOT NULL COMMENT '项目类型',
|
||||||
|
`bidding_method` VARCHAR(100) null COMMENT '招标方式',
|
||||||
|
`liaison_method` VARCHAR(100) null COMMENT '联系方法',
|
||||||
|
`investment_unit` VARCHAR(255) null COMMENT '投资单位',
|
||||||
|
`project_cost` DECIMAL(20, 2) DEFAULT 0.0000 not null COMMENT '工程造价(万元)',
|
||||||
|
`information_cost` DECIMAL(20, 2) DEFAULT 0.0000 not null COMMENT '资料费',
|
||||||
|
-- 公共字段
|
||||||
|
`file_id` varchar(1024) NULL COMMENT '文件ID',
|
||||||
|
`remark` TEXT null COMMENT '备注',
|
||||||
|
`audit_status` VARCHAR(32) default 'draft' NULL COMMENT '审核状态',
|
||||||
|
`create_by` bigint NULL COMMENT '创建者',
|
||||||
|
`update_by` bigint NULL COMMENT '更新者',
|
||||||
|
`create_dept` bigint null comment '创建部门',
|
||||||
|
`create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||||
|
`update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间'
|
||||||
|
) COMMENT ='标前立项';
|
||||||
|
|
||||||
|
drop table if exists xzd_bqlx_project_info;
|
||||||
|
|
||||||
|
CREATE TABLE xzd_bqlx_project_info
|
||||||
|
(
|
||||||
|
`id` BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键ID',
|
||||||
|
`bid_pre_project_id` BIGINT NOT NULL COMMENT '关联标前立项ID',
|
||||||
|
`expected_start_date` DATE COMMENT '预计开工日期',
|
||||||
|
`qualification_requirement` VARCHAR(512) COMMENT '资质要求',
|
||||||
|
`bid_start_date` DATE COMMENT '报名开始时间',
|
||||||
|
`bid_end_date` DATE NOT NULL COMMENT '报名截止时间',
|
||||||
|
`submission_deadline` DATE COMMENT '投标截止时间',
|
||||||
|
`design_description` VARCHAR(512) COMMENT '设计情况',
|
||||||
|
`project_status` TEXT COMMENT '工程概况',
|
||||||
|
`bidding_announcement_address` VARCHAR(512) COMMENT '招标公告地址',
|
||||||
|
`quality_requirement` VARCHAR(255) COMMENT '质量要求',
|
||||||
|
`duration_days` DECIMAL(10, 1) default 0.0 COMMENT '工期要求(天)',
|
||||||
|
`lowest_qualification_requirement` VARCHAR(512) COMMENT '最低资质要求',
|
||||||
|
`project_manager_requirement` VARCHAR(512) COMMENT '项目经理要求',
|
||||||
|
`performance_requirement` VARCHAR(512) COMMENT '业绩要求',
|
||||||
|
`start_date` DATE COMMENT '开标时间',
|
||||||
|
`evaluation_method` VARCHAR(128) COMMENT '评标方式',
|
||||||
|
`bidding_deposit_form` VARCHAR(255) COMMENT '投标保证金形式',
|
||||||
|
`bidding_deposit` DECIMAL(20, 4) default 0.0000 COMMENT '投标保证金',
|
||||||
|
`construction_unit` VARCHAR(255) COMMENT '建设单位',
|
||||||
|
`construction_person` VARCHAR(100) COMMENT '建设单位联系人',
|
||||||
|
`construction_method` VARCHAR(100) COMMENT '建设单位联系方式',
|
||||||
|
`bidding_unit` VARCHAR(255) COMMENT '招标单位',
|
||||||
|
`bidding_person` VARCHAR(100) COMMENT '招标单位联系人',
|
||||||
|
`bidding_method` VARCHAR(100) COMMENT '招标单位联系方式',
|
||||||
|
`cost_price` DECIMAL(20, 4) default 0.0000 COMMENT '成本价',
|
||||||
|
`bidding_price_control` DECIMAL(20, 4) default 0.0000 COMMENT '招标控制价',
|
||||||
|
`project_number` VARCHAR(64) NOT NULL COMMENT '项目编码',
|
||||||
|
`default_finance` varchar(255) NULL COMMENT '默认财务组织',
|
||||||
|
`involve_finance` varchar(255) NULL COMMENT '涉及财务组织',
|
||||||
|
-- 公共字段
|
||||||
|
`file_id` varchar(1024) NULL COMMENT '文件ID',
|
||||||
|
`remark` TEXT null COMMENT '备注',
|
||||||
|
`audit_status` VARCHAR(32) default 'draft' NULL COMMENT '审核状态',
|
||||||
|
`create_by` bigint NULL COMMENT '创建者',
|
||||||
|
`update_by` bigint NULL COMMENT '更新者',
|
||||||
|
`create_dept` bigint null comment '创建部门',
|
||||||
|
`create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||||
|
`update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间'
|
||||||
|
) COMMENT ='标前立项-项目信息';
|
||||||
|
|
||||||
|
drop table if exists xzd_project_type;
|
||||||
|
|
||||||
|
CREATE TABLE xzd_project_type
|
||||||
|
(
|
||||||
|
`id` BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键ID',
|
||||||
|
`parent_id` BIGINT DEFAULT 0 NOT NULL COMMENT '父节点ID',
|
||||||
|
`type_name` VARCHAR(100) NOT NULL COMMENT '项目类型名称',
|
||||||
|
`sort_order` INT DEFAULT 0 COMMENT '排序',
|
||||||
|
`remark` VARCHAR(255) COMMENT '备注',
|
||||||
|
-- 公共字段
|
||||||
|
`create_by` bigint NULL COMMENT '创建者',
|
||||||
|
`update_by` bigint NULL COMMENT '更新者',
|
||||||
|
`create_dept` bigint null comment '创建部门',
|
||||||
|
`create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||||
|
`update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间'
|
||||||
|
) COMMENT ='项目类型';
|
||||||
|
|
||||||
|
drop table if exists xzd_bidding_file_estimate;
|
||||||
|
|
||||||
|
CREATE TABLE xzd_bidding_file_estimate
|
||||||
|
(
|
||||||
|
`id` BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键ID',
|
||||||
|
`document_code` VARCHAR(50) NOT NULL COMMENT '单据编码',
|
||||||
|
`document_date` DATE NOT NULL COMMENT '单据日期',
|
||||||
|
`project_name` VARCHAR(255) NOT NULL COMMENT '项目名称',
|
||||||
|
`title` VARCHAR(255) COMMENT '标题',
|
||||||
|
`project_location` VARCHAR(255) COMMENT '工程地点',
|
||||||
|
`bidding_unit` VARCHAR(255) COMMENT '招标单位',
|
||||||
|
`bidding_method` VARCHAR(16) COMMENT '招标方式',
|
||||||
|
`contracting_method` VARCHAR(16) COMMENT '承包方式',
|
||||||
|
`start_date` DATE COMMENT '开标时间',
|
||||||
|
`project_overview` TEXT COMMENT '工程概况',
|
||||||
|
`bidding_date` DATE COMMENT '投标时间',
|
||||||
|
`bidding_address` VARCHAR(255) COMMENT '投标地址',
|
||||||
|
`bidding_control_price` DECIMAL(20, 4) DEFAULT 0.0000 COMMENT '招标控制价',
|
||||||
|
`evaluation_method` VARCHAR(100) COMMENT '评标方法',
|
||||||
|
`bidding_scope` VARCHAR(255) COMMENT '招标范围',
|
||||||
|
|
||||||
|
`project_manager_requirement` varchar(1024) COMMENT '项目经理要求',
|
||||||
|
|
||||||
|
-- 公共字段
|
||||||
|
`file_id` varchar(1024) NULL COMMENT '文件ID',
|
||||||
|
`remark` TEXT null COMMENT '备注',
|
||||||
|
`audit_status` VARCHAR(32) default 'draft' NULL COMMENT '审核状态',
|
||||||
|
`create_by` bigint NULL COMMENT '创建者',
|
||||||
|
`update_by` bigint NULL COMMENT '更新者',
|
||||||
|
`create_dept` bigint null comment '创建部门',
|
||||||
|
`create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||||
|
`update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间'
|
||||||
|
|
||||||
|
) COMMENT ='招标文件审估';
|
||||||
|
|
||||||
|
|
||||||
|
drop table if exists xzd_bidding_agency_fee_payment;
|
||||||
|
|
||||||
|
CREATE TABLE xzd_bidding_agency_fee_payment
|
||||||
|
(
|
||||||
|
`id` BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键ID',
|
||||||
|
`document_code` VARCHAR(50) NOT NULL COMMENT '单据编码',
|
||||||
|
`document_date` DATE NOT NULL COMMENT '单据日期',
|
||||||
|
`title` VARCHAR(255) COMMENT '标题',
|
||||||
|
|
||||||
|
`project_name` VARCHAR(255) NOT NULL COMMENT '项目',
|
||||||
|
`project_location` VARCHAR(512) COMMENT '工程地点',
|
||||||
|
`contact_person` VARCHAR(100) COMMENT '联系人',
|
||||||
|
`contact_method` VARCHAR(100) COMMENT '联系方式',
|
||||||
|
`bidding_date` DATE COMMENT '投标时间',
|
||||||
|
|
||||||
|
`agency_name` VARCHAR(255) NOT NULL COMMENT '代理机构名称',
|
||||||
|
|
||||||
|
|
||||||
|
`application_amount` DECIMAL(20, 4) DEFAULT 0.0000 NOT NULL COMMENT '申请金额',
|
||||||
|
`payment_method` VARCHAR(16) NOT NULL COMMENT '支付方式',
|
||||||
|
`receiving_bank` VARCHAR(255) COMMENT '收款银行',
|
||||||
|
`receiving_account` VARCHAR(100) COMMENT '收款',
|
||||||
|
`reason` varchar(1024) COMMENT '事由',
|
||||||
|
|
||||||
|
`file_id` varchar(1024) NULL COMMENT '文件ID',
|
||||||
|
`remark` TEXT null COMMENT '备注',
|
||||||
|
`audit_status` VARCHAR(32) default 'draft' NULL COMMENT '审核状态',
|
||||||
|
`create_by` bigint NULL COMMENT '创建者',
|
||||||
|
`update_by` bigint NULL COMMENT '更新者',
|
||||||
|
`create_dept` bigint null comment '创建部门',
|
||||||
|
`create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||||
|
`update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间'
|
||||||
|
|
||||||
|
) COMMENT ='招标代理服务费支付申请';
|
||||||
|
|
||||||
|
drop table if exists xzd_bid_deposit_payment;
|
||||||
|
|
||||||
|
CREATE TABLE `xzd_bid_deposit_payment`
|
||||||
|
(
|
||||||
|
`id` BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键ID',
|
||||||
|
`document_code` VARCHAR(50) NOT NULL COMMENT '单据编码',
|
||||||
|
`document_date` DATE NOT NULL COMMENT '单据日期',
|
||||||
|
`project_name` VARCHAR(255) NOT NULL COMMENT '项目名称',
|
||||||
|
`project_cost` DECIMAL(20, 4) DEFAULT 0.0000 COMMENT '工程造价(万元)',
|
||||||
|
`business_mode` VARCHAR(100) DEFAULT NULL COMMENT '经营模式',
|
||||||
|
`deposit_amount` DECIMAL(20, 4) DEFAULT 0.0000 NOT NULL COMMENT '保证金金额',
|
||||||
|
`deposit_amount_capital` VARCHAR(512) NOT NULL COMMENT '保证金金额大写',
|
||||||
|
`remittance_method` VARCHAR(128) DEFAULT NULL COMMENT '汇款方式',
|
||||||
|
`payment_deadline` DATETIME DEFAULT NULL COMMENT '支付截止时间',
|
||||||
|
`receiving_unit` VARCHAR(255) DEFAULT NULL COMMENT '收款单位',
|
||||||
|
`receiving_account_name` VARCHAR(255) DEFAULT NULL COMMENT '收款账户名称',
|
||||||
|
`receiving_bank` VARCHAR(255) DEFAULT NULL COMMENT '收款账户银行',
|
||||||
|
`receiving_bank_account` VARCHAR(100) DEFAULT NULL COMMENT '收款银行账号',
|
||||||
|
`request_recovery_days` INT DEFAULT '0' COMMENT '招标结束后要求工作日收回',
|
||||||
|
`deposit_type` VARCHAR(16) NOT NULL COMMENT '保证金类型',
|
||||||
|
`receipt_requirement` VARCHAR(16) DEFAULT NULL COMMENT '回单要求',
|
||||||
|
`is_mail` TINYINT(1) DEFAULT '0' COMMENT '是否邮寄(0否 1是)',
|
||||||
|
`deposit_ratio` DECIMAL(5, 2) default 0.00 COMMENT '保证金比例',
|
||||||
|
`file_id` varchar(1024) NULL COMMENT '文件ID',
|
||||||
|
`remark` TEXT null COMMENT '备注',
|
||||||
|
`audit_status` VARCHAR(32) default 'draft' NULL COMMENT '审核状态',
|
||||||
|
`create_by` bigint NULL COMMENT '创建者',
|
||||||
|
`update_by` bigint NULL COMMENT '更新者',
|
||||||
|
`create_dept` bigint null comment '创建部门',
|
||||||
|
`create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||||
|
`update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间'
|
||||||
|
) COMMENT = '投标保证金缴纳';
|
||||||
|
|
||||||
|
drop table if exists xzd_bid_deposit_recovery;
|
||||||
|
|
||||||
|
CREATE TABLE `xzd_bid_deposit_recovery`
|
||||||
|
(
|
||||||
|
`id` BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键ID',
|
||||||
|
`document_code` VARCHAR(50) NOT NULL COMMENT '单据编码',
|
||||||
|
`document_date` DATE NOT NULL COMMENT '单据日期',
|
||||||
|
`project_name` VARCHAR(255) NOT NULL COMMENT '项目名称',
|
||||||
|
`project_type` BIGINT DEFAULT NULL COMMENT '项目类型',
|
||||||
|
`business_mode` VARCHAR(255) DEFAULT NULL COMMENT '经营模式',
|
||||||
|
`project_cost` DECIMAL(20, 4) DEFAULT 0.0000 COMMENT '工程造价',
|
||||||
|
`recovery_amount` DECIMAL(20, 4) DEFAULT 0.0000 NOT NULL COMMENT '收回金额',
|
||||||
|
`recovery_amount_capital` VARCHAR(255) NOT NULL COMMENT '收回金额大写',
|
||||||
|
`data_fee` DECIMAL(20, 4) DEFAULT 0.0000 COMMENT '资料费',
|
||||||
|
`data_fee_capital` VARCHAR(255) DEFAULT NULL COMMENT '资料费大写',
|
||||||
|
`refund_amount` DECIMAL(20, 4) DEFAULT 0.0000 COMMENT '退款金额',
|
||||||
|
`recovery_date` DATE DEFAULT NULL COMMENT '收回日期',
|
||||||
|
`deposit_status` VARCHAR(50) DEFAULT NULL COMMENT '保证金状态',
|
||||||
|
`deposit_amount` DECIMAL(20, 4) DEFAULT 0.0000 COMMENT '保证金金额',
|
||||||
|
`deposit_amount_capital` VARCHAR(100) DEFAULT NULL COMMENT '保证金金额大写',
|
||||||
|
`deposit_remittance_method` VARCHAR(255) DEFAULT NULL COMMENT '保证金汇款方式',
|
||||||
|
`payment_deadline` DATETIME DEFAULT NULL COMMENT '支付截止时间',
|
||||||
|
`receiving_unit` VARCHAR(255) DEFAULT NULL COMMENT '收款单位',
|
||||||
|
`deposit_receiving_account_name` VARCHAR(255) DEFAULT NULL COMMENT '保证金收款账户名称',
|
||||||
|
`receiving_bank` VARCHAR(255) DEFAULT NULL COMMENT '收款账户银行',
|
||||||
|
`receiving_bank_account` VARCHAR(255) DEFAULT NULL COMMENT '收款账户账号',
|
||||||
|
`applicant` VARCHAR(100) DEFAULT NULL COMMENT '申请人',
|
||||||
|
`application_unit` VARCHAR(255) DEFAULT NULL COMMENT '申请单位',
|
||||||
|
`application_date` DATE DEFAULT NULL COMMENT '申请日期',
|
||||||
|
`file_id` varchar(1024) NULL COMMENT '文件ID',
|
||||||
|
`remark` TEXT null COMMENT '备注',
|
||||||
|
`audit_status` VARCHAR(32) default 'draft' NULL COMMENT '审核状态',
|
||||||
|
`create_by` bigint NULL COMMENT '创建者',
|
||||||
|
`update_by` bigint NULL COMMENT '更新者',
|
||||||
|
`create_dept` bigint null comment '创建部门',
|
||||||
|
`create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||||
|
`update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间'
|
||||||
|
) COMMENT = '投标保证金收回';
|
||||||
|
|
||||||
|
drop table if exists xzd_bidding_document;
|
||||||
|
|
||||||
|
CREATE TABLE `xzd_bidding_document`
|
||||||
|
(
|
||||||
|
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
||||||
|
`document_number` VARCHAR(50) NOT NULL COMMENT '单据编号',
|
||||||
|
`title` VARCHAR(255) DEFAULT NULL COMMENT '标题',
|
||||||
|
`bidding_time` DATETIME NOT NULL COMMENT '投标时间',
|
||||||
|
`project_name` VARCHAR(255) NOT NULL COMMENT '项目名称',
|
||||||
|
`project_type` BIGINT DEFAULT NULL COMMENT '项目类型ID',
|
||||||
|
`bid_unit` VARCHAR(255) DEFAULT NULL COMMENT '投标单位',
|
||||||
|
`document_date` DATE NOT NULL COMMENT '单据日期',
|
||||||
|
`project_manager` VARCHAR(100) DEFAULT NULL COMMENT '项目经理',
|
||||||
|
`project_overview` TEXT DEFAULT NULL COMMENT '工程概况',
|
||||||
|
`organization` VARCHAR(255) DEFAULT NULL COMMENT '组织',
|
||||||
|
`file_id` varchar(1024) NULL COMMENT '文件ID',
|
||||||
|
`remark` TEXT null COMMENT '备注',
|
||||||
|
`audit_status` VARCHAR(32) default 'draft' NULL COMMENT '审核状态',
|
||||||
|
`create_by` bigint NULL COMMENT '创建者',
|
||||||
|
`update_by` bigint NULL COMMENT '更新者',
|
||||||
|
`create_dept` bigint null comment '创建部门',
|
||||||
|
`create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||||
|
`update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||||
|
PRIMARY KEY (`id`)
|
||||||
|
) COMMENT ='投标文件';
|
||||||
|
|
||||||
|
drop table if exists xzd_tbwj_business_bid;
|
||||||
|
|
||||||
|
CREATE TABLE `xzd_tbwj_business_bid`
|
||||||
|
(
|
||||||
|
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
||||||
|
`bidding_document_id` BIGINT NOT NULL COMMENT '投标文件ID',
|
||||||
|
`bid_price` DECIMAL(20, 4) DEFAULT 0.0000 COMMENT '标底价',
|
||||||
|
`discount_rate` DECIMAL(5, 2) DEFAULT 0.00 COMMENT '折扣率',
|
||||||
|
`ceiling_price` DECIMAL(20, 4) DEFAULT 0.0000 COMMENT '最高限价',
|
||||||
|
`cost_price` DECIMAL(20, 4) DEFAULT 0.0000 COMMENT '成本价',
|
||||||
|
`total_bid_price` DECIMAL(20, 4) DEFAULT 0.0000 NOT NULL COMMENT '投标报价',
|
||||||
|
`fee_rate` DECIMAL(5, 2) DEFAULT 0.00 COMMENT '毛利率',
|
||||||
|
`bid_tax_rate` DECIMAL(5, 2) DEFAULT 0.00 COMMENT '投标税率',
|
||||||
|
`petty_cash` DECIMAL(20, 4) DEFAULT 0.0000 COMMENT '备用金',
|
||||||
|
`compilation_dept` VARCHAR(512) NULL COMMENT '编制部门',
|
||||||
|
`estimated_profit` VARCHAR(512) NULL COMMENT '报价说明',
|
||||||
|
PRIMARY KEY (`id`),
|
||||||
|
INDEX `idx_bidding_document_id` (`bidding_document_id`)
|
||||||
|
) COMMENT ='投标文件-商务标';
|
||||||
|
|
||||||
|
drop table if exists xzd_tbwj_technical_bid;
|
||||||
|
|
||||||
|
CREATE TABLE `xzd_tbwj_technical_bid`
|
||||||
|
(
|
||||||
|
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
||||||
|
`bidding_document_id` BIGINT NOT NULL COMMENT '投标文件ID',
|
||||||
|
`quality_requirements` TEXT DEFAULT NULL COMMENT '质量要求',
|
||||||
|
`technical_requirements` TEXT DEFAULT NULL COMMENT '技术要求',
|
||||||
|
`compilation_dept` VARCHAR(255) DEFAULT NULL COMMENT '编制部门',
|
||||||
|
`compilation_explain` VARCHAR(255) DEFAULT NULL COMMENT '编制说明',
|
||||||
|
PRIMARY KEY (`id`),
|
||||||
|
INDEX `idx_bidding_document_id` (`bidding_document_id`)
|
||||||
|
) COMMENT ='投标文件-技术标';
|
||||||
|
|
||||||
|
drop table if exists xzd_tbwj_qualification_requirements;
|
||||||
|
CREATE TABLE `xzd_tbwj_qualification_requirements`
|
||||||
|
(
|
||||||
|
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
||||||
|
`bidding_document_id` BIGINT NOT NULL COMMENT '投标文件ID',
|
||||||
|
`qualification_requirement` VARCHAR(512) NOT NULL COMMENT '资审要求',
|
||||||
|
`compilation_points` TEXT DEFAULT NULL COMMENT '编制要点',
|
||||||
|
`provide_time` DATETIME NOT NULL COMMENT '提供时间',
|
||||||
|
`remark` TEXT null COMMENT '备注',
|
||||||
|
PRIMARY KEY (`id`),
|
||||||
|
INDEX `idx_bidding_document_id` (`bidding_document_id`)
|
||||||
|
) COMMENT ='投标文件-资审要求';
|
||||||
|
|
||||||
|
drop table if exists xzd_tbwj_business_bid_requirements;
|
||||||
|
CREATE TABLE `xzd_tbwj_business_bid_requirements`
|
||||||
|
(
|
||||||
|
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
||||||
|
`bidding_document_id` BIGINT NOT NULL COMMENT '投标文件ID',
|
||||||
|
`business_bid_requirement` VARCHAR(512) NOT NULL COMMENT '商务标要求',
|
||||||
|
`compilation_points` TEXT DEFAULT NULL COMMENT '编制要点',
|
||||||
|
`provide_time` DATETIME NOT NULL COMMENT '提供时间',
|
||||||
|
`remark` TEXT null COMMENT '备注',
|
||||||
|
PRIMARY KEY (`id`),
|
||||||
|
INDEX `idx_bidding_document_id` (`bidding_document_id`)
|
||||||
|
) COMMENT ='投标文件-商务标要求';
|
||||||
|
|
||||||
|
drop table if exists xzd_tbwj_technical_bid_requirements;
|
||||||
|
CREATE TABLE `xzd_tbwj_technical_bid_requirements`
|
||||||
|
(
|
||||||
|
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
||||||
|
`bidding_document_id` BIGINT NOT NULL COMMENT '投标文件ID',
|
||||||
|
`technical_bid_requirement` VARCHAR(512) NOT NULL COMMENT '技术标要求',
|
||||||
|
`compilation_points` TEXT DEFAULT NULL COMMENT '编制要点',
|
||||||
|
`provide_time` DATETIME NOT NULL COMMENT '提供时间',
|
||||||
|
`remark` TEXT null COMMENT '备注',
|
||||||
|
PRIMARY KEY (`id`),
|
||||||
|
INDEX `idx_bidding_document_id` (`bidding_document_id`)
|
||||||
|
) COMMENT ='投标文件-技术标要求';
|
||||||
|
|
||||||
|
drop table if exists xzd_post_bid_analysis;
|
||||||
|
CREATE TABLE `xzd_post_bid_analysis`
|
||||||
|
(
|
||||||
|
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
||||||
|
`project_code` VARCHAR(100) NOT NULL COMMENT '项目编码',
|
||||||
|
`project_name` VARCHAR(255) NOT NULL COMMENT '项目名称',
|
||||||
|
`project_cost` DECIMAL(20, 4) DEFAULT 0.0000 COMMENT '工程造价(万元)',
|
||||||
|
`project_type` BIGINT DEFAULT NULL COMMENT '项目类型ID',
|
||||||
|
`project_address` VARCHAR(255) DEFAULT NULL COMMENT '项目地址',
|
||||||
|
`project_overview` TEXT DEFAULT NULL COMMENT '工程概况',
|
||||||
|
`construction_unit` VARCHAR(255) DEFAULT NULL COMMENT '建设单位',
|
||||||
|
`bid_opening_date` DATE DEFAULT NULL COMMENT '开标日期',
|
||||||
|
`business_model` VARCHAR(100) DEFAULT NULL COMMENT '经营模式',
|
||||||
|
`control_price` DECIMAL(20, 4) DEFAULT 0.0000 COMMENT '招标控制价(万元)',
|
||||||
|
`final_quote` DECIMAL(20, 4) DEFAULT 0.0000 COMMENT '最终报价(万元)',
|
||||||
|
`bidding_result` VARCHAR(16) NOT NULL COMMENT '投标结果',
|
||||||
|
`bid_record_link` VARCHAR(500) DEFAULT NULL COMMENT '开标记录链接',
|
||||||
|
`analysis_summary` TEXT DEFAULT NULL COMMENT '投标分析与总结',
|
||||||
|
`final_quote_yuan` DECIMAL(20, 4) DEFAULT 0.0000 COMMENT '最终报价(元)',
|
||||||
|
`final_quote_chinese` VARCHAR(255) DEFAULT NULL COMMENT '最终报价(大写)',
|
||||||
|
`file_id` varchar(1024) NULL COMMENT '文件ID',
|
||||||
|
`remark` TEXT null COMMENT '备注',
|
||||||
|
`audit_status` VARCHAR(32) default 'draft' NULL COMMENT '审核状态',
|
||||||
|
`create_by` bigint NULL COMMENT '创建者',
|
||||||
|
`update_by` bigint NULL COMMENT '更新者',
|
||||||
|
`create_dept` bigint null comment '创建部门',
|
||||||
|
`create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||||
|
`update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||||
|
PRIMARY KEY (`id`)
|
||||||
|
) COMMENT ='标后分析';
|
||||||
|
|
||||||
|
drop table if exists xzd_bidding_unit_ranking;
|
||||||
|
CREATE TABLE `xzd_bidding_unit_ranking`
|
||||||
|
(
|
||||||
|
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
||||||
|
`bid_analysis_id` BIGINT NOT NULL COMMENT '标后分析ID',
|
||||||
|
`bidding_unit_name` VARCHAR(255) DEFAULT NULL COMMENT '参与投标单位',
|
||||||
|
`bid_price` DECIMAL(20, 4) DEFAULT 0.0000 COMMENT '投标报价(万元)',
|
||||||
|
`ranking` INT NOT NULL COMMENT '排名',
|
||||||
|
`remark` TEXT null COMMENT '备注',
|
||||||
|
PRIMARY KEY (`id`),
|
||||||
|
INDEX `idx_bid_analysis_id` (`bid_analysis_id`)
|
||||||
|
) COMMENT ='标后分析-投标单位排名';
|
||||||
@ -380,42 +380,66 @@ create table ctr_subcontract_seal
|
|||||||
) comment ='分包合同-印章信息';
|
) comment ='分包合同-印章信息';
|
||||||
|
|
||||||
-- 菜单 SQL
|
-- 菜单 SQL
|
||||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible,
|
||||||
values(1970692582274809858, '主要信息', '1970690857740615681', '1', 'subcontractMain', 'ctr/subcontractMain/index', 1, 0, 'C', '0', '0', 'ctr:subcontractMain:list', '#', 103, 1, sysdate(), null, null, '主要信息菜单');
|
status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||||
|
values (1970692582274809858, '主要信息', '1970690857740615681', '1', 'subcontractMain', 'ctr/subcontractMain/index', 1,
|
||||||
|
0, 'C', '0', '0', 'ctr:subcontractMain:list', '#', 103, 1, sysdate(), null, null, '主要信息菜单');
|
||||||
|
|
||||||
-- 按钮 SQL
|
-- 按钮 SQL
|
||||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible,
|
||||||
values(1970692582274809859, '主要信息查询', 1970692582274809858, '1', '#', '', 1, 0, 'F', '0', '0', 'ctr:subcontractMain:query', '#', 103, 1, sysdate(), null, null, '');
|
status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||||
|
values (1970692582274809859, '主要信息查询', 1970692582274809858, '1', '#', '', 1, 0, 'F', '0', '0',
|
||||||
|
'ctr:subcontractMain:query', '#', 103, 1, sysdate(), null, null, '');
|
||||||
|
|
||||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible,
|
||||||
values(1970692582274809860, '主要信息新增', 1970692582274809858, '2', '#', '', 1, 0, 'F', '0', '0', 'ctr:subcontractMain:add', '#', 103, 1, sysdate(), null, null, '');
|
status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||||
|
values (1970692582274809860, '主要信息新增', 1970692582274809858, '2', '#', '', 1, 0, 'F', '0', '0',
|
||||||
|
'ctr:subcontractMain:add', '#', 103, 1, sysdate(), null, null, '');
|
||||||
|
|
||||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible,
|
||||||
values(1970692582274809861, '主要信息修改', 1970692582274809858, '3', '#', '', 1, 0, 'F', '0', '0', 'ctr:subcontractMain:edit', '#', 103, 1, sysdate(), null, null, '');
|
status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||||
|
values (1970692582274809861, '主要信息修改', 1970692582274809858, '3', '#', '', 1, 0, 'F', '0', '0',
|
||||||
|
'ctr:subcontractMain:edit', '#', 103, 1, sysdate(), null, null, '');
|
||||||
|
|
||||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible,
|
||||||
values(1970692582274809862, '主要信息删除', 1970692582274809858, '4', '#', '', 1, 0, 'F', '0', '0', 'ctr:subcontractMain:remove', '#', 103, 1, sysdate(), null, null, '');
|
status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||||
|
values (1970692582274809862, '主要信息删除', 1970692582274809858, '4', '#', '', 1, 0, 'F', '0', '0',
|
||||||
|
'ctr:subcontractMain:remove', '#', 103, 1, sysdate(), null, null, '');
|
||||||
|
|
||||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible,
|
||||||
values(1970692582274809863, '主要信息导出', 1970692582274809858, '5', '#', '', 1, 0, 'F', '0', '0', 'ctr:subcontractMain:export', '#', 103, 1, sysdate(), null, null, '');
|
status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||||
|
values (1970692582274809863, '主要信息导出', 1970692582274809858, '5', '#', '', 1, 0, 'F', '0', '0',
|
||||||
|
'ctr:subcontractMain:export', '#', 103, 1, sysdate(), null, null, '');
|
||||||
|
|
||||||
|
|
||||||
-- 菜单 SQL
|
-- 菜单 SQL
|
||||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible,
|
||||||
values(1970692923594686465, '印章信息', '1970692582274809858', '1', 'subcontractSeal', 'ctr/subcontractSeal/index', 1, 0, 'C', '0', '0', 'ctr:subcontractSeal:list', '#', 103, 1, sysdate(), null, null, '印章信息菜单');
|
status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||||
|
values (1970692923594686465, '印章信息', '1970692582274809858', '1', 'subcontractSeal', 'ctr/subcontractSeal/index', 1,
|
||||||
|
0, 'C', '0', '0', 'ctr:subcontractSeal:list', '#', 103, 1, sysdate(), null, null, '印章信息菜单');
|
||||||
|
|
||||||
-- 按钮 SQL
|
-- 按钮 SQL
|
||||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible,
|
||||||
values(1970692923594686466, '印章信息查询', 1970692923594686465, '1', '#', '', 1, 0, 'F', '0', '0', 'ctr:subcontractSeal:query', '#', 103, 1, sysdate(), null, null, '');
|
status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||||
|
values (1970692923594686466, '印章信息查询', 1970692923594686465, '1', '#', '', 1, 0, 'F', '0', '0',
|
||||||
|
'ctr:subcontractSeal:query', '#', 103, 1, sysdate(), null, null, '');
|
||||||
|
|
||||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible,
|
||||||
values(1970692923594686467, '印章信息新增', 1970692923594686465, '2', '#', '', 1, 0, 'F', '0', '0', 'ctr:subcontractSeal:add', '#', 103, 1, sysdate(), null, null, '');
|
status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||||
|
values (1970692923594686467, '印章信息新增', 1970692923594686465, '2', '#', '', 1, 0, 'F', '0', '0',
|
||||||
|
'ctr:subcontractSeal:add', '#', 103, 1, sysdate(), null, null, '');
|
||||||
|
|
||||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible,
|
||||||
values(1970692923594686468, '印章信息修改', 1970692923594686465, '3', '#', '', 1, 0, 'F', '0', '0', 'ctr:subcontractSeal:edit', '#', 103, 1, sysdate(), null, null, '');
|
status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||||
|
values (1970692923594686468, '印章信息修改', 1970692923594686465, '3', '#', '', 1, 0, 'F', '0', '0',
|
||||||
|
'ctr:subcontractSeal:edit', '#', 103, 1, sysdate(), null, null, '');
|
||||||
|
|
||||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible,
|
||||||
values(1970692923594686469, '印章信息删除', 1970692923594686465, '4', '#', '', 1, 0, 'F', '0', '0', 'ctr:subcontractSeal:remove', '#', 103, 1, sysdate(), null, null, '');
|
status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||||
|
values (1970692923594686469, '印章信息删除', 1970692923594686465, '4', '#', '', 1, 0, 'F', '0', '0',
|
||||||
|
'ctr:subcontractSeal:remove', '#', 103, 1, sysdate(), null, null, '');
|
||||||
|
|
||||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible,
|
||||||
values(1970692923594686470, '印章信息导出', 1970692923594686465, '5', '#', '', 1, 0, 'F', '0', '0', 'ctr:subcontractSeal:export', '#', 103, 1, sysdate(), null, null, '');
|
status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
|
||||||
|
values (1970692923594686470, '印章信息导出', 1970692923594686465, '5', '#', '', 1, 0, 'F', '0', '0',
|
||||||
|
'ctr:subcontractSeal:export', '#', 103, 1, sysdate(), null, null, '');
|
||||||
|
|||||||
Reference in New Issue
Block a user