廖井涛
2024-08-22 9da523001f61c6c6e777594c3c95c14d249abad4
Merge branch 'master' of http://bore.pub:10439/r/ERP_override
25个文件已修改
413 ■■■■■ 已修改文件
north-glass-erp/northglass-erp/src/components/pp/PrintProcess.vue 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/components/pp/PrintProcessReplenish.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/components/pp/PrintReworkProcess.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/Replenish/SelectReplenish.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/processCard/AddProcessCard.vue 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/processCard/SelectProcessCard.vue 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/report/TeamOutput.vue 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/rework/AddRework.vue 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/rework/SelectRework.vue 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/sd/order/UpdateOrderCraft.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/controller/pp/ProcessCardController.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/controller/pp/ReplenishController.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/controller/pp/ReworkController.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/dto/pp/TeamOutputDTO.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/mapper/pp/PatchLogMapper.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/mapper/pp/ReworkMapper.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/service/pp/ReplenishService.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/service/pp/ReportService.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/service/pp/ReworkService.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/resources/mapper/pp/BasicDataProduce.xml 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/resources/mapper/pp/PatchLogMapper.xml 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/resources/mapper/pp/Report.xml 145 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/resources/mapper/pp/ReworkMapper.xml 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/components/pp/PrintProcess.vue
@@ -191,7 +191,7 @@
<template>
  <!--  <el-button id="printButton" @click="printFlowCard();">{{ $t('basicData.print') }}</el-button>-->
  <div id="printFlowCard">
    <table v-for="(item,id) in produceList" id="contentTable" :key="id">
    <table v-for="(item,id) in produceList" id="contentTable" :key="id" style="border-bottom: none">
      <thead>
      <tr v-for="(itemFlow,index) in item.detail" :key="index">
        <td  colspan="29">
@@ -347,23 +347,7 @@
        <td colspan="2"></td>
        <td colspan="2"></td>
      </tr>
      <tr>
        <td>质检签名</td>
        <td colspan="2"></td>
        <td colspan="2">生产签名</td>
        <td colspan="2"></td>
        <td colspan="2"></td>
        <td colspan="2"></td>
        <td colspan="2"></td>
        <td colspan="2"></td>
        <td colspan="2"></td>
        <td colspan="2"></td>
        <td colspan="2"></td>
        <td colspan="2"></td>
        <td colspan="2"></td>
        <td colspan="2"></td>
        <td colspan="2"></td>
      </tr>
      <tr>
        <td>原片箱号</td>
        <td colspan="28"></td>
@@ -404,9 +388,17 @@
          </div>
        </td>
      </tr>
      <tr style="border-bottom: none">
        <td colspan="29" style="text-align: left;border-bottom: none;">
          <div>
            <span>质检签名:</span>
            <span style="margin-left: 300px">生产签名:</span>
          </div>
        </td>
      </tr>
      </tfoot>
    </table>
  </div>
</template>
@@ -416,6 +408,7 @@
  margin: 0;
  padding: 0;
}
td,input{
  text-align: center;
}
north-glass-erp/northglass-erp/src/components/pp/PrintProcessReplenish.vue
@@ -352,6 +352,7 @@
            次破原因:{{itemtextarea.breakage_reason}}&nbsp;
            责任工序:{{itemtextarea.responsible_process}}&nbsp;
            责任班组:{{itemtextarea.responsible_team}}
            <span v-if="itemtextarea.responsible_personnel!=null">责任信息:{{itemtextarea.responsible_personnel}}</span>
          </div>
        </td>
north-glass-erp/northglass-erp/src/components/pp/PrintReworkProcess.vue
@@ -325,6 +325,7 @@
            次破原因:{{itemtextarea.breakage_reason}}&nbsp;
            责任工序:{{itemtextarea.responsible_process}}&nbsp;
            责任班组:{{itemtextarea.responsible_team}}
            <span v-if="itemtextarea.responsible_personnel!=null">责任信息:{{itemtextarea.responsible_personnel}}</span>
          </div>
        </td>
        <td>完工签名</td>
north-glass-erp/northglass-erp/src/views/pp/Replenish/SelectReplenish.vue
@@ -219,7 +219,6 @@
              return
            }
            let flowData = ref({
              userId:userid,
              userName:username,
              patchLog:selectRecords
north-glass-erp/northglass-erp/src/views/pp/processCard/AddProcessCard.vue
@@ -15,12 +15,14 @@
import {useI18n} from 'vue-i18n'
import footSum from "@/hook/footSum"
import {changeFilterEvent,filterChanged} from "@/hook"
import userInfo from "@/stores/userInfo"
//语言获取
const {t} = useI18n()
let productGlassTypeStore = useProductGlassTypeStore()
let router = useRouter()
const userStore = useUserInfoStore()
const username = userStore.user.userName
const user=userInfo()
let flag = $ref(true)
function intoCreateProduct() {
@@ -685,7 +687,8 @@
            let flowCardData = ref({
              flowCard: selectRecords,
              userName: username,
              productionId: productionId
              productionId: productionId,
              userId:user.user.userId
            })
            request.post("/processCard/addFlowCard", flowCardData.value).then((res) => {
north-glass-erp/northglass-erp/src/views/pp/processCard/SelectProcessCard.vue
@@ -15,9 +15,11 @@
import useUserInfoStore from '@/stores/userInfo'
import {toolbarButtonClickEvent} from "@/hook/mouseMove";
import footSum from "@/hook/footSum"
import userInfo from "@/stores/userInfo"
//语言获取
const {t} = useI18n()
const userStore = useUserInfoStore()
const user=userInfo()
let productGlassTypeStore = useProductGlassTypeStore()
let router = useRouter()
let props = defineProps({
@@ -32,7 +34,7 @@
      break
    }
    case 'delete': {
      request.post(`/processCard/deleteFlowCard/${row.orderId}/${row.processId}`).then((res) => {
      request.post(`/processCard/deleteFlowCard/${row.orderId}/${row.processId}/${user.user.userId}/${user.user.userName}`).then((res) => {
        if (res.code == 200 && res.data === true) {
          ElMessage.success(t('workOrder.deleteOk'))
          router.push({path: '/main/processCard/SelectProcessCard', query: {random: Math.random()}})
north-glass-erp/northglass-erp/src/views/pp/report/TeamOutput.vue
@@ -107,7 +107,7 @@
const selectPageList = () => {
  let startTime = form.date1[0]
  let endTime = form.date1[1]
  let selectProcesses = procseeValue.value
  request.post(`/report/teamOutput/${pageNum.value}/${total.pageSize}/${startTime}/${endTime}/${selectProcesses}`, filterData.value).then((res) => {
    if (res.code == 200) {
@@ -253,12 +253,10 @@
    {field: 'code', width: 60, title: t('reportingWorks.glassNumber')},
    {field: 'width', width: 100, title: t('order.width')},
    {field: 'height', width: 100, title: t('order.height')},
    {field: 'shape', width: 90, title: t('order.shape')},
    {field: 'thickness', width: 90, title: t('order.totalThickness')},
    {field: 'edgingType', width: 110, title: t('order.edgingType'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'completedQuantity', width: 90, title: t('reportingWorks.completedQuantity')},
    {field: 'area', width: 100, title: t('reportingWorks.completedArea')},
    {field: 'productName', width: 150, title: t('order.product')},
    {field: 'productName', title: t('order.product')},
  ],//表头按钮
  toolbarConfig: {
@@ -394,7 +392,6 @@
            :layouts="[  'PrevPage', 'Jump','PageCount', 'NextPage',  'Total']"
            :total="total.dataTotal"
            @page-change="handlePageChange"
        >
        </vxe-pager>
      </template>
north-glass-erp/northglass-erp/src/views/pp/rework/AddRework.vue
@@ -105,9 +105,11 @@
    {type: 'expand', fixed: "left", slots: {content: 'content'}, width: 50},
    {field: 'select',type:'checkbox',title: t('basicData.check'), width: 80,fixed:"left"},
    {type: 'seq', fixed: "left", title: t('basicData.Number'), width: 50},
    {field: 'reworkTeam', width: 120, title: t('rework.reworkTeam'), slots: {default: 'responsibleTeam_default', edit: 'responsibleTeam'}, editRender: {}},
    {field: 'orderId', width: 120, title: t('order.orderId'), sortable: true, showOverflow: "ellipsis", filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged},
    {field: 'processId', width: 120, title: t('processCard.processId'), sortable: true, filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged},
    {field: 'reworkTeam', width: 160, title: t('rework.reworkTeam'), slots: {default: 'responsibleTeam_default', edit: 'responsibleTeam'}, editRender: {}},
    {field: 'orderId', width: 130, title: t('order.orderId'), sortable: true, showOverflow: "ellipsis", filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged},
    {field: 'processId', width: 140, title: t('processCard.processId'), sortable: true, filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged},
    {field: 'orderSort', width: 120, title: t('order.OrderNum'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged},
    {field: 'technologyNumber', width: 110, title: t('replenish.mark'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }, showOverflow: "ellipsis",filterMethod:filterChanged},
    {field: 'project', width: 120, title: t('order.project'), filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true,filterMethod:filterChanged},
    {field: 'reworkProcesses', width: 120, title: t('rework.reworkProcess'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged},
    {field: 'reworkType', width: 120, title: t('rework.reworkType'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged},
@@ -115,9 +117,7 @@
    {field: 'responsibleEquipment', width: 120, title: t('reportingWorks.responsibleEquipment'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged},
    {field: 'responsibleTeam', width: 120, title: t('reportingWorks.responsibleTeam'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged},
    {field: 'batch', width: 90, title: t('order.batch'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }, showOverflow: "ellipsis",filterMethod:filterChanged},
    {field: 'orderSort', width: 120, title: t('order.OrderNum'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged},
    {field: 'technologyNumber', width: 110, title: t('replenish.mark'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }, showOverflow: "ellipsis",filterMethod:filterChanged},
    {field: 'glassAddress', width: 120, title: t('replenish.sliceMarking'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged},
   {field: 'glassAddress', width: 120, title: t('replenish.sliceMarking'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged},
    {field: 'breakageQuantity', width: 120, title: t('reportingWorks.quantityBroken'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged},
    {field: 'reworkNum',width:120,  title: t('productStock.reworkQuantity'),editRender: { name: 'input', attrs: { placeholder: '' } },filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'width', width: 80, title: t('order.width'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged},
north-glass-erp/northglass-erp/src/views/pp/rework/SelectRework.vue
@@ -144,14 +144,21 @@
    {field: 'create_time', width: 100, title: t('productStock.productionDate')},
    {field: 'update_time', width: 120, title: t('productStock.approvedDate')},
    {field: 'product_name', width: 120, title: t('order.product'), filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged},
    {field: 'reporting_work_id', width: 100,title: t('reportingWorks.reportingWorkId'),filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged},
  ],//表头按钮
  toolbarConfig: {
    buttons: [{
      'name': t('basicData.review'),status: 'primary',
      'code':'add'
    }],
    buttons: [
      {
        'name': t('basicData.review'),status: 'primary',
        'code':'add'
      },
      // {
      //   'name': t('basicData.delete'),status: 'primary',
      //   'code':'delete'
      // }
      ],
    /*import: false,
    export: true,
    print: true,*/
@@ -214,7 +221,34 @@
          return;
        }
        case 'delete': {
          const $table = xGrid.value
          if ($table) {
            const selectRecords = $table.getCheckboxRecords()
            if (selectRecords.length === 0) {
              ElMessage.warning(t('productStock.unselectedData'))
              return
            }
            let flowData = ref({
              userId:userid,
              userName:username,
              rework:selectRecords
            })
            request.post("/rework/deleteRework",flowData.value).then((res) => {
              if(res.code==200 && res.data===true){
                ElMessage.success(t('basicData.msg.deleteSuccess'))
                router.push({path:'/main/rework/SelectRework',query:{random:Math.random()}})
              }else{
                ElMessage.warning(t('basicData.msg.deleteFail'))
                router.push("/login")
              }
            })
          }
          return
        }
      }
    }
north-glass-erp/northglass-erp/src/views/sd/order/UpdateOrderCraft.vue
@@ -48,7 +48,7 @@
  columns:[
    {title: t('basicData.operate'), width: 220, slots: { default: 'button_slot' },fixed:"left",},
    {field: 'orderNumber',fixed:"left",width:120,  title: t('order.OrderNum'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
    {field: 'orderDetail.productId',fixed:"left",width:120,  title: t('order.productId'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
    {field: 'orderDetail.productId',fixed:"left",width:120,  title: t('order.productId'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
    {field: 'orderDetail.productName',fixed:"left",width:120,  title: t('order.product'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
    {field: 'technologyNumber',width:120, fixed:"left", title: t('craft.glassAddress'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
    {field: 'glassChild',width:120,  title: t('craft.glassChild'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
north-glass-erp/src/main/java/com/example/erp/controller/pp/ProcessCardController.java
@@ -65,10 +65,12 @@
    //删除流程卡
    @ApiOperation("删除流程卡接口")
    @SaCheckPermission("SelectProcessCard.delete")
    @PostMapping("/deleteFlowCard/{orderId}/{processId}")
    @PostMapping("/deleteFlowCard/{orderId}/{processId}/{userId}/{userName}")
    public Result deleteOrderWork(
            @PathVariable String orderId,
            @PathVariable String processId
            @PathVariable String processId,
            @PathVariable String userId,
            @PathVariable String userName
    ) {
//        if(flowCardService.deleteFlowCardSv(orderId,processId)){
//            return Result.seccess();
@@ -76,7 +78,7 @@
//            throw new ServiceException(Constants.Code_500,"删除失败,请检查是否已报工");
//
//        }
        return Result.seccess(flowCardService.deleteFlowCardSv(orderId, processId));
        return Result.seccess(flowCardService.deleteFlowCardSv(orderId, processId,userId,userName));
    }
    //修改排版状态
north-glass-erp/src/main/java/com/example/erp/controller/pp/ReplenishController.java
@@ -78,10 +78,10 @@
    }
//    @ApiOperation("补片删除接口")
//    @SaCheckPermission("SelectReplenish.review")
//    @PostMapping("/deleteReplenish")
//    public Result deleteReplenish( @RequestBody Map<String,Object> object){
//        return Result.seccess(replenishService.deleteReplenishSv(object));
//    }
    @ApiOperation("补片删除接口")
    @SaCheckPermission("SelectReplenish.delete")
    @PostMapping("/deleteReplenish")
    public Result deleteReplenish( @RequestBody Map<String,Object> object){
        return Result.seccess(replenishService.deleteReplenishSv(object));
    }
}
north-glass-erp/src/main/java/com/example/erp/controller/pp/ReworkController.java
@@ -68,4 +68,11 @@
        return Result.seccess(reworkService.selectPrintSv(selectTime1,selectTime2, flowCard));
    }
    @ApiOperation("返工删除接口")
    @SaCheckPermission("SelectRework.delete")
    @PostMapping("/deleteRework")
    public Result deleteRework( @RequestBody Map<String,Object> object){
        return Result.seccess(reworkService.deleteReworkSv(object));
    }
}
north-glass-erp/src/main/java/com/example/erp/dto/pp/TeamOutputDTO.java
@@ -25,10 +25,10 @@
    private String width;
    @ExcelProperty("高")
    private String height;
    @ExcelProperty("形状")
    private String shape;
    @ExcelProperty("厚度")
    private String thickness;
//    @ExcelProperty("形状")
//    private String shape;
//    @ExcelProperty("厚度")
//    private String thickness;
    @ExcelProperty("磨边类型")
    private String edgingType;
    @ExcelProperty("完工数量")
north-glass-erp/src/main/java/com/example/erp/mapper/pp/PatchLogMapper.java
@@ -2,7 +2,6 @@
import com.example.erp.entity.pp.PatchLog;
import com.example.erp.entity.pp.ReportingWork;
import com.example.erp.entity.pp.Rework;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@@ -34,5 +33,12 @@
    List<Map<String,Object>> getSelectReplenish(@Param("offset") Integer offset, @Param("pageSize") Integer pageSiz);
    Boolean deleteReplenishMp(String patchId);
    Boolean updatePatchDdMp(String reportingWorkId, String orderSort, Integer technologyNumber, Integer qualityInspector);
    Boolean updatePatchBgMp(String reportingWorkId, String orderSort, Integer technologyNumber);
}
north-glass-erp/src/main/java/com/example/erp/mapper/pp/ReworkMapper.java
@@ -31,5 +31,11 @@
    List<Map<String,Object>> getSelectReplenish(@Param("offset") Integer offset, @Param("pageSize") Integer pageSiz);
    Integer getMaxFlowCard(@Param("processId") String processId);
    Boolean deleteReworkMp(String reworkId);
    Boolean updateReworkDdMp(String reportingWorkId, String orderSort, Integer technologyNumber, Integer reworkNum);
    Boolean updateReworkBgMp(String reportingWorkId, String orderSort, Integer technologyNumber);
}
north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java
@@ -8,9 +8,11 @@
import com.example.erp.entity.pp.FlowCard;
import com.example.erp.entity.sd.OrderGlassDetail;
import com.example.erp.entity.sd.OrderProcessDetail;
import com.example.erp.entity.userInfo.Log;
import com.example.erp.mapper.pp.FlowCardMapper;
import com.example.erp.mapper.sd.OrderGlassDetailMapper;
import com.example.erp.mapper.sd.OrderProcessDetailMapper;
import com.example.erp.service.userInfo.LogService;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.stereotype.Service;
@@ -35,11 +37,14 @@
    OrderGlassDetailMapper orderGlassDetailMapper;
    final
    OrderProcessDetailMapper orderProcessDetailMapper;
    final
    LogService logService;
    public FlowCardService(FlowCardMapper flowCardMapper, OrderGlassDetailMapper orderGlassDetailMapper, OrderProcessDetailMapper orderProcessDetailMapper) {
    public FlowCardService(FlowCardMapper flowCardMapper, OrderGlassDetailMapper orderGlassDetailMapper, OrderProcessDetailMapper orderProcessDetailMapper,LogService logService) {
        this.flowCardMapper = flowCardMapper;
        this.orderGlassDetailMapper = orderGlassDetailMapper;
        this.orderProcessDetailMapper = orderProcessDetailMapper;
        this.logService= logService;
    }
    //流程卡管理查询
@@ -66,7 +71,7 @@
    }
    //删除流程卡
    public Boolean deleteFlowCardSv(String orderId, String processId) {
    public Boolean deleteFlowCardSv(String orderId, String processId, String userId, String userName) {
        if (!orderId.isEmpty() && !processId.isEmpty()) {
            //判断该流程卡是否报工
            Integer count = flowCardMapper.reportingWorkCount(processId);
@@ -87,6 +92,14 @@
                    //修改订单表分架状态为1,删除部分
                    flowCardMapper.updateProcessingCard(orderId, 1);
                }
                //保存日志
                Log log = new Log();
                log.setContent(orderId+processId);
                log.setFunction("deleteFlowCardSv流程卡删除");
                log.setOperatorId(userId);
                log.setOperator(userName);
                logService.saveLog(log);
                return true;
            } else {
                return false;
@@ -167,7 +180,13 @@
                //赋值订单工艺表
                orderProcessDetailMapper.insertOrderProcessDetail(orderProcessDetailList);
            }
            //保存日志
            Log log = new Log();
            log.setContent(object.toString());
            log.setFunction("addFlowCardSv流程卡新增");
            log.setOperatorId((String) object.get("userId"));
            log.setOperator((String) object.get("userName"));
            logService.saveLog(log);
            return true;
        } else {
            return false;
north-glass-erp/src/main/java/com/example/erp/service/pp/ReplenishService.java
@@ -233,6 +233,12 @@
            List<PatchLog> patchLoglist = JSONArray.parseArray(JSONObject.toJSONString(object.get("patchLog")), PatchLog.class);
            if (!patchLoglist.isEmpty()){
                for (PatchLog patchLog : patchLoglist) {
                    //删除补片表对应补片id数据
                    patchMapper.deleteReplenishMp(patchLog.getPatchId());
                    //修改次破明细表补片数量和状态
                    patchMapper.updatePatchDdMp(patchLog.getReportingWorkId(),patchLog.getOrderSort(),patchLog.getTechnologyNumber(),patchLog.getPatchNum());
                    //修改报工明细表状态
                    patchMapper.updatePatchBgMp(patchLog.getReportingWorkId(),patchLog.getOrderSort(),patchLog.getTechnologyNumber());
                }
            }
north-glass-erp/src/main/java/com/example/erp/service/pp/ReportService.java
@@ -439,7 +439,9 @@
    public List exportTeamOutputSv(Map<String, Object> dates) {
        List<LocalDate> date= (List<LocalDate>) dates.get("date");
        String process= (String) dates.get("processes");
        if (process.equals("全部")){
            process="";
        }
        return reportMapper.exportTeamOutputMp(date,process);
    }
}
north-glass-erp/src/main/java/com/example/erp/service/pp/ReworkService.java
@@ -5,6 +5,7 @@
import com.baomidou.dynamic.datasource.annotation.DS;
import com.example.erp.entity.pp.BasicDataProduce;
import com.example.erp.entity.pp.FlowCard;
import com.example.erp.entity.pp.PatchLog;
import com.example.erp.entity.pp.Rework;
import com.example.erp.entity.userInfo.Log;
import com.example.erp.entity.userInfo.SysError;
@@ -189,5 +190,38 @@
        map.put("type", flowCardMapper.selectType());
        return map;
    }
    public Boolean deleteReworkSv(Map<String, Object> object) {
        boolean saveState = true;
        Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint();
        try {
            System.out.println(111111);
            //获取对象集合循环进行新增修改
            List<Rework> reworklist = JSONArray.parseArray(JSONObject.toJSONString(object.get("rework")), Rework.class);
            if (!reworklist.isEmpty()){
                for (Rework rework : reworklist) {
                    //删除返工表对应补片id数据
                    reworkMapper.deleteReworkMp(rework.getReworkId());
                    //修改次破明细表补片数量和状态
                    reworkMapper.updateReworkDdMp(rework.getReportingWorkId(),rework.getOrderSort(),rework.getTechnologyNumber(),rework.getReworkNum());
                    //修改报工明细表状态
                    reworkMapper.updateReworkBgMp(rework.getReportingWorkId(),rework.getOrderSort(),rework.getTechnologyNumber());
                }
            }
        } catch (Exception e) {
            TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
            //将异常传入数据库
            SysError sysError = new SysError();
            sysError.setError(e.toString());
            sysError.setFunc("saveOrder");
            sysErrorService.insert(sysError);
            saveState = false;
        }
        return saveState;
    }
}
north-glass-erp/src/main/resources/mapper/pp/BasicDataProduce.xml
@@ -16,14 +16,13 @@
    </resultMap>
    <select id="SelectWorkBasicTeams"  resultMap="selectBasicDataProduce">
        select bdp.basic_name ,bd.basic_name as d_basic_name
        from pp.basic_data_produce bdp
                 left join sd.basic_data bd on bdp.basic_category = bd.id
        where bd.basic_name = #{process}
          and bdp.basic_type = "teamsgroups"
        SELECT user_name as basic_name,address as d_basic_name from erp_user_info.user
            where address IS NOT NULL  and address= #{process}
    </select>
<!--    查询工序-->
north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
@@ -1262,7 +1262,8 @@
               dd.breakage_reason,
               dd.responsible_process,
               dd.responsible_team,
               concat('对应我司单号', o.batch)                 AS otherRemarks
               concat('对应我司单号', o.batch)                 AS otherRemarks,
               dd.responsible_personnel
        from flow_card as fc
                 left join sd.order_glass_detail as ogd
                           on fc.order_id = ogd.order_id and fc.order_number = ogd.order_number and
@@ -1343,7 +1344,8 @@
               dd.breakage_reason,
               dd.responsible_process,
               dd.responsible_team,
               concat('对应我司单号', o.batch)                 AS otherRemarks
               concat('对应我司单号', o.batch)                 AS otherRemarks,
               dd.responsible_personnel
        from flow_card as fc
                 left join sd.order_glass_detail as ogd
                           on fc.order_id = ogd.order_id and fc.order_number = ogd.order_number and
north-glass-erp/src/main/resources/mapper/pp/PatchLogMapper.xml
@@ -159,5 +159,19 @@
        order by dd.id desc
    </select>
    <delete id="deleteReplenishMp">
        delete from pp.patch_log where patch_id=#{patchId}
    </delete>
    <update id="updatePatchDdMp">
        update pp.damage_details set patch_status=0,quantity=quantity-#{qualityInspector}
     where reporting_work_id=#{reportingWorkId} and order_number=#{orderSort} and technology_number=#{technologyNumber}
    </update>
    <update id="updatePatchBgMp">
        update pp.reporting_work_detail set patch_status=0
        where reporting_work_id=#{reportingWorkId} and order_number=#{orderSort} and technology_number=#{technologyNumber}
    </update>
</mapper>
north-glass-erp/src/main/resources/mapper/pp/Report.xml
@@ -1203,40 +1203,22 @@
        rw.teams_groups_name,
        o.project,
        rw.process_id,
        rwd.order_number,
        fc.order_number,
        MAX( ogd.child_width ) as width,
        MAX( ogd.child_height ) as height,
        if(od.shape=1,'普形',if(od.shape=2,'异形','')) as shape,
        sum( pd.thickness ) as thickness,
        od.edging_type,
        opd.reporting_work_num as completed_quantity,
        ROUND(MAX( ogd.child_width )*MAX( ogd.child_height )*opd.reporting_work_num/1000000,2) as area,
        od.product_name,
        JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S01' )) AS code
        FROM
        reporting_work AS rw
        LEFT JOIN reporting_work_detail AS rwd ON rw.reporting_work_id = rwd.reporting_work_id
        LEFT JOIN sd.`order` AS o ON o.order_id = rw.order_id
        LEFT JOIN sd.order_detail AS od ON od.order_id = o.order_id
        AND od.order_number = rwd.order_number
        LEFT JOIN sd.order_glass_detail AS ogd ON ogd.order_id = o.order_id
        AND ogd.order_number = rwd.order_number
        AND ogd.technology_number = rwd.technology_number
        AND ogd.order_number = od.order_number
        LEFT JOIN (
        SELECT
        prod_id,
        glass_sort,
        REPLACE ( JSON_UNQUOTE( JSON_EXTRACT( separation, '$.thickness' )), 'mm', '' ) AS thickness
        FROM
        sd.product_detail
        WHERE
        detail_type = "glass"
        ) AS pd ON pd.prod_id = od.product_id AND pd.glass_sort = rwd.technology_number
        LEFT JOIN sd.order_process_detail AS opd ON opd.order_id = o.order_id
        AND opd.process_id = rw.process_id
        AND opd.order_number = ogd.order_number
        AND opd.technology_number = ogd.technology_number
        sd.`order` as o left join sd.order_detail as od  on od.order_id=o.order_id
        left join sd.order_glass_detail as ogd on ogd.order_id=od.order_id and ogd.order_number=od.order_number
        left join flow_card as fc on fc.order_id=ogd.order_id and fc.order_number=ogd.order_number and fc.technology_number=ogd.technology_number
        left join reporting_work as rw on rw.order_id=od.order_id and rw.process_id=fc.process_id
        left join sd.order_process_detail as opd on opd.order_id = o.order_id  AND opd.process_id = rw.process_id
        AND opd.order_number = fc.order_number AND opd.technology_number = fc.technology_number and opd.process=rw.this_process
        left join sd.product_detail as pd    on pd.prod_id = od.product_id and pd.glass_sort = fc.technology_number and detail_type = "glass"
        where opd.reporting_work_num > 0 and rw.reviewed_state=1 and rw.reporting_work_time between #{selectTime1} and #{selectTime2}
        and position(#{selectProcesses} in rw.this_process)
        <if test="teamOutputDTO.thisProcess != null and teamOutputDTO.thisProcess != ''">
@@ -1251,9 +1233,6 @@
        <if test="teamOutputDTO.processId != null and teamOutputDTO.processId != ''">
            and rw.process_id regexp #{teamOutputDTO.processId}
        </if>
        <if test="teamOutputDTO.thickness != null and teamOutputDTO.thickness != ''">
            and thickness regexp #{teamOutputDTO.thickness}
        </if>
        <if test="teamOutputDTO.edgingType != null and teamOutputDTO.edgingType != ''">
            and od.edging_type regexp #{teamOutputDTO.edgingType}
        </if>
@@ -1262,11 +1241,11 @@
        rw.this_process,
        rw.teams_groups_name,
        rw.process_id,
        rwd.order_number
        fc.order_number
        ORDER BY
        rw.this_process,
        rw.process_id,
        rwd.order_number,
        fc.order_number,
        rw.reporting_work_time,
        rw.teams_groups_name
        limit #{offset},#{pageSize};
@@ -1279,85 +1258,67 @@
        rw.teams_groups_name,
        o.project,
        rw.process_id,
        rwd.order_number,
        fc.order_number,
        MAX( ogd.child_width ) as width,
        MAX( ogd.child_height ) as height,
        if(od.shape=1,'普形',if(od.shape=2,'异形','')) as shape,
        sum( pd.thickness ) as thickness,
        od.edging_type,
        opd.reporting_work_num as completed_quantity,
        ROUND(MAX( ogd.child_width )*MAX( ogd.child_height )*opd.reporting_work_num/1000000,2) as area,
        od.product_name,
        JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S01' )) AS code
        FROM
        reporting_work AS rw
        LEFT JOIN reporting_work_detail AS rwd ON rw.reporting_work_id = rwd.reporting_work_id
        LEFT JOIN sd.`order` AS o ON o.order_id = rw.order_id
        LEFT JOIN sd.order_detail AS od ON od.order_id = o.order_id
        AND od.order_number = rwd.order_number
        LEFT JOIN sd.order_glass_detail AS ogd ON ogd.order_id = o.order_id
        AND ogd.order_number = rwd.order_number
        AND ogd.technology_number = rwd.technology_number
        AND ogd.order_number = od.order_number
        LEFT JOIN (
        SELECT
        prod_id,
        glass_sort,
        REPLACE ( JSON_UNQUOTE( JSON_EXTRACT( separation, '$.thickness' )), 'mm', '' ) AS thickness
        FROM
        sd.product_detail
        WHERE
        detail_type = "glass"
        ) AS pd ON pd.prod_id = od.product_id AND pd.glass_sort = rwd.technology_number
        LEFT JOIN sd.order_process_detail AS opd ON opd.order_id = o.order_id
        AND opd.process_id = rw.process_id
        AND opd.order_number = ogd.order_number
        AND opd.technology_number = ogd.technology_number
        sd.`order` as o left join sd.order_detail as od  on od.order_id=o.order_id
        left join sd.order_glass_detail as ogd on ogd.order_id=od.order_id and ogd.order_number=od.order_number
        left join flow_card as fc on fc.order_id=ogd.order_id and fc.order_number=ogd.order_number and fc.technology_number=ogd.technology_number
        left join reporting_work as rw on rw.order_id=od.order_id and rw.process_id=fc.process_id
        left join sd.order_process_detail as opd on opd.order_id = o.order_id  AND opd.process_id = rw.process_id
        AND opd.order_number = fc.order_number AND opd.technology_number = fc.technology_number and opd.process=rw.this_process
        left join sd.product_detail as pd    on pd.prod_id = od.product_id and pd.glass_sort = fc.technology_number and detail_type = "glass"
        where opd.reporting_work_num > 0 and rw.reviewed_state=1
          and date(rw.reporting_work_time) >= #{date[0]}
          and  date(rw.reporting_work_time) >= #{date[0]}
          and date(rw.reporting_work_time) &lt;= #{date[1]}
        and position(#{process} in rw.this_process)
        GROUP BY
        rw.this_process,
        rw.teams_groups_name,
        rw.process_id,
        rwd.order_number
        fc.order_number
        ORDER BY
        rw.this_process,
        rw.process_id,
        rwd.order_number,
        fc.order_number,
        rw.reporting_work_time,
        rw.teams_groups_name
    </select>
    <select id="teamOutputPageTotal">
        SELECT
        CEILING(count(rwd.id)/#{pageSize}) as 'pageTotal',
        count(distinct rwd.id) as 'total'
        CEILING(count(*)/#{pageSize}) as 'pageTotal',
        count(*) as 'total'
        FROM
        reporting_work AS rw
        LEFT JOIN reporting_work_detail AS rwd ON rw.reporting_work_id = rwd.reporting_work_id
        LEFT JOIN sd.`order` AS o ON o.order_id = rw.order_id
        LEFT JOIN sd.order_detail AS od ON od.order_id = o.order_id
        AND od.order_number = rwd.order_number
        LEFT JOIN sd.order_glass_detail AS ogd ON ogd.order_id = o.order_id
        AND ogd.order_number = rwd.order_number
        AND ogd.technology_number = rwd.technology_number
        AND ogd.order_number = od.order_number
        LEFT JOIN (
        (
        SELECT
        prod_id,
        glass_sort,
        REPLACE ( JSON_UNQUOTE( JSON_EXTRACT( separation, '$.thickness' )), 'mm', '' ) AS thickness
        rw.reporting_work_time,
        rw.this_process,
        rw.teams_groups_name,
        o.project,
        rw.process_id,
        fc.order_number,
        MAX( ogd.child_width ) as width,
        MAX( ogd.child_height ) as height,
        od.edging_type,
        opd.reporting_work_num as completed_quantity,
        ROUND(MAX( ogd.child_width )*MAX( ogd.child_height )*opd.reporting_work_num/1000000,2) as area,
        od.product_name,
        JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S01' )) AS code
        FROM
        sd.product_detail
        WHERE
        detail_type = "glass"
        ) AS pd ON pd.prod_id = od.product_id AND pd.glass_sort = rwd.technology_number
        LEFT JOIN sd.order_process_detail AS opd ON opd.order_id = o.order_id
        AND opd.process_id = rw.process_id
        AND opd.order_number = ogd.order_number
        AND opd.technology_number = ogd.technology_number
        sd.`order` as o left join sd.order_detail as od  on od.order_id=o.order_id
        left join sd.order_glass_detail as ogd on ogd.order_id=od.order_id and ogd.order_number=od.order_number
        left join flow_card as fc on fc.order_id=ogd.order_id and fc.order_number=ogd.order_number and fc.technology_number=ogd.technology_number
        left join reporting_work as rw on rw.order_id=od.order_id and rw.process_id=fc.process_id
        left join sd.order_process_detail as opd on opd.order_id = o.order_id  AND opd.process_id = rw.process_id
        AND opd.order_number = fc.order_number AND opd.technology_number = fc.technology_number and opd.process=rw.this_process
        left join sd.product_detail as pd    on pd.prod_id = od.product_id and pd.glass_sort = fc.technology_number and detail_type = "glass"
        where opd.reporting_work_num > 0 and rw.reviewed_state=1 and rw.reporting_work_time between #{selectTime1} and #{selectTime2}
        and position(#{selectProcesses} in rw.this_process)
        <if test="teamOutputDTO.thisProcess != null and teamOutputDTO.thisProcess != ''">
@@ -1372,14 +1333,22 @@
        <if test="teamOutputDTO.processId != null and teamOutputDTO.processId != ''">
            and rw.process_id regexp #{teamOutputDTO.processId}
        </if>
        <if test="teamOutputDTO.thickness != null and teamOutputDTO.thickness != ''">
            and thickness regexp #{teamOutputDTO.thickness}
        </if>
        <if test="teamOutputDTO.edgingType != null and teamOutputDTO.edgingType != ''">
            and od.edging_type regexp #{teamOutputDTO.edgingType}
        </if>
        limit #{offset},#{pageSize};
        GROUP BY
        rw.this_process,
        rw.teams_groups_name,
        rw.process_id,
        fc.order_number
        ORDER BY
        rw.this_process,
        rw.process_id,
        fc.order_number,
        rw.reporting_work_time,
        rw.teams_groups_name
        ) as page_toal
        limit #{offset},#{pageSize}
    </select>
    <select id="workInProgressOrderMp" resultMap="workInProgressMap">
north-glass-erp/src/main/resources/mapper/pp/ReworkMapper.xml
@@ -38,7 +38,8 @@
        r.reviewer,
        date(r.create_time) as create_time,
        date(r.update_time) as update_time,
        JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S01' )) AS glassNumber
        JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S01' )) AS glassNumber,
        r.reporting_work_id
        from pp.rework r left join sd.order_detail od on r.order_id=od.order_id and r.order_sort=od.order_number
        left join sd.`order` o on r.order_id = o.order_id
        left join (select * from sd.order_glass_detail group by order_id,order_number) as ogd
@@ -130,7 +131,19 @@
        update pp.damage_details set quantity=quantity+#{rework.reworkNum} where id=#{rework.reviewer}
    </update>
    <delete id="deleteReworkMp">
        delete from pp.rework where rework_id=#{patchId}
    </delete>
    <update id="updateReworkDdMp">
        update pp.damage_details set patch_status=0,quantity=quantity-#{reworkNum}
        where reporting_work_id=#{reportingWorkId} and order_number=#{orderSort} and technology_number=#{technologyNumber}
    </update>
    <update id="updateReworkBgMp">
        update pp.reporting_work_detail set patch_status=0
        where reporting_work_id=#{reportingWorkId} and order_number=#{orderSort} and technology_number=#{technologyNumber}
    </update>