Browse Source

Merge remote-tracking branch 'origin/master' into master

yangyj 1 năm trước cách đây
mục cha
commit
4393c44934

+ 3 - 0
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/entity/ContractInfo.java

@@ -163,6 +163,9 @@ public class ContractInfo extends BaseEntity {
      */
     private Integer isArchivesAuto;
 
+    @ApiModelProperty(value = "计量是否允许超计 '0'否 '1'是")
+    private Integer isOverMeter;
+
 
     public String archivesUnit() {
 

+ 1 - 1
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/entity/ChangeTokenForm.java

@@ -80,7 +80,7 @@ public class ChangeTokenForm extends BaseEntity {
      * 延长工期
      */
     @ApiModelProperty(value = "延长工期")
-    private Integer lengthenDays;
+    private String lengthenDays;
     /**
      * 变更申请金额
      */

+ 16 - 0
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/vo/ChangeTokenSelectVO.java

@@ -0,0 +1,16 @@
+package org.springblade.meter.vo;
+
+import lombok.Data;
+
+/**
+ * @Param
+ * @Author wangwl
+ * @Date 2024/1/23 11:00
+ **/
+@Data
+public class ChangeTokenSelectVO {
+    private Long contractId;
+    private Long nodeId;
+    private String ids;
+
+}

+ 14 - 3
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/WbsTreePrivateServiceImpl.java

@@ -1936,18 +1936,29 @@ public class WbsTreePrivateServiceImpl extends BaseServiceImpl<WbsTreePrivateMap
     public void batchResetHtmlUrl(List<WbsTreePrivate> wbsTreePrivateList) throws IOException, InterruptedException {
         //Thread.sleep(10000L);
         if (wbsTreePrivateList != null) {
+            String file_path = ParamCache.getValue(CommonConstant.SYS_LOCAL_URL);
+            String projectId = wbsTreePrivateList.get(0).getProjectId();
+            String dir = file_path + "/privateUrlCopy/" +projectId;
+            File directory = new File(dir);
+            if (!directory.exists()){
+                directory.mkdir();
+            }
             //存在htmlUrl才重新保存
+            System.out.println("copyHtml-去除空路径之前:"+wbsTreePrivateList.size());
             wbsTreePrivateList = wbsTreePrivateList.stream().filter(wtp -> StringUtils.isNotBlank(wtp.getHtmlUrl())).collect(Collectors.toList());
-            String file_path = ParamCache.getValue(CommonConstant.SYS_LOCAL_URL);
+            System.out.println("copyHtml-去除重复路径之前:"+wbsTreePrivateList.size());
+            wbsTreePrivateList = wbsTreePrivateList.stream().collect(Collectors.toMap(WbsTreePrivate::getHtmlUrl,wbs->wbs,(w1,w2)->w1))
+                                    .values().stream().collect(Collectors.toList());
+            System.out.println("copyHtml-去除重复路径之后:"+wbsTreePrivateList.size());
             //批量复制保存html
             for (WbsTreePrivate tree : wbsTreePrivateList) {
                 String[] split = tree.getHtmlUrl().split("/");
                 File file_in = ResourceUtil.getFile(tree.getHtmlUrl());
-                //File file_in = ResourceUtil.getFile("C:\\Users\\泓创研发01\\Desktop\\privateUrl\\"+split[split.length-1]);
+//                File file_in = ResourceUtil.getFile("C:\\Users\\泓创研发01\\Desktop\\privateUrl\\"+split[split.length-1]);
                 if (!file_in.exists() || file_in.length() == 0) {
                     continue;
                 }
-                String htmlUrl = file_path + "/privateUrlCopy/" + split[split.length - 1];
+                String htmlUrl = file_path + "/privateUrlCopy/" +projectId+"/"+ split[split.length - 1];
                 //String htmlUrl = "C:\\Users\\泓创研发01\\Desktop\\privateUrlCopy\\" + split[split.length-1];
                 File file_out = ResourceUtil.getFile(htmlUrl);
                 FileUtil.copy(file_in, file_out);

+ 3 - 3
blade-service/blade-meter/src/main/java/org/springblade/meter/controller/ChangeTokenFormController.java

@@ -118,7 +118,7 @@ public class ChangeTokenFormController extends BladeController {
 	/**
 	 * 新增-确认选择清单
 	 */
-	@GetMapping("/selectForm")
+	@PostMapping("/selectForm")
 	@ApiOperationSupport(order = 5)
 	@ApiOperation(value = "新增确认选择清单", notes = "传入选中的清单id,返回变更申请清单集合")
 	@ApiImplicitParams(value = {
@@ -126,8 +126,8 @@ public class ChangeTokenFormController extends BladeController {
 			@ApiImplicitParam(name = "nodeId", value = "节点id", required = true),
 			@ApiImplicitParam(name = "ids", value = "选中的清单id,逗号拼接", required = true)
 	})
-	public R<List<ChangeFormVO2>> selectForm(Long contractId,Long nodeId,String ids) {
-		List<ChangeFormVO2> vos = changeTokenFormService.selectForm(contractId,nodeId,ids);
+	public R<List<ChangeFormVO2>> selectForm(@RequestBody ChangeTokenSelectVO vo) {
+		List<ChangeFormVO2> vos = changeTokenFormService.selectForm(vo);
 		return R.data(vos);
 	}
 

+ 14 - 1
blade-service/blade-meter/src/main/java/org/springblade/meter/controller/MiddleMeterApplyController.java

@@ -226,5 +226,18 @@ public class MiddleMeterApplyController extends BladeController {
         return R.data(middleMeterApplyService.test());
     }
 
-
+    /**
+     * 获取当前节点下,当期未被计量的所有清单
+     */
+    @PostMapping("/getCurrentNodeAllForm")
+    @ApiOperationSupport(order = 13)
+    @ApiOperation(value = "获取当前节点下,当期未被计量的所有清单", notes = "返回当前节点下,当期未被计量的所有清单集合")
+    @ApiImplicitParams(value = {
+            @ApiImplicitParam(name = "contractId", value = "合同id", required = true),
+            @ApiImplicitParam(name = "contractUnitId", value = "节点id", required = true),
+            @ApiImplicitParam(name = "contractPeriodId", value = "合同计量期id", required = true)
+    })
+    public R<List<MeterInventoryVO>> getCurrentNodeAllForm(@RequestBody MiddleMeterApply middleMeterApply) {
+        return R.data(middleMeterApplyService.getCurrentNodeAllForm(middleMeterApply));
+    }
 }

+ 3 - 3
blade-service/blade-meter/src/main/java/org/springblade/meter/mapper/ChangeTokenFormMapper.xml

@@ -162,10 +162,10 @@
     <select id="selectForm" resultType="org.springblade.meter.vo.ChangeFormVO2">
         select id,form_number,form_name,current_price,
                 IFNULL((select change_build_picture_total
-        from s_inventory_form_meter ifm
-        WHERE contract_id = #{contractId} and is_deleted = 0 and ifm.contract_form_id = cif.id and ifm.contract_meter_id = #{nodeId}),0) as contractTotal
+                        from s_inventory_form_meter ifm
+                        WHERE contract_id = #{contractId} and is_deleted = 0 and ifm.contract_form_id = cif.id and ifm.contract_meter_id = #{nodeId}),0) as contractTotal
         from s_contract_inventory_form cif
-        where contract_id = #{contractId}
+        where contract_id = #{contractId} and current_price is not null
         and id in
         <foreach collection="ids" item="id" open="(" separator="," close=")">
             #{id}

+ 1 - 1
blade-service/blade-meter/src/main/java/org/springblade/meter/service/IChangeTokenFormService.java

@@ -58,7 +58,7 @@ public interface IChangeTokenFormService extends BaseService<ChangeTokenForm> {
     /**
      * 新增-确认选择清单
      */
-    List<ChangeFormVO2> selectForm(Long contractId,Long nodeId,String ids);
+    List<ChangeFormVO2> selectForm(ChangeTokenSelectVO vo);
 
     /**
      * 新增 变更令

+ 1 - 0
blade-service/blade-meter/src/main/java/org/springblade/meter/service/IMiddleMeterApplyService.java

@@ -66,4 +66,5 @@ public interface IMiddleMeterApplyService extends BaseService<MiddleMeterApply>
 
     String test();
 
+    List<MeterInventoryVO> getCurrentNodeAllForm(MiddleMeterApply middleMeterApply);
 }

+ 5 - 5
blade-service/blade-meter/src/main/java/org/springblade/meter/service/impl/ChangeTokenFormServiceImpl.java

@@ -289,15 +289,15 @@ public class ChangeTokenFormServiceImpl extends BaseServiceImpl<ChangeTokenFormM
      * 新增-确认选择清单
      */
     @Override
-    public List<ChangeFormVO2> selectForm(Long contractId,Long nodeId,String ids) {
+    public List<ChangeFormVO2> selectForm(ChangeTokenSelectVO v) {
         List<ChangeFormVO2> vos = new ArrayList<>();
-        if (StringUtils.isBlank(ids)){
+        if (StringUtils.isBlank(v.getIds())){
             return vos;
         }
-        List<Long> longs = Func.toLongList(ids);
-        vos = baseMapper.selectForm(contractId,longs,nodeId);
+        List<Long> longs = Func.toLongList(v.getIds());
+        vos = baseMapper.selectForm(v.getContractId(),longs,v.getNodeId());
         for (ChangeFormVO2 vo : vos) {
-            vo.setContractMeterId(nodeId);
+            vo.setContractMeterId(v.getNodeId());
             vo.setCurrentChangeTotal(BigDecimal.ZERO);
             vo.setChangeTotal(vo.getContractTotal());
             vo.setContractMoney(vo.getCurrentPrice().multiply(vo.getContractTotal()));

+ 17 - 0
blade-service/blade-meter/src/main/java/org/springblade/meter/service/impl/MiddleMeterApplyServiceImpl.java

@@ -538,6 +538,23 @@ public class MiddleMeterApplyServiceImpl extends BaseServiceImpl<MiddleMeterAppl
         return "";
     }
 
+    /**
+     * 获取当前节点下,当期未被计量的所有清单
+     */
+    @Override
+    public List<MeterInventoryVO> getCurrentNodeAllForm(MiddleMeterApply apply) {
+        List<MeterInventoryVO> voList = new ArrayList<>();
+        //获取当前节点下所有未被计量的清单
+        List<ResolveInventoryVO> vos = this.addFormList(null, apply.getContractId(), apply.getContractPeriodId(), apply.getContractUnitId(), null, null);
+        if (vos.size() == 0){
+            return voList;
+        }
+        List<String> list = vos.stream().map(l -> l.getId()+"").collect(Collectors.toList());
+        String join = String.join(",", list);
+        voList = this.addResolveForm(apply.getContractId(), apply.getContractUnitId(), join);
+        return voList;
+    }
+
     //递归方法
     private void gatherSortNode(List<NodeSortVO> list,List<Long> ids){
         for (NodeSortVO vo : list) {