Parcourir la source

张丁 修改预约票、作业票bug

zhangding il y a 3 ans
Parent
commit
7d72147d64

+ 37 - 0
master/src/main/java/com/ruoyi/project/ehs/controller/TJobticketController.java

@@ -122,6 +122,24 @@ public class TJobticketController extends BaseController
     @PostMapping
     public AjaxResult add(@RequestBody TJobticket tJobticket)
     {
+        ISysUserService sysUserService = (ISysUserService) SpringContextUtils.getBean("sysUserService");
+        StringBuilder contentUserUnit=new StringBuilder();
+        List<SysDictData> book_user_unit = iSysDictTypeService.selectDictDataByType("book_user_unit");
+
+        if(tJobticket.getUserUnit()!=null){
+            for (SysDictData p : book_user_unit) {
+                if (tJobticket.getUserUnit().toString().equals(p.getDictValue())) {
+                    contentUserUnit.append(p.getDictLabel());//用户单位
+                }
+            }
+
+        }
+        if(tJobticket.getUserMg()!=null){
+            SysUser sysUser =sysUserService.selectUserById(tJobticket.getUserMg());
+            contentUserUnit.append(sysUser.getNickName());
+
+        }
+        tJobticket.setByclxr(contentUserUnit.toString());
         tJobticket.setCreaterCode(getUserId().toString());
         return toAjax(tJobticketService.insertTJobticket(tJobticket));
     }
@@ -169,6 +187,7 @@ public class TJobticketController extends BaseController
             tJobticket.setGczyxkzh(tInvoiceWorkcontent.getGczyxkzh());
             tJobticket.setGczyjb(tInvoiceWorkcontent.getGczyjb());
             tJobticket.setDhzyxkzh(tInvoiceWorkcontent.getDhzyxkzh());
+            tJobticket.setZypzt("10");
             tJobticketService.insertTJobticket(tJobticket);
             contentUserUnit.delete(0, contentUserUnit.length());
         }
@@ -183,6 +202,24 @@ public class TJobticketController extends BaseController
     @PutMapping
     public AjaxResult edit(@RequestBody TJobticket tJobticket)
     {
+        ISysUserService sysUserService = (ISysUserService) SpringContextUtils.getBean("sysUserService");
+        StringBuilder contentUserUnit=new StringBuilder();
+        List<SysDictData> book_user_unit = iSysDictTypeService.selectDictDataByType("book_user_unit");
+
+        if(tJobticket.getUserUnit()!=null){
+            for (SysDictData p : book_user_unit) {
+                if (tJobticket.getUserUnit().toString().equals(p.getDictValue())) {
+                    contentUserUnit.append(p.getDictLabel());//用户单位
+                }
+            }
+
+        }
+        if(tJobticket.getUserMg()!=null){
+            SysUser sysUser =sysUserService.selectUserById(tJobticket.getUserMg());
+            contentUserUnit.append(sysUser.getNickName());
+
+        }
+        tJobticket.setByclxr(contentUserUnit.toString());
         tJobticket.setUpdaterCode(getUserId().toString());
         tJobticket.setUpdatedate(new Date());
         return toAjax(tJobticketService.updateTJobticket(tJobticket));

+ 32 - 1
master/src/main/java/com/ruoyi/project/ehs/domain/TJobticket.java

@@ -162,6 +162,15 @@ public class TJobticket extends BaseEntity
     @Excel(name = "新票/续票次数限制")
     private Long postponeNumber;
 
+    /** 用户主管 */
+    @Excel(name = "用户主管")
+    private Long userMg;
+
+    /** 用户单位 */
+    @Excel(name = "用户单位")
+    private Long userUnit;
+
+
     public void setId(Long id)
     {
         this.id = id;
@@ -474,6 +483,27 @@ public class TJobticket extends BaseEntity
         return gczyjb;
     }
 
+    public void setUserMg(Long userMg)
+    {
+        this.userMg = userMg;
+    }
+
+    public Long getUserMg()
+    {
+        return userMg;
+    }
+
+    public void setUserUnit(Long userUnit)
+    {
+        this.userUnit = userUnit;
+    }
+
+    public Long getUserUnit()
+    {
+        return userUnit;
+    }
+
+
     @Override
     public String toString() {
         return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
@@ -513,7 +543,8 @@ public class TJobticket extends BaseEntity
                 .append("gczyxkzh", getGczyxkzh())
                 .append("gczyjb", getGczyjb())
                 .append("postponeNumber", getPostponeNumber())
-
+                .append("userMg", getUserMg())
+                .append("userUnit", getUserUnit())
             .toString();
     }
 

+ 11 - 1
master/src/main/resources/mybatis/ehs/TJobticketMapper.xml

@@ -42,11 +42,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="gczyxkzh"    column="gczyxkzh"    />
         <result property="gczyjb"    column="gczyjb"    />
         <result property="postponeNumber"    column="postpone_number"    />
+        <result property="userMg"    column="user_mg"    />
+        <result property="userUnit"    column="user_unit"    />
     </resultMap>
 
     <sql id="selectTJobticketVo">
         select d.id, d.plant_code, d.kprq, d.qfsj, d.qfbz, d.qfr, d.xpxp, d.yqxkzh, d.whgzxkzh, d.dhzyxkzh, d.hpjb, d.xzkjxkzh, d.content, d.byclxr, d.sgdw, d.lxr, d.lxdh, d.xpsj, d.zypzt, d.jccdr, d.wcxxbh, d.wcxzt, d.cxsj,
-               d.mbzyxkzh,d.gczyxkzh,d.gczyjb,d.postpone_number, d.del_flag, d.creater_code, d.createdate, d.updater_code, d.updatedate, d.dept_id, d.remarks ,s.dept_name from t_jobticket d
+               d.mbzyxkzh,d.gczyxkzh,d.gczyjb,d.postpone_number,d.user_mg,d.user_unit, d.del_flag, d.creater_code, d.createdate, d.updater_code, d.updatedate, d.dept_id, d.remarks ,s.dept_name from t_jobticket d
       left join sys_dept s on s.dept_id = d.dept_id
     </sql>
 
@@ -64,6 +66,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="gczyxkzh != null  and gczyxkzh != ''"> and gczyxkzh = #{gczyxkzh}</if>
             <if test="gczyjb != null  and gczyjb != ''"> and gczyjb = #{gczyjb}</if>
             <if test="postponeNumber != null "> and postpone_number = #{postponeNumber}</if>
+            <if test="userMg != null "> and user_mg = #{userMg}</if>
+            <if test="userUnit != null "> and user_unit = #{userUnit}</if>
             and d.del_flag = 0
         </where>
         <!-- 数据范围过滤 -->
@@ -116,6 +120,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="gczyxkzh != null">gczyxkzh,</if>
             <if test="gczyjb != null">gczyjb,</if>
             <if test="postponeNumber != null">postpone_number,</if>
+            <if test="userMg != null">user_mg,</if>
+            <if test="userUnit != null">user_unit,</if>
          </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="id != null">#{id},</if>
@@ -152,6 +158,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="gczyxkzh != null">#{gczyxkzh},</if>
             <if test="gczyjb != null">#{gczyjb},</if>
             <if test="postponeNumber != null">#{postponeNumber},</if>
+            <if test="userMg != null">#{userMg},</if>
+            <if test="userUnit != null">#{userUnit},</if>
          </trim>
     </insert>
 
@@ -191,6 +199,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="gczyxkzh != null">gczyxkzh = #{gczyxkzh},</if>
             <if test="gczyjb != null">gczyjb = #{gczyjb},</if>
             <if test="postponeNumber != null">postpone_number = #{postponeNumber},</if>
+            <if test="userMg != null">user_mg = #{userMg},</if>
+            <if test="userUnit != null">user_unit = #{userUnit},</if>
         </trim>
         where id = #{id}
     </update>

+ 0 - 9
ui/src/api/invoice/bookingworkticket.js

@@ -77,12 +77,3 @@ export function assion(id) {
     method: 'get',
   })
 }
-
-// 查询承包商列表
-export function selectChengbaoshang(query) {
-  return request({
-    url: '/invoice/contractor/select',
-    method: 'get',
-    params: query
-  })
-}

+ 80 - 13
ui/src/views/ehs/jobticket/index.vue

@@ -124,18 +124,18 @@
       <el-table-column :label="$t('签发时间')" align="center" prop="qfsj" :show-overflow-tooltip="true"/>
       <el-table-column :label="$t('签发班组')" align="center" prop="qfbz" :formatter="qfbzFormat" />
       <el-table-column :label="$t('签发人')" align="center" prop="qfr" :show-overflow-tooltip="true"/>
-      <el-table-column :label="$t('内容')" align="center" prop="content" width="300" :show-overflow-tooltip="true"/>
-      <el-table-column :label="$t('施工单位')" align="center" prop="sgdw" :show-overflow-tooltip="true"/>
       <el-table-column :label="$t('新票/续票')" align="center" prop="xpxp" width="100" :formatter="xpxpFormat" />
       <el-table-column :label="$t('延期许可证号')" align="center" prop="yqxkzh" width="100" :show-overflow-tooltip="true"/>
       <el-table-column :label="$t('危害工作许可证号')" align="center" prop="whgzxkzh" width="100" :show-overflow-tooltip="true"/>
       <el-table-column :label="$t('动火作业许可证号')" align="center" prop="dhzyxkzh" width="100" :show-overflow-tooltip="true"/>
       <el-table-column :label="$t('火票级别')" align="center" prop="hpjb" :formatter="hpjbFormat" />
       <el-table-column :label="$t('限制空间许可证号')" align="center" prop="xzkjxkzh" :show-overflow-tooltip="true"/>
-       <el-table-column label="盲板作业许可证号" align="center" prop="mbzyxkzh" :show-overflow-tooltip="true"/>
+      <el-table-column label="盲板作业许可证号" align="center" prop="mbzyxkzh" :show-overflow-tooltip="true"/>
       <el-table-column label="高处作业许可证号" align="center" prop="gczyxkzh" :show-overflow-tooltip="true"/>
       <el-table-column label="高处作业级别" align="center" prop="gczyjb" :formatter="gczyjbFormat"/>
+      <el-table-column :label="$t('工作内容')" align="center" prop="content" width="300" :show-overflow-tooltip="true"/>
       <el-table-column :label="$t('BYC负责单位/联系人')" align="center" prop="byclxr" width="100" :show-overflow-tooltip="true"/>
+      <el-table-column :label="$t('施工单位')" align="center" prop="sgdw" :show-overflow-tooltip="true"/>
       <el-table-column :label="$t('联系人')" align="center" prop="lxr" :show-overflow-tooltip="true"/>
       <el-table-column :label="$t('联系电话')" align="center" prop="lxdh" width="100" :show-overflow-tooltip="true"/>
       <el-table-column :label="$t('销票时间')" align="center" prop="xpsj" width="100">
@@ -283,11 +283,28 @@
         <el-form-item :label="$t('内容')" prop="content">
           <el-input v-model="form.content" :placeholder="$t('请输入') + $t('内容')" />
         </el-form-item>
-        <el-form-item :label="$t('BYC负责单位/联系人')" prop="byclxr">
-          <el-input v-model="form.byclxr" :placeholder="$t('请输入') + $t('BYC负责单位/联系人')" />
+          <el-form-item label="用户单位" prop="userUnit">
+          <el-select v-model="form.userUnit" placeholder="请选择用户单位" @change="checkCategoryPromotionUpdate(form.userUnit)">
+             <el-option
+            v-for="dict in userUnitOptions"
+            :key="dict.dictValue"
+            :label="dict.dictLabel"
+            :value="parseInt(dict.dictValue)"
+             ></el-option>
+          </el-select>
+        </el-form-item>
+          <el-form-item label="用户主管" prop="userMg">
+          <el-select v-model="form.userMg" placeholder="请先选择好用户单位" @change="pick">
+             <el-option
+              v-for="dict in userMgOptions"
+            :key="dict.userId"
+            :label="dict.nickName"
+            :value="dict.userId"
+            ></el-option>
+          </el-select>
         </el-form-item>
         <el-form-item :label="$t('施工单位')" prop="sgdw">
-          <el-select v-model="form.sgdw" placeholder="请选择施工单位" @change="checkCategoryPromotion(form.sgdw)">
+          <el-select v-model="form.sgdw" placeholder="请选择施工单位" @change="selectworkUnit(form.sgdw)">
              <el-option
             v-for="dict in sgdwOptions"
             :key="dict.id"
@@ -468,16 +485,33 @@
         <el-form-item :label="$t('内容')" prop="content">
           <el-input v-model="postponeform.content" :placeholder="$t('请输入') + $t('内容')" />
         </el-form-item>
-        <el-form-item :label="$t('BYC负责单位/联系人')" prop="byclxr">
-          <el-input v-model="postponeform.byclxr" :placeholder="$t('请输入') + $t('BYC负责单位/联系人')" />
+        <el-form-item label="用户单位" prop="userUnit">
+          <el-select v-model="postponeform.userUnit" placeholder="请选择用户单位" @change="checkCategoryPromotionUpdate(postponeform.userUnit)">
+             <el-option
+            v-for="dict in userUnitOptions"
+            :key="dict.dictValue"
+            :label="dict.dictLabel"
+            :value="parseInt(dict.dictValue)"
+             ></el-option>
+          </el-select>
+        </el-form-item>
+          <el-form-item label="用户主管" prop="userMg">
+          <el-select v-model="postponeform.userMg" placeholder="请先选择好用户单位">
+             <el-option
+              v-for="dict in userMgOptions"
+            :key="dict.userId"
+            :label="dict.nickName"
+            :value="dict.userId"
+            ></el-option>
+          </el-select>
         </el-form-item>
         <el-form-item :label="$t('施工单位')" prop="sgdw">
-          <el-select v-model="postponeform.sgdw" placeholder="请选择施工单位" @change="checkCategoryPromotion(form.sgdw)">
+          <el-select v-model="postponeform.sgdw" placeholder="请选择施工单位" @change="selectworkUnit(form.sgdw)">
              <el-option
             v-for="dict in sgdwOptions"
             :key="dict.id"
             :label="dict.label"
-            :value="dict.id"
+            :value="dict.label"
                  ></el-option>
           </el-select>
         </el-form-item>
@@ -546,6 +580,7 @@
 
 <script>
 import { listJobticket, getJobticket, delJobticket, addJobticket, updateJobticket, exportJobticket ,selectChengbaoshang} from "@/api/ehs/jobticket";
+import { listUnit, getUnit, delUnit, addUnit, updateUnit, exportUnit,getUserByUnit} from "@/api/invoice/unit";
 import { treeselect,getDept } from "@/api/system/dept";
 import { getToken } from "@/utils/auth";
 import Treeselect from "@riophae/vue-treeselect";
@@ -601,6 +636,10 @@ export default {
       wcxztOptions:[],
       //施工单位字典
       sgdwOptions:[],
+        // 用户单位字典
+      userUnitOptions: [],
+       // 用户主管字典
+      userMgOptions: [],
       // 用户导入参数
       upload: {
         //下载模板请求地址
@@ -739,9 +778,35 @@ export default {
     this.getDicts("TICKED_WCXZT").then(response => {
       this.wcxztOptions = response.data;
     });
+     this.getDicts("book_user_unit").then(response => {
+      this.userUnitOptions = response.data;
+    });
   },
   methods: {
-      checkCategoryPromotion(oneId){
+     //根据用户单位 查询对应选择的用户主管  根据用户单位 字段 查找对应的多个主管 返回 Sysuser的集合(id,name)
+        checkCategoryPromotion(oneId){
+
+      getUserByUnit(oneId).then(response => {
+   //     this.form.userMg=null;
+        this.userMgOptions = response.data;
+        //   let arr=  response.data.userIds.split(',');
+      });
+        },
+        //修改用户单位时,级联的用户主管下拉数据应清空,否则会造成用户修改了用户单位,但未重新选择相应的用户主管
+         checkCategoryPromotionUpdate(oneId){
+         this.form.userMg=null;
+         
+      getUserByUnit(oneId).then(response => {
+   //     this.form.userMg=null;
+        this.userMgOptions = response.data;
+        //   let arr=  response.data.userIds.split(',');
+      });
+        },
+        pick(){
+          this.$forceUpdate()
+        },
+        //
+      selectworkUnit(oneId){
 
       getDept(oneId).then(response => {
  
@@ -761,6 +826,7 @@ export default {
        const id = row.id || this.ids
        getJobticket(id).then(response => {
         this.postponeform = response.data;
+         this.checkCategoryPromotion(response.data.userUnit);
       });
        this.postponeParams=row
     
@@ -813,10 +879,10 @@ export default {
         return "background-color:rgba(255,63,0, 0.6);"
       }
       if ( row.zypzt == 18||row.zypzt==14){
-        return "background-color:rgba(221,248,9, 0.6);"
+        return "background-color:rgba(21,180,51, 0.6);"
       }
       if (row.zypzt == 16){
-        return "background-color:rgba(21,180,51, 0.6);"
+        return "background-color:rgba(221,248,9, 0.6);"
       }
       if (row.zypzt == 20){
         return "background-color:rgba(163, 150,150, 0.6);"
@@ -1011,6 +1077,7 @@ export default {
       const id = row.id || this.ids
       getJobticket(id).then(response => {
         this.form = response.data;
+        this.checkCategoryPromotion(this.form.userUnit);
         this.open = true;
         this.title = this.$t('修改') + this.$t('工作票');
       });