north-glass-erp/northglass-erp/src/components/sd/delivery/PrintSheetLuoyang.vue
@@ -45,7 +45,11 @@ produceList.value = deepClone(res.data) for(let i=0;i<produceList.value.length;i++){ produceList.value[i].data.forEach(item =>{ item.DeliveryDetail.orderId=takeCare.value+item.DeliveryDetail.orderDetail.edgingType+item.DeliveryDetail.orderDetail.shape item.DeliveryDetail.orderId= takeCare.value+ item.DeliveryDetail.orderDetail.edgingType +'\n' +item.DeliveryDetail.orderDetail.shape || '' }) let produceList1= ({ data:null, north-glass-erp/northglass-erp/src/views/pp/report/WorkInProgress.vue
@@ -172,6 +172,7 @@ request.post(`/report/workInProgress/${pageNum.value}/${total.pageSize}/${inputVal}/${inputProject}/${selectProcesses}/${optionVal}`, filterData.value).then((res) => { if (res.code == 200) { console.log(res.data.data) total.dataTotal = res.data.total.total * 1 total.pageTotal = res.data.total.pageTotal pageTotal.value = res.data.total @@ -314,6 +315,7 @@ {field: 'stockArea', width: 120, title: t('report.inventoryArea'),visible: true}, {field: 'workProcessName', width: 120, title: t('report.workProcessName')}, {field: 'productName', width: 120, title: t('order.product'),visible: true}, {field: 'glassName', width: 120, title: t('order.product'),visible: true}, {field: 'bendRadius', width: 120, title: t('order.bendRadius'),visible: true}, {field: 'teamsGroupsName', width: 110,title: t('report.teamsGroupsName'),showOverflow:"ellipsis",filters: [{data: ''}], slots: {filter: 'num1_filter'}}, north-glass-erp/src/main/java/com/example/erp/controller/mm/BasicWarehouseTypeController.java
@@ -3,9 +3,7 @@ import cn.dev33.satoken.annotation.SaCheckPermission; import com.example.erp.common.Result; import com.example.erp.entity.mm.BasicWarehouseType; import com.example.erp.entity.sd.BasicData; import com.example.erp.service.mm.BasicWarehouseTypeService; import com.example.erp.service.sd.BasicDateService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; north-glass-erp/src/main/java/com/example/erp/controller/sd/BasicDataController.java
@@ -3,7 +3,7 @@ import cn.dev33.satoken.annotation.SaCheckPermission; import com.example.erp.common.Result; import com.example.erp.entity.sd.BasicData; import com.example.erp.service.sd.BasicDateService; import com.example.erp.service.sd.BasicDataService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.*; @@ -15,23 +15,23 @@ @Api(value="订单基础controller",tags={"订单基础数据操作接口"}) public class BasicDataController { final BasicDateService basicDateService; BasicDataService basicDataService; public BasicDataController(BasicDateService basicDateService) { this.basicDateService = basicDateService; public BasicDataController(BasicDataService basicDataService) { this.basicDataService = basicDataService; } @GetMapping("/orderBasicData") public Result getOrderBasicData(){ return Result.seccess(basicDateService.getOrderBasicData()); return Result.seccess(basicDataService.getOrderBasicData()); } @GetMapping("/BasicDataByType/{type}") public Result getBasicDataByType(@PathVariable String type){ return Result.seccess(basicDateService.getBasicDataByType(type)); return Result.seccess(basicDataService.getBasicDataByType(type)); } @GetMapping("/BasicDataByType/{type}/{childType}") public Result getBasicDataByTypeAndChildType(@PathVariable String type,@PathVariable String childType){ return Result.seccess(basicDateService.getBasicDataByTypeAndChildType(type,childType)); return Result.seccess(basicDataService.getBasicDataByTypeAndChildType(type,childType)); } @@ -39,32 +39,32 @@ @SaCheckPermission("searchOrderBasicData.search") @GetMapping("/getBasicData") public Result getBasicData(){ return Result.seccess(basicDateService.getBasicData()); return Result.seccess(basicDataService.getBasicData()); } @ApiOperation("查询基础数据类型") @SaCheckPermission("searchOrderBasicData.search") @GetMapping("/getBasicDataType") public Result getBasicDataType(){ return Result.seccess(basicDateService.getBasicDataType()); return Result.seccess(basicDataService.getBasicDataType()); } @ApiOperation("新增基础数据") @SaCheckPermission("searchOrderBasicData.add") @PostMapping("addBasicData") public Result addBasicData(@RequestBody Map<String,Object> map){ return Result.seccess(basicDateService.addBasicData(map)); return Result.seccess(basicDataService.addBasicData(map)); } @ApiOperation("更新基础数据") @SaCheckPermission("searchOrderBasicData.update") @PostMapping("updateBasicData") public Result updateBasicData(@RequestBody BasicData basicData){ return Result.seccess(basicDateService.updateBasicData(basicData)); return Result.seccess(basicDataService.updateBasicData(basicData)); } @ApiOperation("删除基础数据") @SaCheckPermission("searchOrderBasicData.delete") @PostMapping("deleteBasicData") public Result deleteBasicData(@RequestBody BasicData basicData){ return Result.seccess(basicDateService.deleteBasicData(basicData)); return Result.seccess(basicDataService.deleteBasicData(basicData)); } } north-glass-erp/src/main/java/com/example/erp/dto/pp/WorkInProgressDTO.java
@@ -37,6 +37,8 @@ private Double stockArea; @ExcelProperty("成品名称") private String productName; @ExcelProperty("在制品名称") private String glassName; @ExcelProperty("弯钢半径") private String bendRadius; @ExcelProperty("编号") north-glass-erp/src/main/java/com/example/erp/mapper/sd/BasicDataMapper.java
File was renamed from north-glass-erp/src/main/java/com/example/erp/mapper/sd/BasicDateMapper.java @@ -2,16 +2,12 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.example.erp.entity.sd.BasicData; import com.example.erp.entity.sd.Order; import com.example.erp.service.sd.BasicDateService; import org.apache.ibatis.annotations.Mapper; import org.springframework.beans.factory.annotation.Autowired; import java.util.List; import java.util.Map; @Mapper public interface BasicDateMapper extends BaseMapper<BasicData> { public interface BasicDataMapper extends BaseMapper<BasicData> { List<BasicData> getOrderBasicData(String type); List<String> getOrderBasicDataType(String type); north-glass-erp/src/main/java/com/example/erp/mapper/sd/OrderGlassDetailMapper.java
@@ -26,4 +26,9 @@ List<OrderGlassDetail> getOrderGlassDetailByProductIdGlassChild(String orderId, Integer orderNumber); Integer getMinIdByGroup(String orderId, String orderNumber, String group); Integer getMaxIdByGroup(String orderId, String orderNumber, String group); Integer getMinTechnologyNumberByGroup(String orderId, String orderNumber, String group); Integer getMaxTechnologyNumberByGroup(String orderId, String orderNumber, String group); } north-glass-erp/src/main/java/com/example/erp/mapper/sd/ProductDetailMapper.java
@@ -11,4 +11,6 @@ List<ProductDetail> getGlassDetailList(); boolean insertList(List<ProductDetail> getProductDetails); String getGlassNameByGroup(Integer productId, Integer minTechnologyNumberByGroup, Integer maxTechnologyNumberByGroup); } north-glass-erp/src/main/java/com/example/erp/service/mm/BasicWarehouseTypeService.java
@@ -2,11 +2,7 @@ import com.baomidou.dynamic.datasource.annotation.DS; import com.example.erp.entity.mm.BasicWarehouseType; import com.example.erp.entity.sd.BasicData; import com.example.erp.entity.sd.Customer; import com.example.erp.mapper.mm.BasicWarehouseTypeMapper; import com.example.erp.mapper.sd.BasicDateMapper; import com.example.erp.mapper.sd.CustomerMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; north-glass-erp/src/main/java/com/example/erp/service/pp/ReportService.java
@@ -3,13 +3,18 @@ import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.example.erp.dto.pp.*; import com.example.erp.entity.pp.DamageDetails; import com.example.erp.entity.pp.Report; import com.example.erp.entity.sd.BasicData; import com.example.erp.entity.sd.OrderDetail; import com.example.erp.entity.sd.OrderGlassDetail; import com.example.erp.entity.sd.ProductDetail; import com.example.erp.mapper.pp.FlowCardMapper; import com.example.erp.mapper.pp.ProductionSchedulingMapper; import com.example.erp.mapper.pp.ReportMapper; import com.example.erp.mapper.sd.OrderProcessDetailMapper; import com.example.erp.mapper.sd.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; @@ -31,13 +36,63 @@ private final OrderProcessDetailMapper orderProcessDetailMapper; private final ProductionSchedulingMapper productionSchedulingMapper; private final OrderGlassDetailMapper orderGlassDetailMapper; private final BasicDataMapper basicDataMapper; private final ProductDetailMapper productDetailMapper; private final OrderDetailMapper orderDetailMapper; FlowCardMapper flowCardMapper; private void mergeTeamsGroupsName( List<WorkInProgressDTO> dataList1, List<WorkInProgressDTO> dataList2 ) { //上工序报工班组 private void mergeTeamsGroupsName( List<WorkInProgressDTO> dataList1,List<WorkInProgressDTO> dataList2) { for (WorkInProgressDTO dto1 : dataList1) { //根据当前工序获取 是否为单片、夹胶、或者全部 BasicData basicData = basicDataMapper. selectOne(new QueryWrapper<BasicData>() .eq("basic_name", dto1.getThisProcess()) .last("limit 1") ); OrderDetail orderDetail = orderDetailMapper .selectOne( new QueryWrapper<OrderDetail>() .eq("order_id", dto1.getOrderId()) .eq("order_number", dto1.getOrderNumber()) ); //如果为单片,则根据产品名称和工艺编号获取玻璃名称 if(basicData.getNickname()==null || basicData.getNickname().isEmpty()){ ProductDetail productDetail = productDetailMapper. selectOne(new QueryWrapper<ProductDetail>() .eq("prod_id", orderDetail.getProductId()) .eq("glass_sort",dto1.getTechnologyNumber()) ); dto1.setGlassName(productDetail.getDetail()); }else if(basicData.getNickname().equals("stepC")){ OrderGlassDetail orderGlassDetailGroup = orderGlassDetailMapper .selectOne(new QueryWrapper<OrderGlassDetail>() .eq("order_id", dto1.getOrderId()) .eq("order_number", dto1.getOrderNumber()) .eq("technology_number",dto1.getTechnologyNumber()) ); System.out.println(orderGlassDetailGroup.getGroup()); String glassName = productDetailMapper.getGlassNameByGroup( orderDetail.getProductId(), orderGlassDetailMapper.getMinTechnologyNumberByGroup(dto1.getOrderId(),dto1.getOrderNumber(), String.valueOf(orderGlassDetailGroup.getGroup())), orderGlassDetailMapper.getMaxTechnologyNumberByGroup(dto1.getOrderId(),dto1.getOrderNumber(), String.valueOf(orderGlassDetailGroup.getGroup())) ); dto1.setGlassName(glassName); }else{ dto1.setGlassName(dto1.getProductName()); } } Function<WorkInProgressDTO, String> keyFn = dto -> dto.getProcessId() + "|" + dto.getOrderNumber() + "|" + @@ -62,11 +117,15 @@ } public ReportService(ReportMapper reportMapper, OrderProcessDetailMapper orderProcessDetailMapper, ProductionSchedulingMapper productionSchedulingMapper,FlowCardMapper flowCardMapper) { public ReportService(ReportMapper reportMapper, OrderProcessDetailMapper orderProcessDetailMapper, ProductionSchedulingMapper productionSchedulingMapper, FlowCardMapper flowCardMapper, OrderGlassDetailMapper orderGlassDetailMapper, BasicDataMapper basicDataMapper, ProductDetailMapper productDetailMapper, OrderDetailMapper orderDetailMapper) { this.reportMapper = reportMapper; this.orderProcessDetailMapper = orderProcessDetailMapper; this.productionSchedulingMapper = productionSchedulingMapper; this.flowCardMapper = flowCardMapper; this.orderGlassDetailMapper = orderGlassDetailMapper; this.basicDataMapper = basicDataMapper; this.productDetailMapper = productDetailMapper; this.orderDetailMapper = orderDetailMapper; } //流程卡进度方法 @@ -183,6 +242,7 @@ Map<String, Object> map = new HashMap<>(); List<WorkInProgressDTO> dataList2 =reportMapper.workInProgressMpdataList2(offset, pageSize, orderId, inputProject, selectProcesses, workInProgressDTO); if (optionVal.equals("1")){ System.out.println(1); /* 根据销售单号汇总*/ //map.put("data", reportMapper.workInProgressOrderMp(offset, pageSize, orderId, inputProject, selectProcesses, workInProgressDTO)); List<WorkInProgressDTO> dataList1 =reportMapper.workInProgressOrderMpList1(offset, pageSize, orderId, inputProject, selectProcesses, workInProgressDTO); @@ -191,6 +251,7 @@ // map.put("total", reportMapper.workInProgressOrderTotal(offset, pageSize, orderId, inputProject, selectProcesses, workInProgressDTO)); map.put("total" ,reportMapper.workInProgressOrderFootSum(offset, pageSize,orderId, inputProject, selectProcesses, workInProgressDTO)); }else if(optionVal.equals("2")){ System.out.println(2); /* 根据流程卡号汇总*/ //map.put("data", reportMapper.workInProgressProcessMp(offset, pageSize, orderId, inputProject, selectProcesses, workInProgressDTO)); List<WorkInProgressDTO> dataList1 =reportMapper.workInProgressProcessMpList1(offset, pageSize, orderId, inputProject, selectProcesses, workInProgressDTO); north-glass-erp/src/main/java/com/example/erp/service/pp/ReportingWorkService.java
@@ -17,7 +17,6 @@ import com.example.erp.entity.userInfo.Log; import com.example.erp.entity.userInfo.SysError; import com.example.erp.exception.ServiceException; import com.example.erp.mapper.mm.FinishedGoodsInventoryMapper; import com.example.erp.mapper.mm.FinishedOperateLogMapper; import com.example.erp.mapper.pp.*; import com.baomidou.dynamic.datasource.annotation.DS; @@ -71,7 +70,7 @@ private final RestTemplate restTemplate; private final PatchLogMapper patchLogMapper; private final ReworkMapper reworkMapper; private final BasicDateMapper basicDataMapper; private final BasicDataMapper basicDataMapper; private final FinishedGoodsInventoryService finishedGoodsInventoryService; north-glass-erp/src/main/java/com/example/erp/service/sd/BasicDataService.java
File was renamed from north-glass-erp/src/main/java/com/example/erp/service/sd/BasicDateService.java @@ -5,24 +5,23 @@ import com.example.erp.entity.sd.BasicData; import com.example.erp.entity.sd.BasicOtherMoney; import com.example.erp.entity.sd.Customer; import com.example.erp.mapper.sd.BasicDateMapper; import com.example.erp.mapper.sd.BasicDataMapper; import com.example.erp.mapper.sd.BasicOtherMoneyMapper; import com.example.erp.mapper.sd.CustomerMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.*; @Service @DS("sd") public class BasicDateService { private final BasicDateMapper basicDateMapper; public class BasicDataService { private final BasicDataMapper basicDataMapper; private final CustomerMapper customerMapper; private final BasicOtherMoneyMapper basicOtherMoneyMapper; public BasicDateService(BasicDateMapper basicDateMapper, CustomerMapper customerMapper, BasicOtherMoneyMapper basicOtherMoneyMapper) { this.basicDateMapper = basicDateMapper; public BasicDataService(BasicDataMapper basicDataMapper, CustomerMapper customerMapper, BasicOtherMoneyMapper basicOtherMoneyMapper) { this.basicDataMapper = basicDataMapper; this.customerMapper = customerMapper; this.basicOtherMoneyMapper = basicOtherMoneyMapper; } @@ -79,9 +78,9 @@ public Map<String, List<Object>> getBasicDataByType(String type){ //返回基础数据里的所有类型 List<String> orderBasicDataType = basicDateMapper.getOrderBasicDataType(type); List<String> orderBasicDataType = basicDataMapper.getOrderBasicDataType(type); //返回此类型基础数据所有数据 List<BasicData> orderBasicData = basicDateMapper.getOrderBasicData(type); List<BasicData> orderBasicData = basicDataMapper.getOrderBasicData(type); Map<String, List<Object>> BasicDataMap = new HashMap<>(); //创建List对象 @@ -102,17 +101,17 @@ public List<BasicData> getBasicDataByTypeAndChildType(String type, String childType) { Map<String, List<Object>> BasicDataMap = new HashMap<>(); return basicDateMapper.getOrderBasicDataByTypeAndChildType(type, childType); return basicDataMapper.getOrderBasicDataByTypeAndChildType(type, childType); } public List<BasicData> getBasicData() { return basicDateMapper.getBasicData(); return basicDataMapper.getBasicData(); } public Object getBasicDataType() { List<BasicData> lastType = basicDateMapper.getBasicDataLastType(); List<BasicData> firstType= basicDateMapper.getBasicDataFirstType(); List<BasicData> lastType = basicDataMapper.getBasicDataLastType(); List<BasicData> firstType= basicDataMapper.getBasicDataFirstType(); List<Map<String,Object>> list = new ArrayList<>(); if(!firstType.isEmpty()){ firstType.forEach(item->{ @@ -143,17 +142,17 @@ basicData.setBasicCategory(basicTypeList.get(1)); basicData.setBasicName(map.get("input").toString()); basicData.setNickname(map.get("nickname").toString()); basicDateMapper.insert(basicData); basicDataMapper.insert(basicData); } return true; } public int deleteBasicData(BasicData basicData) { return basicDateMapper.deleteById(basicData.getId()); return basicDataMapper.deleteById(basicData.getId()); } public int updateBasicData(BasicData basicData) { return basicDateMapper.updateById(basicData); return basicDataMapper.updateById(basicData); } } north-glass-erp/src/main/resources/mapper/sd/BasicDataMapper.xml
@@ -2,7 +2,7 @@ <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.example.erp.mapper.sd.BasicDateMapper"> <mapper namespace="com.example.erp.mapper.sd.BasicDataMapper"> <select id="getOrderBasicData"> select id,basic_type,if(basic_category='icon',null,nickname) as 'nickname',basic_name,basic_category,create_time,update_time north-glass-erp/src/main/resources/mapper/sd/DeliveryDetailMapper.xml
@@ -1050,23 +1050,23 @@ WHEN width < 3660 THEN ' ' WHEN width < 4000 AND width >= 3660 THEN '3660<H<4000' '3660<W<4000' WHEN width < 5000 AND width >= 4000 THEN '4000<H<5000' '4000<W<5000' WHEN width < 6000 AND width >= 5000 THEN '5000<H<6000' '5000<W<6000' WHEN width < 7000 AND width >= 6000 THEN '6000<H<7000' '6000<W<7000' WHEN width < 8000 AND width >= 7000 THEN '7000<H<8000' '7000<W<8000' WHEN width < 9000 AND width >= 8000 THEN '8000<H<9000' '8000<W<9000' WHEN width < 10000 AND width >= 9000 THEN '9000<H<10000' '9000<W<10000' WHEN width < 11000 AND width >= 10000 THEN '10000<H<11000' '10000<W<11000' WHEN width < 12000 AND width >= 11000 THEN '11000<H<12000' '11000<W<12000' END width from order_detail) as od on dd.order_id = od.order_id and dd.order_number = od.order_number left join product pt on pt.id = od.product_id @@ -1120,23 +1120,23 @@ WHEN width < 3660 THEN ' ' WHEN width < 4000 AND width >= 3660 THEN '3660<H<4000' '3660<W<4000' WHEN width < 5000 AND width >= 4000 THEN '4000<H<5000' '4000<W<5000' WHEN width < 6000 AND width >= 5000 THEN '5000<H<6000' '5000<W<6000' WHEN width < 7000 AND width >= 6000 THEN '6000<H<7000' '6000<W<7000' WHEN width < 8000 AND width >= 7000 THEN '7000<H<8000' '7000<W<8000' WHEN width < 9000 AND width >= 8000 THEN '8000<H<9000' '8000<W<9000' WHEN width < 10000 AND width >= 9000 THEN '9000<H<10000' '9000<W<10000' WHEN width < 11000 AND width >= 10000 THEN '10000<H<11000' '10000<W<11000' WHEN width < 12000 AND width >= 11000 THEN '11000<H<12000' '11000<W<12000' END width from order_detail) as od on dd.order_id = od.order_id and dd.order_number = od.order_number left join product pt on pt.id = od.product_id north-glass-erp/src/main/resources/mapper/sd/OrderGlassDetailMapper.xml
@@ -202,4 +202,29 @@ </select> <select id="getMaxIdByGroup" > select max(id) from sd.order_glass_detail as a where a.order_id = #{orderId} and a.order_number = #{orderNumber} and a.`group` = #{group} </select> <select id="getMinTechnologyNumberByGroup" > select min(technology_number) from sd.order_glass_detail as a where a.order_id = #{orderId} and a.order_number = #{orderNumber} and a.`group` = #{group} </select> <select id="getMaxTechnologyNumberByGroup" > select min(technology_number) from sd.order_glass_detail as a where a.order_id = #{orderId} and a.order_number = #{orderNumber} and a.`group` = #{group} </select> </mapper> north-glass-erp/src/main/resources/mapper/sd/ProductDetailMapper.xml
@@ -25,4 +25,12 @@ ) </foreach> </insert> <select id="getGlassNameByGroup"> SELECT GROUP_CONCAT(detail SEPARATOR '+') from sd.product_detail where prod_id = #{productId} and glass_sort >= #{minTechnologyNumberByGroup} and glass_sort >= #{minTechnologyNumberByGroup} </select> </mapper> north-glass-erp/src/test/java/com/example/erp/service/sd/BasicDataServiceTest.java
File was renamed from north-glass-erp/src/test/java/com/example/erp/service/sd/BasicDateServiceTest.java @@ -4,13 +4,12 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import static org.junit.jupiter.api.Assertions.*; @SpringBootTest class BasicDateServiceTest { class BasicDataServiceTest { @Autowired private BasicDateService basicDateService; private BasicDataService basicDataService; @Test void getOrderBasicData() { basicDateService.getOrderBasicData(); basicDataService.getOrderBasicData(); } }