Переглянути джерело

feat:单次任务添加查看合同页面添加结果情况,添加任务情况,添加导入

ly 11 місяців тому
батько
коміт
c6d4430f4f

+ 14 - 8
src/main/java/cn/ezhizao/project/business/onwork/controller/BizOnceworkDetailController.java

@@ -37,12 +37,11 @@ public class BizOnceworkDetailController extends BaseController
     /**
      * 查询单次任务进度详情列表
      */
-    @PreAuthorize("@ss.hasPermi('business:detail:list')")
+    @PreAuthorize("@ss.hasPermi('business:OnWorkDetail:list')")
     @GetMapping("/list")
     public TableDataInfo list(BizOnceworkDetail bizOnceworkDetail) throws NoSuchFieldException, IllegalAccessException
     {
         setTenantId(bizOnceworkDetail);
-        startPage();
         List<BizOnceworkDetail> list = bizOnceworkDetailService.getList(bizOnceworkDetail);
         return getDataTable(list);
     }
@@ -50,7 +49,7 @@ public class BizOnceworkDetailController extends BaseController
     /**
      * 导出单次任务进度详情列表
      */
-    @PreAuthorize("@ss.hasPermi('business:detail:export')")
+    @PreAuthorize("@ss.hasPermi('business:OnWorkDetail:export')")
     @Log(title = "单次任务进度详情", businessType = BusinessType.EXPORT)
     @PostMapping("/export")
     public void export(HttpServletResponse response, BizOnceworkDetail bizOnceworkDetail) throws NoSuchFieldException, IllegalAccessException
@@ -64,7 +63,7 @@ public class BizOnceworkDetailController extends BaseController
     /**
      * 获取单次任务进度详情详细信息
      */
-    @PreAuthorize("@ss.hasPermi('business:detail:query')")
+    @PreAuthorize("@ss.hasPermi('business:OnWorkDetail:list')")
     @GetMapping(value = "/{id}")
     public AjaxResult getInfo(@PathVariable("id") Long id)
     {
@@ -74,7 +73,7 @@ public class BizOnceworkDetailController extends BaseController
     /**
      * 新增单次任务进度详情
      */
-    @PreAuthorize("@ss.hasPermi('business:detail:add')")
+    @PreAuthorize("@ss.hasPermi('business:OnWorkDetail:insert')")
     @Log(title = "单次任务进度详情", businessType = BusinessType.INSERT)
     @PostMapping
     public AjaxResult add(@RequestBody BizOnceworkDetail bizOnceworkDetail) throws NoSuchFieldException, IllegalAccessException
@@ -86,7 +85,7 @@ public class BizOnceworkDetailController extends BaseController
     /**
      * 修改单次任务进度详情
      */
-    @PreAuthorize("@ss.hasPermi('business:detail:edit')")
+    @PreAuthorize("@ss.hasPermi('business:OnWorkDetail:edit')")
     @Log(title = "单次任务进度详情", businessType = BusinessType.UPDATE)
     @PutMapping
     public AjaxResult edit(@RequestBody BizOnceworkDetail bizOnceworkDetail) throws NoSuchFieldException, IllegalAccessException
@@ -98,14 +97,14 @@ public class BizOnceworkDetailController extends BaseController
     /**
      * 删除单次任务进度详情
      */
-    @PreAuthorize("@ss.hasPermi('business:detail:remove')")
+    @PreAuthorize("@ss.hasPermi('business:OnWorkDetail:remove')")
     @Log(title = "单次任务进度详情", businessType = BusinessType.DELETE)
 	@DeleteMapping("/{ids}")
     public AjaxResult remove(@PathVariable List<Long> ids)
     {
         return toAjax(bizOnceworkDetailService.removeBatchByIds(ids));
     }
-    @PreAuthorize("@ss.hasPermi('business:detail:remove')")
+    @PreAuthorize("@ss.hasPermi('business:OnWorkDetail:insert')")
     @Log(title = "单次任务添加", businessType = BusinessType.INSERT)
     @RequestMapping("/addOnWorkDetail")
     public AjaxResult addOnWorkDetail(@RequestBody BizOnceworkDetail bizOnceworkDetail){
@@ -114,4 +113,11 @@ public class BizOnceworkDetailController extends BaseController
         bizOnceworkDetail.setUserId(getUserId());
         return success(bizOnceworkDetailService.save(bizOnceworkDetail));
     }
+    @PreAuthorize("@ss.hasPermi('business:OnWorkDetail:edit')")
+    @Log(title = "单次任务详情修改", businessType = BusinessType.INSERT)
+    @RequestMapping("/updateOnWorkDetail")
+    public AjaxResult updateOnWorkDetail(@RequestBody BizOnceworkDetail bizOnceworkDetail){
+        return success(bizOnceworkDetailService.updateById(bizOnceworkDetail));
+    }
+
 }

+ 63 - 2
src/main/java/cn/ezhizao/project/business/workOrder/controller/OnceWorkOrderProductionController.java

@@ -10,19 +10,23 @@ import cn.ezhizao.framework.web.domain.AjaxResult;
 import cn.ezhizao.framework.web.page.TableDataInfo;
 import cn.ezhizao.project.business.entrust.domain.BizEntrust;
 import cn.ezhizao.project.business.entrust.service.IBizEntrustService;
+import cn.ezhizao.project.business.workOrder.domain.BizRecordStatusVo;
 import cn.ezhizao.project.business.workOrder.domain.BizWorkOrder;
 import cn.ezhizao.project.business.workOrder.domain.BizWorkOrderRecord;
 import cn.ezhizao.project.business.workOrder.service.IBizWorkOrderRecordService;
 import cn.ezhizao.project.business.workOrder.service.IBizWorkOrderService;
 import cn.ezhizao.project.system.domain.SysDictData;
+import cn.ezhizao.project.system.domain.SysFileStorage;
 import cn.ezhizao.project.system.domain.SysUser;
 import cn.ezhizao.project.system.mapper.SysUserMapper;
 import cn.ezhizao.project.system.service.ISysDictDataService;
+import cn.ezhizao.project.system.service.ISysFileStorageService;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
@@ -42,7 +46,8 @@ public class OnceWorkOrderProductionController extends BaseController {
     IBizWorkOrderRecordService workOrderRecordService;
     @Resource
     private SysUserMapper sysUserMapper;
-
+    @Resource
+    private ISysFileStorageService sysFileStorageService;
     @Resource
     private ISysDictDataService sysDictDataService;
 
@@ -127,10 +132,20 @@ public class OnceWorkOrderProductionController extends BaseController {
                 case 0:
                     l.setStatusType("未开始");
                     break;
-
+                case 1:
+                    l.setStatusType("办理中");
                 case 3:
                     l.setStatusType("已完成");
                     break;
+                case 5:
+                    l.setStatusType("终止任务");
+                    break;
+                case 6:
+                    l.setStatusType("完成任务");
+                    break;
+                case 7:
+                    l.setStatusType("暂停办理");
+                    break;
                 default:
                     break;
             }
@@ -196,4 +211,50 @@ public class OnceWorkOrderProductionController extends BaseController {
         }
         return toAjax(workOrderRecordService.saveOrUpdate(record));
     }
+
+    @RequestMapping("updateRecordStatus")
+    public AjaxResult updateRecordStatus(@RequestBody BizRecordStatusVo statusVo) {
+        //通过workorderid 获取record的数据
+        List<BizWorkOrderRecord> bizWorkOrderRecordList = workOrderRecordService
+                .query()
+                .eq("work_order_id", statusVo.getWorkOrderId())
+                .list();
+        BizWorkOrderRecord bizWorkOrderRecord = bizWorkOrderRecordList.get(0);
+
+        //查询是否是当前办理人办理
+        if (!bizWorkOrderRecord.getHandlerId().equals(SecurityUtils.getUserId())){
+            return error("只能由当前办理人办理");
+        }
+
+        //把文件地址放到数据库里
+        if(null != statusVo.getSysFileStorage().getFileUrl()){
+            SysFileStorage sysFileStorage = statusVo.getSysFileStorage();
+            sysFileStorage.setMasterId(statusVo.getWorkOrderId());
+            sysFileStorage.setMasterTableName("biz_work_order_record");
+            sysFileStorageService.save(sysFileStorage);
+        }
+        //更新状态
+        bizWorkOrderRecord.setStatus(statusVo.getRecordStatus());
+        return success(workOrderRecordService.updateById(bizWorkOrderRecord));
+    }
+    @RequestMapping("FileList")
+    public AjaxResult FileList(@RequestBody SysFileStorage sysFileStorage){
+        return success(sysFileStorageService.query()
+                .eq("master_id", sysFileStorage.getMasterId())
+                .eq("master_table_name",sysFileStorage.getMasterTableName())
+                .list());
+    }
+    @RequestMapping("continueHandle")
+    public AjaxResult continueHandle(@RequestBody Long workOrderId) {
+        //通过workorderid 获取record的数据
+        List<BizWorkOrderRecord> bizWorkOrderRecordList = workOrderRecordService
+                .query()
+                .eq("work_order_id", workOrderId)
+                .list();
+        BizWorkOrderRecord bizWorkOrderRecord = bizWorkOrderRecordList.get(0);
+        bizWorkOrderRecord.setStatus(1);
+        bizWorkOrderRecord.setHandlerId(SecurityUtils.getUserId());
+        workOrderRecordService.updateById(bizWorkOrderRecord);
+        return success("继续办理成功");
+    }
 }

+ 7 - 0
src/main/java/cn/ezhizao/project/business/workOrder/domain/BizRecordStatusVo.java

@@ -1,4 +1,11 @@
 package cn.ezhizao.project.business.workOrder.domain;
 
+import cn.ezhizao.project.system.domain.SysFileStorage;
+import lombok.Data;
+
+@Data
 public class BizRecordStatusVo {
+    private Long workOrderId;
+    private Integer recordStatus;
+    private SysFileStorage sysFileStorage;
 }

+ 7 - 0
src/main/java/cn/ezhizao/project/business/workOrder/domain/BizWorkOrder.java

@@ -9,6 +9,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import java.math.BigDecimal;
 import java.util.Date;
 import java.util.List;
 
@@ -267,4 +268,10 @@ public class BizWorkOrder extends BaseEntity {
 
     @TableField(exist = false)
     private String accountName;
+    @TableField(exist = false)
+    @Excel(name = "收款金额", sort = 11)
+    private BigDecimal arriveAmount;
+    @TableField(exist = false)
+    @Excel(name = "结果情况", sort = 12)
+    private String onWorkDetail;
 }

+ 1 - 0
src/main/resources/mybatis/business/BizOnceworkDetailMapper.xml

@@ -18,6 +18,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="recordDetail != null  and recordDetail != ''"> AND record_detail = #{recordDetail}</if>
             <if test="userName != null  and userName != ''"> AND user_name like concat('%', #{userName}, '%')</if>
         </trim>
+        order by create_time desc
     </select>
 
     <delete id="physicalDelete">

+ 17 - 2
src/main/resources/mybatis/business/BizWorkOrderMapper.xml

@@ -6,8 +6,16 @@
 
     <resultMap type="cn.ezhizao.project.business.workOrder.domain.BizWorkOrder" id="BizWorkOrderResult">
         <id column="id" property="id"/>
+        <id column="contract_id" property="contractId"/>
+
         <association property="record" column="id" select="getRecord"
                      javaType="cn.ezhizao.project.business.workOrder.domain.BizWorkOrderRecord"/>
+
+        <association property="arriveAmount" column="contract_id" select="getReceive"
+                     javaType="java.math.BigDecimal"/>
+
+        <association property="onWorkDetail" column="id" select="getOnWorkDetail"
+                     javaType="java.lang.String"/>
     </resultMap>
 
     <resultMap id="RecordResult" type="cn.ezhizao.project.business.workOrder.domain.BizWorkOrderRecord">
@@ -24,8 +32,15 @@
           and t1.from_id = 0
           and t1.work_order_id = #{id}
     </select>
-
-
+    <select id="getReceive" resultType="java.math.BigDecimal">
+        select ifnull(sum(arrive_amount),0) as arriveAmount from biz_collection
+        where contract_id = #{contract_id}
+        and status = 1
+        group by contract_id
+    </select>
+    <select id="getOnWorkDetail" resultType="java.lang.String">
+        select record_detail from biz_oncework_detail where work_order_id = #{id} order by create_time desc limit 1
+    </select>
     <select id="getList" parameterType="BizWorkOrder" resultMap="BizWorkOrderResult">
         SELECT CONCAT(t1.remark, t3.name, t4.name) AS contact_info,if(t7.status is null,0,t7.`status`),t1.*, t2.name as
         company_name, t2.social_credit_code,