xiejun
2023-12-14 77d0006d03513343e40108735540387e8f188ce4
Merge remote-tracking branch 'origin/master'
已修改7个文件
已删除1个文件
已添加7个文件
579 ■■■■ 文件已修改
Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue 129 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/components/StatisticsComponent/ColumnarChart.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/service-systemctl-restart.sh 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/entity/StatisticConfig.java 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/vo/StatisticConfigVO.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/toolmodel/DateConverter.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmEngineService.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeWupinMapper.xml 108 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/controller/StatisticConfigController.java 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/mapper/StatisticConfigMapper.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/IStatisticConfigService.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/StatisticConfigServiceImpl.java 104 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-system/src/main/resources/mapper/StatisticConfigMapper.xml 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue
@@ -46,15 +46,15 @@
                <el-table-column v-if="tableData.length != 0" fixed label="序号" type="index" width="55">
                </el-table-column>
                <!--              ç”Ÿå‘½å‘¨æœŸ-->
<!--                <el-table-column v-for="(item,index) in lcstatusArray"-->
<!--                                 v-if=" lcstatusArray.length >= 0 && !item.hidden"-->
<!--                                 key="index" :show-overflow-tooltip="true" :sortable="item.sortable"-->
<!--                                 :width="item.width" align="center" label="生命周期值"-->
<!--                                 prop="lcstatus">-->
<!--                  <template slot-scope="scope">-->
<!--                    <span>{{ scope.row.lcstatus_text }}</span>-->
<!--                  </template>-->
<!--                </el-table-column>-->
                <!--                <el-table-column v-for="(item,index) in lcstatusArray"-->
                <!--                                 v-if=" lcstatusArray.length >= 0 && !item.hidden"-->
                <!--                                 key="index" :show-overflow-tooltip="true" :sortable="item.sortable"-->
                <!--                                 :width="item.width" align="center" label="生命周期值"-->
                <!--                                 prop="lcstatus">-->
                <!--                  <template slot-scope="scope">-->
                <!--                    <span>{{ scope.row.lcstatus_text }}</span>-->
                <!--                  </template>-->
                <!--                </el-table-column>-->
                <!--              ç¼–号-->
                <el-table-column v-for="(item, index) in CodeArray" v-if="CodeArray.length !== 0 && !item.hidden"
                                 key="index" :label="item.label" :prop="item.prop"
@@ -345,7 +345,7 @@
      },
      // ä¸»æ•°æ®æŒ‰é’®
      masterVrBtnList: [],
      fileOptions:{},
      fileOptions: {},
      result: '',
      elapsedTime: '',
    };
@@ -397,7 +397,7 @@
        this.tableData = newval;
        this.searchResults = newval
        this.doLayout();
        this.fileOptions= {
        this.fileOptions = {
          ownbizOid: "0",
          ownbizBtm: "0",
          fileDocClassify: '!=processAuditSuggest',
@@ -467,6 +467,7 @@
    templateOid: {
      handler(newval, oldval) {
        this.fileOptions.ownbizOid = "0";
        this.statusSelect = 'all'
      },
      deep: true,
    },
@@ -590,7 +591,7 @@
        func.downloadFileByBlobHandler(res);
        this.$message.success('下载成功,请查看!');
        this.isLoading = false;
      }).catch(error=>{
      }).catch(error => {
        this.$message.error(error);
      });
    },
@@ -927,40 +928,46 @@
      })
    },
    // æŽ’序
    sortChange(val) {
      // console.log(val)
      this.isLoading = true;
      let order = "";
      if (val.order == "ascending") {
        order = "asc";
      } else {
        order = "desc";
    async sortChange(val) {
      try {
        this.isLoading = true;
        const order = val.order == 'ascending' ? 'asc' : 'desc';
        const {data} = await TableData({
          templateOid: this.templateOid,
          codeClassifyOid: this.codeClassifyOid,
          order: order,
          sort: val.prop,
          page: this.page.currentPage,
          limit: this.page.pageSize,
        });
        this.data = data.data;
      } finally {
        this.isLoading = false;
      }
      TableData({
        templateOid: this.templateOid,
        codeClassifyOid: this.codeClassifyOid,
        order: order,
        sort: val.prop,
        page: this.page.currentPage,
        limit: this.page.pageSize,
      }).then((res) => {
        setTimeout(() => {
          this.data = res.data.data;
          this.isLoading = false;
        }, 100);
      });
    },
    //分页刷新
    async onLoad(val) {
      await TableData({
        templateOid: this.templateOid,
        codeClassifyOid: this.codeClassifyOid,
        page: this.page.currentPage,
        limit: this.page.pageSize,
      }).then((res) => {
      this.isLoading = true;
      try {
        let conditionMap = {};
        if (this.statusSelect !== 'all') {
          conditionMap.lcstatus = this.statusSelect;
        }
        const res = await TableData({
          templateOid: this.templateOid,
          codeClassifyOid: this.codeClassifyOid,
          page: this.page.currentPage,
          limit: this.page.pageSize,
          conditionMap
        });
        this.tableData = res.data.data;
        this.doLayout()
      });
        this.doLayout();
      } catch (error) {
        this.$message.error(error)
      } finally {
        this.isLoading = false;
      }
    },
    //多选
    handleSelectionChange(list) {
@@ -993,15 +1000,18 @@
      this.findvisible = true;
    },
    // é«˜çº§æŸ¥è¯¢
    echoContion(val) {
      FindData({
        templateOid: this.templateOid,
        codeClassifyOid: this.codeClassifyOid,
        ...val,
      }).then((res) => {
    async echoContion(val) {
      try {
        const res = await FindData({
          templateOid: this.templateOid,
          codeClassifyOid: this.codeClassifyOid,
          ...val,
        });
        this.tableData = res.data.data;
        this.page.total = res.data.total
      });
      } catch (error) {
      }
    },
    //相似项查询
    similarHandler() {
@@ -1071,17 +1081,20 @@
    //输入回车搜索
    tableFindInp() {
      this.isLoading = true;
      TableData({
        templateOid: this.templateOid,
        codeClassifyOid: this.codeClassifyOid,
        page: this.page.currentPage,
        limit: this.page.pageSize,
        ['conditionMap[' + this.keyWordFind + ']']: '*' + this.WupinFindValue + '*'
      }).then(res => {
        this.tableData = res.data.data;
        this.page.total = res.data.total;
      try {
        TableData({
          templateOid: this.templateOid,
          codeClassifyOid: this.codeClassifyOid,
          page: this.page.currentPage,
          limit: this.page.pageSize,
          ['conditionMap[' + this.keyWordFind + ']']: '*' + this.WupinFindValue + '*'
        }).then(res => {
          this.tableData = res.data.data;
          this.page.total = res.data.total;
        })
      } finally {
        this.isLoading = false;
      })
      }
    }
  }
Source/UBCS-WEB/src/components/StatisticsComponent/ColumnarChart.vue
@@ -92,7 +92,7 @@
  data() {
    return {
      chartOptions: {
        color:["#91CC75", "#5470C6"],
        color:['#84C9E5', '#F68686'],
        title: {
          text: "",
        },
Source/UBCS/service-systemctl-restart.sh
@@ -18,61 +18,85 @@
systemctl restart ubcs-admin.service
echo '---------------ubcs-admin æœåŠ¡é‡å¯å‘½ä»¤æ‰§è¡Œå®Œæ¯•------------------'
sleep 3
echo '--------------ubcs-applyjtcodeservice æœåŠ¡æ­£åœ¨é‡å¯------------'
yes | cp -f ./target/ubcs-applyjtcodeservice.jar /data1/ubcs/ubcs-server/ubcs_applyjtcodeservice/
systemctl restart ubcs-applyjtcodeservice.service
echo '----------ubcs-applyjtcodeservice æœåŠ¡é‡å¯å‘½ä»¤æ‰§è¡Œå®Œæ¯•----------'
sleep 3
echo '-------------------ubcs-auth æœåŠ¡æ­£åœ¨é‡å¯------------------ --'
yes | cp -f ./target/ubcs-auth.jar /data1/ubcs/ubcs-server/ubcs_auth/
systemctl restart ubcs-auth.service
echo '---------------ubcs-auth æœåŠ¡é‡å¯å‘½ä»¤æ‰§è¡Œå®Œæ¯•-------------------'
sleep 3
echo '-------------------ubcs-code æœåŠ¡æ­£åœ¨é‡å¯---------------------'
yes | cp -f ./target/ubcs-code.jar /data1/ubcs/ubcs-server/ubcs_code/
systemctl restart ubcs-code.service
echo '---------------ubcs-code æœåŠ¡é‡å¯å‘½ä»¤æ‰§è¡Œå®Œæ¯•-------------------'
sleep 3
echo '-------------------ubcs-desk æœåŠ¡æ­£åœ¨é‡å¯---------------------'
yes | cp -f ./target/ubcs-desk.jar /data1/ubcs/ubcs-server/ubcs_desk/
systemctl restart ubcs-desk.service
echo '---------------ubcs-desk æœåŠ¡é‡å¯å‘½ä»¤æ‰§è¡Œå®Œæ¯•-------------------'
sleep 3
echo '-------------------ubcs-flow æœåŠ¡æ­£åœ¨é‡å¯--------------------'
yes | cp -f ./target/ubcs-flow.jar /data1/ubcs/ubcs-server/ubcs_flow/
systemctl restart ubcs-flow.service
echo '---------------ubcs-flow æœåŠ¡é‡å¯å‘½ä»¤æ‰§è¡Œå®Œæ¯•------------------'
sleep 3
echo '-------------------ubcs-gateway æœåŠ¡æ­£åœ¨é‡å¯-----------------'
yes | cp -f ./target/ubcs-gateway.jar /data1/ubcs/ubcs-server/ubcs_gateway/
systemctl restart ubcs-gateway.service
echo '---------------ubcs-gateway æœåŠ¡é‡å¯å‘½ä»¤æ‰§è¡Œå®Œæ¯•---------------'
sleep 3
echo '-------------------ubcs-log æœåŠ¡æ­£åœ¨é‡å¯---------------------'
yes | cp -f ./target/ubcs-log.jar /data1/ubcs/ubcs-server/ubcs_log/
systemctl restart ubcs-log.service
echo '---------------ubcs-log æœåŠ¡é‡å¯å‘½ä»¤æ‰§è¡Œå®Œæ¯•-------------------'
sleep 3
echo '-------------------ubcs-omd æœåŠ¡æ­£åœ¨é‡å¯---------------------'
yes | cp -f ./target/ubcs-omd.jar /data1/ubcs/ubcs-server/ubcs_omd/
systemctl restart ubcs-omd.service
echo '---------------ubcs-omd æœåŠ¡é‡å¯å‘½ä»¤æ‰§è¡Œå®Œæ¯•-------------------'
sleep 3
echo '-------------------ubcs-report æœåŠ¡æ­£åœ¨é‡å¯-------------------'
yes | cp -f ./target/ubcs-report.jar /data1/ubcs/ubcs-server/ubcs_report/
systemctl restart ubcs-report.service
echo '---------------ubcs-report æœåŠ¡é‡å¯å‘½ä»¤æ‰§è¡Œå®Œæ¯•-----------------'
sleep 3
echo '-------------------ubcs-resource æœåŠ¡æ­£åœ¨é‡å¯------------------'
yes | cp -f ./target/ubcs-resource.jar /data1/ubcs/ubcs-server/ubcs_resource/
systemctl restart ubcs-resource.service
echo '---------------ubcs-resource æœåŠ¡é‡å¯å‘½ä»¤æ‰§è¡Œå®Œæ¯•----------------'
sleep 3
echo '-------------------ubcs-system æœåŠ¡æ­£åœ¨é‡å¯---------------------'
yes | cp -f ./target/ubcs-system.jar /data1/ubcs/ubcs-server/ubcs_system/
systemctl restart ubcs-system.service
echo '---------------ubcs-system æœåŠ¡é‡å¯å‘½ä»¤æ‰§è¡Œå®Œæ¯•-------------------'
sleep 3
echo '--------------------ubcs-user æœåŠ¡æ­£åœ¨é‡å¯----------------------'
yes | cp -f ./target/ubcs-user.jar /data1/ubcs/ubcs-server/ubcs_user/
systemctl restart ubcs-user.service
Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/entity/StatisticConfig.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,66 @@
package com.vci.ubcs.system.entity;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.Date;
/**
 * ä¸»æ•°æ®ç»Ÿè®¡å¯¹è±¡
 * @author yuxc
 * @date 2023/12/13 11:13
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("PL_SYS_STATISTIC_CONFIG")
public class StatisticConfig implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * ä¸»é”®
     */
    @TableId
    private Long id;
    /**
     * ç”¨æˆ·id
     */
    private Long  userId;
    /**
     * ä¸šåŠ¡ç±»åž‹
     */
    private String btmname;
    /**
     * å›¾å½¢ids
     */
    private String chartIds;
    /**
     * åˆ›å»ºæ—¶é—´
     */
    private Date createtime;
    /**
     * åˆ›å»ºäºº
     */
    private String creator;
    /**
     * ä¿®æ”¹æ—¶é—´
     */
    private Date lastmodifytime;
    /**
     * ä¿®æ”¹äºº
     */
    private String lastmodifier;
    /**
     *
     */
    private Date ts;
}
Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/vo/StatisticConfigVO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
package com.vci.ubcs.system.vo;
import com.vci.ubcs.system.entity.MdmCountConfig;
import com.vci.ubcs.system.entity.StatisticConfig;
import lombok.Data;
import java.util.List;
/**
 * @author ludc
 * @date 2023/10/18 8:56
 */
@Data
public class StatisticConfigVO extends StatisticConfig {
}
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/toolmodel/DateConverter.java
@@ -140,7 +140,7 @@
        return text.substring(0, text.lastIndexOf(".")) + "." + nano;
    }
    public static void main(String[] args) {
    /*public static void main(String[] args) {
        List<String> list = new ArrayList<String>() {
            {
                this.add("2020-11-12 12:12:03");
@@ -175,7 +175,7 @@
            }
        });
    }
    }*/
    public String getAsText(String dateFormat) {
        Date value = this.getValue();
@@ -185,4 +185,5 @@
        return value != null ? (new SimpleDateFormat(dateFormat)).format(value) : "";
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmEngineService.java
@@ -245,7 +245,6 @@
     */
    R batchUpdateCode(List<CodeOrderDTO> orderDTOList);
    /**
     * æ ‡è®°æµç¨‹ä¸­ä¸šåŠ¡æ•°æ®æ˜¯å¦é€šè¿‡
     * @param oid ä¸šåŠ¡æ•°æ®ä¸»é”®
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
@@ -88,6 +88,8 @@
import java.beans.PropertyDescriptor;
import java.lang.reflect.Method;
import java.math.BigDecimal;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.ZonedDateTime;
@@ -4196,7 +4198,7 @@
        bo.setFirstV("1");
        bo.setLastV("1");
        bo.setRevisionRule(listR.getData().get(0).getRevisionRuleId());
        bo.setVersionRule("".equals(listR.getData().get(0).getVersionRule())?"0":listR.getData().get(0).getVersionRule());
        bo.setVersionRule("".equals(listR.getData().get(0).getVersionRule())?"1":listR.getData().get(0).getVersionRule());
        if (StringUtils.isNotBlank(listR.getData().get(0).getRevisionRuleId())) {
            R<List<RevisionRuleVO>> revisionRuleVO = revisionRuleClient
                    .selectByIdCollection(Collections.singletonList(listR.getData().get(0).getRevisionRuleId().toLowerCase()));
@@ -4217,7 +4219,7 @@
        bo.setId("");
        bo.setName("");
        bo.setDescription("");
        bo.setOwner("1");
        bo.setOwner(AuthUtil.getUser().getUserId().toString());
//        bo.setCheckinby(userName);
        bo.setCopyFromVersion("");
//        this.initTypeAttributeValue(bo,btmTypeVO);
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java
@@ -3614,6 +3614,11 @@
        rowDataList.stream().forEach(rowData -> {
            ClientBusinessObject cbo=new ClientBusinessObject();
            DefaultAttrAssimtUtil.addDefaultAttrAssimt(cbo, classifyFullInfo.getTopClassifyVO().getBtmTypeId());
            R<List<BtmTypeVO>> listR = btmTypeClient.selectByIdCollection(Collections.singletonList(classifyFullInfo.getTopClassifyVO().getBtmTypeId()));
            if(!listR.isSuccess() || listR.getData().size() == 0){
                throw new VciBaseException("传入业务类型未查询到相应表单,请检查!");
            }
            cbo.setRevisionRule("".equals(listR.getData().get(0).getVersionRule())?"1":listR.getData().get(0).getVersionRule());
            rowData.getData().forEach((index,value)->{
                    String field = fieldIndexMap.get(index);
                if (StringUtils.isBlank(field)) {
Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeWupinMapper.xml
ÎļþÒÑɾ³ý
Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/controller/StatisticConfigController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,58 @@
package com.vci.ubcs.system.controller;
import com.vci.ubcs.system.entity.StatisticConfig;
import com.vci.ubcs.system.service.IMdmCountConfigService;
import com.vci.ubcs.system.service.IStatisticConfigService;
import com.vci.ubcs.system.vo.MdmCountConfigVO;
import io.swagger.annotations.Api;
import lombok.AllArgsConstructor;
import org.springblade.core.tenant.annotation.NonDS;
import org.springblade.core.tool.api.R;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
 * @author yuxc
 * @date 2023/12/13 15:47
 */
@NonDS
@RestController
@AllArgsConstructor
@RequestMapping("/statisticConfig")
//@Api(value = "字典", tags = "字典")
public class StatisticConfigController {
    private final IStatisticConfigService statisticConfigService;
    /**
     * ç»Ÿè®¡åˆ†æžä¿å­˜
     * @param statisticConfigs æ•°æ®ä¼ è¾“对象
     * @return æ•°æ®è¿”回
     */
    @PostMapping("/saveStatisticAnalysis")
    public R saveStatisticAnalysis(@RequestBody List<StatisticConfig> statisticConfigs){
        return statisticConfigService.saveStatisticConfig(statisticConfigs);
    }
    /**
     * ç»Ÿè®¡åˆ†æžåˆ é™¤å›¾å½¢
     * @param btmname ä¸šåŠ¡ç±»åž‹
     * @param chartId å›¾å½¢ID
     * @return æˆåŠŸä¸Žå¦
     */
    @PostMapping("/deleteChartId")
    public R deleteChartId(String btmname,String chartId){
        return statisticConfigService.deleteChartId(btmname,chartId);
    }
    /**
     * èŽ·å–ç”¨æˆ·é…ç½®çš„ä¸šåŠ¡ç±»åž‹ä¸Žç›¸å…³çš„å›¾å½¢
     * @return å›¾å½¢æ•°æ®ä¸Žä¸šåŠ¡ç±»åž‹ID
     */
    @GetMapping("/getBtmAndChartIds")
    public R getBtmAndChartIds(){
        return statisticConfigService.getBtmAndChartIds();
    }
}
Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/mapper/StatisticConfigMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,12 @@
package com.vci.ubcs.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.vci.ubcs.system.entity.StatisticConfig;
/**
 * @author ludc
 * @date 2023/10/17 14:53
 */
public interface StatisticConfigMapper extends BaseMapper<StatisticConfig> {
}
Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/IStatisticConfigService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,36 @@
package com.vci.ubcs.system.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.vci.ubcs.system.entity.StatisticConfig;
import org.springblade.core.tool.api.R;
import java.util.List;
/**
 * ä¸»æ•°æ®ç»Ÿè®¡é¦–页配置服务
 * @author ludc
 * @date 2023/10/17 14:44
 */
public interface IStatisticConfigService extends IService<StatisticConfig> {
    /**
     * ç»Ÿè®¡åˆ†æžä¿å­˜
     * @param statisticConfigs æ•°æ®ä¼ è¾“对象
     * @return æ•°æ®è¿”回
     */
    R saveStatisticConfig(List<StatisticConfig> statisticConfigs);
    /**
     * ç»Ÿè®¡åˆ†æžåˆ é™¤å›¾å½¢
     * @param btmname ä¸šåŠ¡ç±»åž‹
     * @param chartId å›¾å½¢ID
     * @return æˆåŠŸä¸Žå¦
     */
    R deleteChartId(String btmname, String chartId);
    /**
     * èŽ·å–ç”¨æˆ·é…ç½®çš„ä¸šåŠ¡ç±»åž‹ä¸Žç›¸å…³çš„å›¾å½¢
     * @return å›¾å½¢æ•°æ®ä¸Žä¸šåŠ¡ç±»åž‹ID
     */
    R getBtmAndChartIds();
}
Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/StatisticConfigServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,104 @@
package com.vci.ubcs.system.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.vci.ubcs.system.entity.MdmCountConfig;
import com.vci.ubcs.system.entity.StatisticConfig;
import com.vci.ubcs.system.mapper.MdmCountConfigMapper;
import com.vci.ubcs.system.mapper.StatisticConfigMapper;
import com.vci.ubcs.system.service.IMdmCountConfigService;
import com.vci.ubcs.system.service.IStatisticConfigService;
import com.vci.ubcs.system.vo.MdmCountConfigVO;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springblade.core.tool.utils.StringUtil;
import org.springframework.stereotype.Service;
import java.util.*;
import java.util.stream.Collectors;
/**
 * ä¸»æ•°æ®ç»Ÿè®¡é¦–页配置服务
 * @author ludc
 * @date 2023/10/17 14:45
 */
@Service
public class StatisticConfigServiceImpl extends ServiceImpl<StatisticConfigMapper, StatisticConfig> implements IStatisticConfigService {
    /**
     * ç»Ÿè®¡åˆ†æžä¿å­˜
     * @param statisticConfigs æ•°æ®ä¼ è¾“对象
     * @return æ•°æ®è¿”回
     */
    @Override
    public R saveStatisticConfig(List<StatisticConfig> statisticConfigs) {
        QueryWrapper<StatisticConfig> wrapper = new QueryWrapper<>();
        wrapper.eq("user_id", AuthUtil.getUser().getUserId());
        wrapper.in("btmname", statisticConfigs.stream().map(StatisticConfig::getBtmname).collect(Collectors.toList()));
        List<StatisticConfig> list = this.list(wrapper);
        statisticConfigs.stream().map(e ->{
            list.stream().filter(lis -> e.getBtmname().equals(lis.getBtmname())).forEach(lis->{
                    e.setId(lis.getId());
                    e.setTs(new Date());
                    e.setCreator(lis.getCreator());
                    e.setCreatetime(lis.getCreatetime());
                    e.setLastmodifier(String.valueOf(AuthUtil.getUser().getUserId()));
                    e.setLastmodifytime(new Date());
            });
            if(e.getId() == null){
                e.setUserId(AuthUtil.getUser().getUserId());
                e.setTs(new Date());
                e.setCreator(String.valueOf(AuthUtil.getUser().getUserId()));
                e.setCreatetime(new Date());
                e.setLastmodifier(String.valueOf(AuthUtil.getUser().getUserId()));
                e.setLastmodifytime(new Date());
            }
            return e;
        }).collect(Collectors.toList());
        this.saveOrUpdateBatch(statisticConfigs);
        return R.success("操作成功!");
    }
    /**
     * ç»Ÿè®¡åˆ†æžåˆ é™¤å›¾å½¢
     * @param btmname ä¸šåŠ¡ç±»åž‹
     * @param chartId å›¾å½¢ID
     * @return æˆåŠŸä¸Žå¦
     */
    @Override
    public R deleteChartId(String btmname, String chartId) {
        QueryWrapper<StatisticConfig> wrapper = new QueryWrapper<>();
        wrapper.eq("user_id", AuthUtil.getUser().getUserId());
        wrapper.in("btmname",btmname);
        StatisticConfig statisticConfig = this.getOne(wrapper);
        if(StringUtil.isBlank(statisticConfig.getChartIds())){
            throw new ServiceException("未查到历史相关图形数据,请先保存!!");
        }
        List<String> chartIds = new ArrayList(Arrays.asList(statisticConfig.getChartIds().split(",")));
        chartIds.remove(chartId);
        statisticConfig.setChartIds(chartIds.stream().collect(Collectors.joining(",")));
        this.updateById(statisticConfig);
        return R.success("操作成功!!");
    }
    /**
     * èŽ·å–ç”¨æˆ·é…ç½®çš„ä¸šåŠ¡ç±»åž‹ä¸Žç›¸å…³çš„å›¾å½¢
     * @return å›¾å½¢æ•°æ®ä¸Žä¸šåŠ¡ç±»åž‹ID
     */
    @Override
    public R getBtmAndChartIds() {
        QueryWrapper<StatisticConfig> wrapper = new QueryWrapper<>();
        wrapper.eq("user_id", AuthUtil.getUser().getUserId());
        List<StatisticConfig> list = this.list(wrapper);
        Map<String, String> collect = list.stream().collect(Collectors.toMap(StatisticConfig::getBtmname, StatisticConfig::getChartIds));
        return R.data(collect);
    }
}
Source/UBCS/ubcs-service/ubcs-system/src/main/resources/mapper/StatisticConfigMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.vci.ubcs.system.mapper.StatisticConfigMapper">
</mapper>