作者 雷海东

生产计划查看、派工

... ... @@ -3,6 +3,7 @@ package org.jeecg.modules.erp.order_form.controller;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
... ... @@ -24,6 +25,10 @@ import org.jeecg.modules.erp.order_form.form.OrderForm;
import org.jeecg.modules.erp.order_form.service.ITblOrderFormService;
import org.jeecg.modules.erp.order_form.service.ITblWorkOrderService;
import org.jeecg.modules.erp.order_form.service.ITblWorkPriceService;
import org.jeecg.modules.erp.production.entity.TblProductionGongxu;
import org.jeecg.modules.erp.production.entity.TblProductionPlan;
import org.jeecg.modules.erp.production.service.ITblProductionGongxuService;
import org.jeecg.modules.erp.production.service.ITblProductionPlanService;
import org.jeecgframework.poi.excel.ExcelImportUtil;
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
import org.jeecgframework.poi.excel.entity.ExportParams;
... ... @@ -38,6 +43,7 @@ import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.math.BigDecimal;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
... ... @@ -65,6 +71,8 @@ public class TblOrderFormController extends JeecgController<TblOrderForm, ITblOr
@Autowired
private ITblWorkPriceService iTblWorkPriceService;
@Autowired
private ITblProductionPlanService planService;
/*---------------------------------主表处理-begin-------------------------------------*/
... ... @@ -83,9 +91,20 @@ public class TblOrderFormController extends JeecgController<TblOrderForm, ITblOr
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<TblOrderForm> queryWrapper = QueryGenerator.initQueryWrapper(tblOrderForm, req.getParameterMap());
Page<TblOrderForm> page = new Page<TblOrderForm>(pageNo, pageSize);
IPage<TblOrderForm> pageList = tblOrderFormService.page(page, queryWrapper);
for (TblOrderForm order : pageList.getRecords()) {
// 查询与订单号相关的数据
List<TblProductionPlan> productionGongxuList = planService.list(new QueryWrapper<TblProductionPlan>().eq("order_number", order.getOrderId()));
for (TblProductionPlan productionGongxu : productionGongxuList) {
order.setDispatchedWorkingHours(String.valueOf(productionGongxu.getPai()));
tblOrderFormService.updateById(order);
}
}
return Result.OK(pageList);
}
... ...
package org.jeecg.modules.erp.production.controller;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.common.util.oConvertUtils;
import org.jeecg.modules.erp.production.entity.TblProductionGongxu;
import org.jeecg.modules.erp.production.service.ITblProductionGongxuService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.extern.slf4j.Slf4j;
import org.jeecgframework.poi.excel.ExcelImportUtil;
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
import org.jeecgframework.poi.excel.entity.ExportParams;
import org.jeecgframework.poi.excel.entity.ImportParams;
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
import org.jeecg.common.system.base.controller.JeecgController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.ModelAndView;
import com.alibaba.fastjson.JSON;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.jeecg.common.aspect.annotation.AutoLog;
/**
* @Description: tbl_production_gongxu
* @Author: jeecg-boot
* @Date: 2024-05-20
* @Version: V1.0
*/
@Api(tags="tbl_production_gongxu")
@RestController
@RequestMapping("/production/tblProductionGongxu")
@Slf4j
public class TblProductionGongxuController extends JeecgController<TblProductionGongxu, ITblProductionGongxuService> {
@Autowired
private ITblProductionGongxuService tblProductionGongxuService;
/**
* 分页列表查询
*
* @param tblProductionGongxu
* @param pageNo
* @param pageSize
* @param req
* @return
*/
//@AutoLog(value = "tbl_production_gongxu-分页列表查询")
@ApiOperation(value="tbl_production_gongxu-分页列表查询", notes="tbl_production_gongxu-分页列表查询")
@GetMapping(value = "/list")
public Result<IPage<TblProductionGongxu>> queryPageList(TblProductionGongxu tblProductionGongxu,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<TblProductionGongxu> queryWrapper = QueryGenerator.initQueryWrapper(tblProductionGongxu, req.getParameterMap());
Page<TblProductionGongxu> page = new Page<TblProductionGongxu>(pageNo, pageSize);
IPage<TblProductionGongxu> pageList = tblProductionGongxuService.page(page, queryWrapper);
return Result.OK(pageList);
}
/**
* 添加
*
* @param tblProductionGongxuList
* @return
*/
@AutoLog(value = "tbl_production_gongxu-添加")
@ApiOperation(value="tbl_production_gongxu-添加", notes="tbl_production_gongxu-添加")
@PostMapping(value = "/add")
public Result<?> add(@RequestBody List<TblProductionGongxu> tblProductionGongxuList) {
tblProductionGongxuService.saveOrUpdateBatch(tblProductionGongxuList);
return Result.OK("添加成功!");
}
/**
* 编辑
*
* @param tblProductionGongxu
* @return
*/
@AutoLog(value = "tbl_production_gongxu-编辑")
@ApiOperation(value="tbl_production_gongxu-编辑", notes="tbl_production_gongxu-编辑")
@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
public Result<String> edit(@RequestBody TblProductionGongxu tblProductionGongxu) {
tblProductionGongxuService.updateById(tblProductionGongxu);
return Result.OK("编辑成功!");
}
/**
* 通过id删除
*
* @param id
* @return
*/
@AutoLog(value = "tbl_production_gongxu-通过id删除")
@ApiOperation(value="tbl_production_gongxu-通过id删除", notes="tbl_production_gongxu-通过id删除")
@DeleteMapping(value = "/delete")
public Result<String> delete(@RequestParam(name="id",required=true) String id) {
tblProductionGongxuService.removeById(id);
return Result.OK("删除成功!");
}
/**
* 批量删除
*
* @param ids
* @return
*/
@AutoLog(value = "tbl_production_gongxu-批量删除")
@ApiOperation(value="tbl_production_gongxu-批量删除", notes="tbl_production_gongxu-批量删除")
@DeleteMapping(value = "/deleteBatch")
public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
this.tblProductionGongxuService.removeByIds(Arrays.asList(ids.split(",")));
return Result.OK("批量删除成功!");
}
/**
* 通过id查询
*
* @param id
* @return
*/
//@AutoLog(value = "tbl_production_gongxu-通过id查询")
@ApiOperation(value="tbl_production_gongxu-通过id查询", notes="tbl_production_gongxu-通过id查询")
@GetMapping(value = "/queryById")
public Result<TblProductionGongxu> queryById(@RequestParam(name="id",required=true) String id) {
TblProductionGongxu tblProductionGongxu = tblProductionGongxuService.getById(id);
if(tblProductionGongxu==null) {
return Result.error("未找到对应数据");
}
return Result.OK(tblProductionGongxu);
}
/**
* 导出excel
*
* @param request
* @param tblProductionGongxu
*/
@RequestMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, TblProductionGongxu tblProductionGongxu) {
return super.exportXls(request, tblProductionGongxu, TblProductionGongxu.class, "tbl_production_gongxu");
}
/**
* 通过excel导入数据
*
* @param request
* @param response
* @return
*/
@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
return super.importExcel(request, response, TblProductionGongxu.class);
}
}
... ...
package org.jeecg.modules.erp.production.controller;
import java.math.BigDecimal;
import java.util.Arrays;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
... ... @@ -69,6 +70,17 @@ public class TblProductionPlanController extends JeecgController<TblProductionPl
QueryWrapper<TblProductionPlan> queryWrapper = QueryGenerator.initQueryWrapper(tblProductionPlan, req.getParameterMap());
Page<TblProductionPlan> page = new Page<TblProductionPlan>(pageNo, pageSize);
IPage<TblProductionPlan> pageList = tblProductionPlanService.page(page, queryWrapper);
for (TblProductionPlan order : pageList.getRecords()) {
// 查询与订单号相关的数据,并计算工时总和
List<TblProductionGongxu> productionGongxuList = gongxuService.list(new QueryWrapper<TblProductionGongxu>().eq("order_number", order.getOrderNumber()));
BigDecimal totalWorkHours = new BigDecimal(0);
for (TblProductionGongxu productionGongxu : productionGongxuList) {
totalWorkHours = totalWorkHours.add(productionGongxu.getWorkHours());
}
order.setPai(String.valueOf(totalWorkHours));
tblProductionPlanService.updateById(order);
}
return Result.OK(pageList);
}
... ... @@ -146,6 +158,8 @@ public class TblProductionPlanController extends JeecgController<TblProductionPl
}
return Result.OK(tblProductionPlan);
}
//根据订单号查主料图
@GetMapping(value = "/queryBynumber")
public Result<TblOrderForm> queryByorderNumber(@RequestParam(name="orderNumber",required=true) String orderNumber) {
LambdaQueryWrapper<TblOrderForm> queryWrapper=new LambdaQueryWrapper<TblOrderForm>().eq(TblOrderForm::getOrderId,orderNumber);
... ...
... ... @@ -7,22 +7,21 @@
SELECT LAST_INSERT_ID()
</selectKey>
INSERT INTO tbl_production_plan ( order_number, danwei, work_order, product_name, product_type, work_time, dispatch_time, delivery_time, num, total_work, pai ) SELECT
of.order_id,
of.order_company,
of.work_order,
of.product_name,
pt.product_type_name,
of.order_date,
of.dispatch_date,
of.delivery_date,
of.quantity,
of.total_working_hours,
of.dispatched_working_hours
order_id,
order_company,
work_order,
product_name,
product_type,
order_date,
dispatch_date,
delivery_date,
quantity,
total_working_hours,
dispatched_working_hours
FROM
tbl_order_form as of
LEFT JOIN tbl_product_type as pt ON of.product_type = pt.product_type_id
tbl_order_form
WHERE
of.product_design_status = 1
AND of.order_id NOT IN (SELECT order_number FROM tbl_production_plan);
product_design_status = 1
AND order_id NOT IN (SELECT order_number FROM tbl_production_plan);
</insert>
</mapper>
\ No newline at end of file
... ...
... ... @@ -20,4 +20,39 @@
NOW())>= 0
AND STATUS = '生产中'
</select>
<select id="selectAll" resultType="org.jeecg.modules.erp.order_form.entity.TblOrderForm">
SELECT
a.id,a.create_by,a.create_time,a.update_by,a.update_time,a.sys_org_code,a.order_id,a.order_company,
a.work_order,a.product_name,b.product_type_name as product_type,a.order_date,a.designer,
a.dispatch_date,a.delivery_date,a.quantity,a.total_working_hours,a.dispatched_working_hours,a.STATUS,
a.finish_date,a.dispatch_status,a.product_design_status,a.verify_status,a.verify_result,a.delivery_date1,a.pics,a.pics2
FROM
tbl_order_form a
LEFT JOIN tbl_product_type b on a.product_type = b.product_type_id
</select>
<select id="getCountByType" parameterType="java.lang.String" resultType="java.lang.Integer">
SELECT
count(product_type)
FROM
tbl_order_form
WHERE
order_id like CONCAT( #{productType}, '%')
</select>
<select id="selectOneById" resultType="org.jeecg.modules.erp.order_form.entity.TblOrderForm">
SELECT
a.id,a.create_by,a.create_time,a.update_by,a.update_time,a.sys_org_code,a.order_id,a.order_company,
a.work_order,a.product_name,b.product_type_name as product_type,a.order_date,a.designer,
a.dispatch_date,a.delivery_date,a.quantity,a.total_working_hours,a.dispatched_working_hours,a.STATUS,
a.finish_date,a.dispatch_status,a.product_design_status,a.verify_status,a.verify_result,a.delivery_date1,a.pics,a.pics2
FROM
tbl_order_form a
LEFT JOIN tbl_product_type b on a.product_type = b.product_type_id where a.id =#{id}
</select>
<update id="updateDesignerByOrderId" parameterType="org.jeecg.modules.erp.order_form.entity.TblOrderForm">
update tbl_order_form set designer = #{designer},assign_design_status = #{assignDesignStatus},dispatch_date=#{dispatchDate} where order_id =#{orderId}
</update>
<update id="updateProductDesignStatusByOrderId" parameterType="org.jeecg.modules.erp.order_form.entity.TblOrderForm">
update tbl_order_form set product_design_status = #{productDesignStatus} where order_id =#{orderId}
</update>
</mapper>
\ No newline at end of file
... ...
... ... @@ -29,4 +29,7 @@
social_person,notes,create_by,
create_time,update_by,update_time
</sql>
<select id="selectUserAll" resultType="java.util.Map">
SELECT a.job_id jobId,CONCAT(a.user_name,'(',b.job_title,')') as userName from tbl_salary_base a left join tbl_salary_suanfa b on a.job_title = b.job_id
</select>
</mapper>
... ...