改善提案报告书维护

master
yinq 2 years ago
parent 75362ce7cf
commit 7d81d566eb

@ -0,0 +1,148 @@
package com.foreverwin.mesnac.anomaly.controller;
import com.foreverwin.mesnac.anomaly.utils.DateReportUtils;
import com.foreverwin.mesnac.common.util.StringUtil;
import com.foreverwin.modular.core.util.R;
import com.foreverwin.modular.core.util.FrontPage;
import com.foreverwin.modular.core.util.CommonMethods;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import com.foreverwin.mesnac.anomaly.service.ImprovementProposalsService;
import com.foreverwin.mesnac.anomaly.model.ImprovementProposals;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.List;
import java.util.Map;
/**
* @author YinQ
* @since 2022-09-19
*/
@RestController
@RequestMapping("/Z-IMPROVEMENT-PROPOSALS")
public class ImprovementProposalsController {
@Autowired
public ImprovementProposalsService improvementProposalsService;
/**
* id
*
* @param id
* @return
*/
@ResponseBody
@GetMapping("/{id:.+}")
public R getImprovementProposalsById(@PathVariable String id) {
return R.ok(improvementProposalsService.getById(id));
}
/**
*
*
* @return
*/
@ResponseBody
@GetMapping("")
public R getImprovementProposalsList(@RequestParam(required = false) Map<String, String> paramMap) {
List<ImprovementProposals> result;
FrontPage<ImprovementProposals> frontPage = new FrontPage<>();
frontPage.setPage(Integer.valueOf(paramMap.get("page")));
frontPage.setRows(Integer.valueOf(paramMap.get("rows")));
QueryWrapper<ImprovementProposals> queryWrapper = new QueryWrapper<>();
queryWrapper
.like(!StringUtil.isBlank(paramMap.get("uploadCenter")), "UPLOAD_CENTER", paramMap.get("uploadCenter"))
.like(!StringUtil.isBlank(paramMap.get("uploadUser")), "UPLOAD_USER", paramMap.get("uploadUser"))
.like(!StringUtil.isBlank(paramMap.get("sequenceCode")), "SEQUENCE_CODE", paramMap.get("sequenceCode"))
.ge(!StringUtil.isBlank(paramMap.get("startDate")), "CREATED_TIME", DateReportUtils.stringToDate(paramMap.get("startDate") + " 00:00:00", "yyyy-MM-dd HH:mm:ss"))
.le(!StringUtil.isBlank(paramMap.get("endDate")), "CREATED_TIME", DateReportUtils.stringToDate(paramMap.get("endDate") + " 23:59:59", "yyyy-MM-dd HH:mm:ss"))
;
result = improvementProposalsService.list(queryWrapper);
return R.ok(result);
}
/**
*
*
* @param paramMap
* @return
*/
@ResponseBody
@GetMapping("/page")
public R page(@RequestParam(required = false) Map<String, String> paramMap) {
IPage result;
FrontPage<ImprovementProposals> frontPage = new FrontPage<>();
frontPage.setPage(Integer.valueOf(paramMap.get("page")));
frontPage.setRows(Integer.valueOf(paramMap.get("rows")));
QueryWrapper<ImprovementProposals> queryWrapper = new QueryWrapper<>();
queryWrapper
.like(!StringUtil.isBlank(paramMap.get("uploadCenter")), "UPLOAD_CENTER", paramMap.get("uploadCenter"))
.like(!StringUtil.isBlank(paramMap.get("uploadUser")), "UPLOAD_USER", paramMap.get("uploadUser"))
.like(!StringUtil.isBlank(paramMap.get("sequenceCode")), "SEQUENCE_CODE", paramMap.get("sequenceCode"))
.ge(!StringUtil.isBlank(paramMap.get("startDate")), "CREATED_TIME", DateReportUtils.stringToDate(paramMap.get("startDate") + " 00:00:00", "yyyy-MM-dd HH:mm:ss"))
.le(!StringUtil.isBlank(paramMap.get("endDate")), "CREATED_TIME", DateReportUtils.stringToDate(paramMap.get("endDate") + " 23:59:59", "yyyy-MM-dd HH:mm:ss"))
;
result = improvementProposalsService.page(frontPage.getPagePlus(), queryWrapper);
return R.ok(result);
}
/**
*
*
* @param improvementProposals
* @return null
*/
@PostMapping
public R save(@RequestBody ImprovementProposals improvementProposals) {
improvementProposals = improvementProposalsService.insertData(improvementProposals);
return R.ok(improvementProposalsService.save(improvementProposals));
}
/**
*
*
* @param improvementProposals
* @return null
*/
@PutMapping
public R updateById(@RequestBody ImprovementProposals improvementProposals) {
LocalDateTime now = LocalDateTime.now();
String user = CommonMethods.getUser();
improvementProposals.setUpdatedBy(user);
improvementProposals.setUpdatedTime(now);
return R.ok(improvementProposalsService.updateById(improvementProposals));
}
/**
* id
*
* @param id ID
* @return 0 1
*/
@ResponseBody
@RequestMapping(method = RequestMethod.DELETE, value = "/{id:.+}")
public R removeById(@PathVariable("id") String id) {
return R.ok(improvementProposalsService.removeById(id));
}
/**
*
*
* @param ids ID
* @return 0 1
*/
@ResponseBody
@RequestMapping(method = RequestMethod.POST, value = "/delete-batch")
public R removeByIds(List<String> ids) {
return R.ok(improvementProposalsService.removeByIds(ids));
}
}

@ -0,0 +1,18 @@
package com.foreverwin.mesnac.anomaly.mapper;
import com.foreverwin.mesnac.anomaly.model.ImprovementProposals;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;
/**
* <p>
* Mapper
* </p>
*
* @author YinQ
* @since 2022-09-19
*/
@Repository
public interface ImprovementProposalsMapper extends BaseMapper<ImprovementProposals> {
}

@ -0,0 +1,178 @@
package com.foreverwin.mesnac.anomaly.model;
import java.io.Serializable;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.IdType;
import com.foreverwin.mesnac.common.model.ExcelColumn;
import lombok.Data;
/**
* <p>
*
* </p>
*
* @author YinQ
* @since 2022-09-19
*/
@TableName("Z_IMPROVEMENT_PROPOSALS")
@Data
public class ImprovementProposals extends Model<ImprovementProposals> {
/**
*
*/
@ExcelColumn(value = "HANDLE")
@TableId(value = "HANDLE", type = IdType.INPUT)
private String handle;
/**
*
*/
@ExcelColumn(value = "SITE")
@TableField("SITE")
private String site;
/**
*
*/
@ExcelColumn(value = "上传车间")
@TableField("UPLOAD_CENTER")
private String uploadCenter;
/**
*
*/
@ExcelColumn(value = "上传人员")
@TableField("UPLOAD_USER")
private String uploadUser;
/**
*
*/
@ExcelColumn(value = "SEQUENCE_CODE")
@TableField("SEQUENCE_CODE")
private String sequenceCode;
/**
*
*/
@ExcelColumn(value = "项目名称")
@TableField("PROJECT_NUMBER")
private String projectNumber;
/**
*
*/
@ExcelColumn(value = "改善类别")
@TableField("CLASSIFY")
private String classify;
/**
*
*/
@ExcelColumn(value = "项目负责人")
@TableField("PROJECT_LEADER")
private String projectLeader;
/**
*
*/
@ExcelColumn(value = "实施成员")
@TableField("MEMBERS")
private String members;
/**
*
*/
@ExcelColumn(value = "实施日期")
@TableField("MATERIAL_DATE")
private LocalDateTime materialDate;
/**
*
*/
@ExcelColumn(value = "改善前具体问题描述")
@TableField("BEFORE_PROBLEMS")
private String beforeProblems;
/**
*
*/
@ExcelColumn(value = "改善前图片")
@TableField("BEFORE_PICTURE")
private String beforePicture;
/**
*
*/
@ExcelColumn(value = "改善后改善方案及过程")
@TableField("AFTER_PLAN")
private String afterPlan;
/**
*
*/
@ExcelColumn(value = "改善后图片")
@TableField("AFTER_PICTURE")
private String afterPicture;
/**
*
*/
@ExcelColumn(value = "改善效果")
@TableField("IMPROVE_EFFECT")
private String improveEffect;
/**
*
*/
@ExcelColumn(value = "部门负责人意见")
@TableField("PRINCIPAL_OPINION")
private String principalOpinion;
/**
*
*/
@ExcelColumn(value = "建议奖励金额")
@TableField("PROPOSED_AMOUNT")
private String proposedAmount;
/**
*
*/
@ExcelColumn(value = "最终奖励金额")
@TableField("FINAL_AMOUNT")
private String finalAmount;
/**
*
*/
@ExcelColumn(value = "提案改善推进小组意见")
@TableField("GROUP_VIEWS")
private String groupViews;
/**
*
*/
@ExcelColumn(value = "总经理审批意见")
@TableField("MANAGER_VIEWS")
private String managerViews;
/**
*
*/
@ExcelColumn(value = "CREATED_BY")
@TableField("CREATED_BY")
private String createdBy;
/**
*
*/
@ExcelColumn(value = "CREATED_TIME")
@TableField("CREATED_TIME")
private LocalDateTime createdTime;
/**
*
*/
@ExcelColumn(value = "UPDATED_BY")
@TableField("UPDATED_BY")
private String updatedBy;
/**
*
*/
@ExcelColumn(value = "UPDATED_TIME")
@TableField("UPDATED_TIME")
private LocalDateTime updatedTime;
@TableField(exist = false)
@ExcelColumn(value = "SEQ")
private Integer SEQ;
}

@ -0,0 +1,32 @@
package com.foreverwin.mesnac.anomaly.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.foreverwin.mesnac.anomaly.model.ImprovementProposals;
import com.baomidou.mybatisplus.extension.service.IService;
import com.foreverwin.modular.core.util.FrontPage;
import java.util.List;
/**
* <p>
*
* </p>
*
* @author YinQ
* @since 2022-09-19
*/
public interface ImprovementProposalsService extends IService<ImprovementProposals> {
/**
*
* @param frontPage
* @return
*/
IPage<ImprovementProposals> selectPage(FrontPage<ImprovementProposals> frontPage, ImprovementProposals improvementProposals);
List<ImprovementProposals> selectList(ImprovementProposals improvementProposals);
ImprovementProposals insertData(ImprovementProposals improvementProposals);
Boolean improvementProposalsListImportFile(List<ImprovementProposals> improvementProposals);
}

@ -0,0 +1,98 @@
package com.foreverwin.mesnac.anomaly.service.impl;
import com.foreverwin.mesnac.anomaly.model.OutStore;
import com.foreverwin.mesnac.common.util.StringUtil;
import com.foreverwin.modular.core.util.CommonMethods;
import com.foreverwin.modular.core.util.FrontPage;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.foreverwin.mesnac.anomaly.model.ImprovementProposals;
import com.foreverwin.mesnac.anomaly.mapper.ImprovementProposalsMapper;
import com.foreverwin.mesnac.anomaly.service.ImprovementProposalsService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Date;
import java.util.List;
/**
* <p>
*
* </p>
*
* @author YinQ
* @since 2022-09-19
*/
@Service
@Transactional(rollbackFor = Exception.class)
public class ImprovementProposalsServiceImpl extends ServiceImpl<ImprovementProposalsMapper, ImprovementProposals> implements ImprovementProposalsService {
@Autowired
private ImprovementProposalsMapper improvementProposalsMapper;
@Override
public IPage<ImprovementProposals> selectPage(FrontPage<ImprovementProposals> frontPage, ImprovementProposals improvementProposals) {
QueryWrapper<ImprovementProposals> queryWrapper = new QueryWrapper<>();
queryWrapper.setEntity(improvementProposals);
return super.page(frontPage.getPagePlus(), queryWrapper);
}
@Override
public List<ImprovementProposals> selectList(ImprovementProposals improvementProposals) {
QueryWrapper<ImprovementProposals> queryWrapper = new QueryWrapper<>();
queryWrapper.setEntity(improvementProposals);
return super.list(queryWrapper);
}
@Override
public ImprovementProposals insertData(ImprovementProposals improvementProposals) {
String user = CommonMethods.getUser();
String site = CommonMethods.getSite();
LocalDateTime now = LocalDateTime.now();
String handle = StringUtil.createQUID();
improvementProposals.setHandle(handle);
improvementProposals.setSite(site);
improvementProposals.setCreatedBy(user);
improvementProposals.setCreatedTime(now);
improvementProposals.setUpdatedBy(user);
improvementProposals.setUpdatedTime(now);
StringBuffer sequenceCode = new StringBuffer();
String format = now.format(DateTimeFormatter.ofPattern("yyyyMMdd"));
for (int i = 0; i < format.length(); i++) {
int random = (int)(Math.random() * 10);
sequenceCode.append(format.charAt(i)).append(handle.substring(random, random + 1));
}
improvementProposals.setSequenceCode(sequenceCode.toString());
return improvementProposals;
}
/**
*
* @param improvementProposals
* @return
*/
@Override
public Boolean improvementProposalsListImportFile(List<ImprovementProposals> improvementProposals) {
try {
for (ImprovementProposals improvementProposal : improvementProposals) {
improvementProposal = this.insertData(improvementProposal);
}
super.saveBatch(improvementProposals);
return true;
} catch (Exception e) {
e.printStackTrace();
}
return false;
}
}

@ -424,21 +424,67 @@ public class ReportServiceImpl implements ReportService {
collect(Collectors.groupingBy(e -> e.get("item").toString()));
for (String item : items.keySet()) {
HashMap<String, Object> itemsMap = new HashMap<>();
//项目号汇总
List<HashMap<String, Object>> itemListJSONObject = new ArrayList<>();
itemsMap.put("item", item);
Integer shopOrderQTY = 0;
Integer doneQTY = 0;
Float rate = 0F;
Integer nextOperationNum = 0;
String endPlanTime = String.valueOf(items.get(item).get(0).get("endPlanTime"));
for (Map<String, Object> map : items.get(item)) {
shopOrderQTY += Integer.valueOf(String.valueOf(map.get("shopOrderQTY")));
doneQTY += Integer.valueOf(String.valueOf(map.get("doneQTY")));
nextOperationNum += Integer.valueOf(String.valueOf(map.get("nextOperationNum")));
rate += Float.valueOf(String.valueOf(map.get("rate")).substring(0,String.valueOf(map.get("rate")).length() - 1));
if (endPlanTime.compareTo(String.valueOf(map.get("endPlanTime"))) < 0){
endPlanTime = String.valueOf(map.get("endPlanTime"));
}
}
itemsMap.put("shopOrderQTY", shopOrderQTY);
itemsMap.put("doneQTY", doneQTY);
itemsMap.put("nextOperationNum", nextOperationNum);
itemsMap.put("rate", String.format("%.2f",rate / items.get(item).size()) + "%");
itemsMap.put("endPlanTime", endPlanTime.substring(0,endPlanTime.length() - 2));
List<Map<String, Object>> itemsList = items.get(item);
Map<String, List<Map<String, Object>>> workOrders = itemsList.stream().
collect(Collectors.groupingBy(e -> e.get("workOrder").toString()));
for (String workOrder : workOrders.keySet()) {
HashMap<String, Object> workOrderMap = new HashMap<>();
List<HashMap<String, Object>> workOrderListJSONObject = new ArrayList<>();
workOrderMap.put("workOrder", workOrder);
//工作令汇总
Integer shopOrderQTY1 = 0;
Integer doneQTY1 = 0;
Float rate1 = 0F;
Integer nextOperationNum1 = 0;
String endPlanTime1 = String.valueOf(workOrders.get(workOrder).get(0).get("endPlanTime"));
for (Map<String, Object> map : workOrders.get(workOrder)) {
shopOrderQTY1 += Integer.valueOf(String.valueOf(map.get("shopOrderQTY")));
doneQTY1 += Integer.valueOf(String.valueOf(map.get("doneQTY")));
nextOperationNum1 += Integer.valueOf(String.valueOf(map.get("nextOperationNum")));
rate1 += Float.valueOf(String.valueOf(map.get("rate")).substring(0,String.valueOf(map.get("rate")).length() - 1));
if (endPlanTime1.compareTo(String.valueOf(map.get("endPlanTime"))) < 0){
endPlanTime1 = String.valueOf(map.get("endPlanTime"));
}
}
workOrderMap.put("shopOrderQTY", shopOrderQTY1);
workOrderMap.put("doneQTY", doneQTY1);
workOrderMap.put("nextOperationNum", nextOperationNum1);
workOrderMap.put("rate", String.format("%.2f",rate1 / workOrders.get(workOrder).size()) + "%");
workOrderMap.put("endPlanTime", endPlanTime1.substring(0,endPlanTime1.length() - 2));
List<Map<String, Object>> workOrderList = workOrders.get(workOrder);
Map<String, List<Map<String, Object>>> shopOrders = workOrderList.stream()
.collect(Collectors.groupingBy(e -> e.get("shopOrder").toString()));
for (String shopOrder : shopOrders.keySet()) {
HashMap<String, Object> shopOrderMap = new HashMap<>();
shopOrderMap.put("shopOrder", shopOrder);
List<JSONObject> shopOrderListJSONObject = new ArrayList<>();
List<Map<String, Object>> shopOrderMaps = shopOrders.get(shopOrder);
//存入订单号对应数据
@ -482,6 +528,7 @@ public class ReportServiceImpl implements ReportService {
HashMap<String, Object> result = new HashMap<>();
result.put("clothing", objectHashMap);
result.put("workOrder", paramMap.get("workOrder"));
result.put("oldData", maps);
return result;
}

@ -0,0 +1,626 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.foreverwin.mesnac.anomaly.mapper.ImprovementProposalsMapper">
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="com.foreverwin.mesnac.anomaly.model.ImprovementProposals">
<id column="HANDLE" property="handle" />
<result column="SITE" property="site" />
<result column="UPLOAD_CENTER" property="uploadCenter" />
<result column="UPLOAD_USER" property="uploadUser" />
<result column="SEQUENCE_CODE" property="sequenceCode" />
<result column="PROJECT_NUMBER" property="projectNumber" />
<result column="CLASSIFY" property="classify" />
<result column="PROJECT_LEADER" property="projectLeader" />
<result column="MEMBERS" property="members" />
<result column="MATERIAL_DATE" property="materialDate" />
<result column="BEFORE_PROBLEMS" property="beforeProblems" />
<result column="BEFORE_PICTURE" property="beforePicture" />
<result column="AFTER_PLAN" property="afterPlan" />
<result column="AFTER_PICTURE" property="afterPicture" />
<result column="IMPROVE_EFFECT" property="improveEffect" />
<result column="PRINCIPAL_OPINION" property="principalOpinion" />
<result column="PROPOSED_AMOUNT" property="proposedAmount" />
<result column="FINAL_AMOUNT" property="finalAmount" />
<result column="GROUP_VIEWS" property="groupViews" />
<result column="MANAGER_VIEWS" property="managerViews" />
<result column="CREATED_BY" property="createdBy" />
<result column="CREATED_TIME" property="createdTime" />
<result column="UPDATED_BY" property="updatedBy" />
<result column="UPDATED_TIME" property="updatedTime" />
</resultMap>
<!-- 通用查询结果列 -->
<sql id="Base_Column_List">
HANDLE, SITE, UPLOAD_CENTER, UPLOAD_USER, SEQUENCE_CODE, PROJECT_NUMBER, CLASSIFY, PROJECT_LEADER, MEMBERS, MATERIAL_DATE, BEFORE_PROBLEMS, BEFORE_PICTURE, AFTER_PLAN, AFTER_PICTURE, IMPROVE_EFFECT, PRINCIPAL_OPINION, PROPOSED_AMOUNT, FINAL_AMOUNT, GROUP_VIEWS, MANAGER_VIEWS, CREATED_BY, CREATED_TIME, UPDATED_BY, UPDATED_TIME,ROWNUM SEQ
</sql>
<!-- BaseMapper标准查询/修改/删除 -->
<select id="selectById" resultMap="BaseResultMap">
SELECT <include refid="Base_Column_List"></include> FROM Z_IMPROVEMENT_PROPOSALS WHERE HANDLE=#{handle}
</select>
<select id="selectByMap" resultMap="BaseResultMap">
SELECT <include refid="Base_Column_List"></include>
FROM Z_IMPROVEMENT_PROPOSALS
<if test="cm!=null and !cm.isEmpty">
<where>
<foreach collection="cm.keys" item="k" separator="AND">
<if test="cm[k] != null">
${k} = #{cm[${k}]}
</if>
</foreach>
</where>
</if>
</select>
<select id="selectBatchIds" resultMap="BaseResultMap">
SELECT <include refid="Base_Column_List"></include>
FROM Z_IMPROVEMENT_PROPOSALS WHERE HANDLE IN (
<foreach item="item" index="index" collection="coll" separator=",">#{item}
</foreach>)
</select>
<select id="selectOne" resultMap="BaseResultMap">
SELECT <include refid="Base_Column_List"></include> FROM Z_IMPROVEMENT_PROPOSALS
<where>
<if test="ew.entity.handle!=null">
HANDLE=#{ew.handle}
</if>
<if test="ew.entity.site!=null"> AND SITE=#{ew.entity.site}</if>
<if test="ew.entity.uploadCenter!=null"> AND UPLOAD_CENTER=#{ew.entity.uploadCenter}</if>
<if test="ew.entity.uploadUser!=null"> AND UPLOAD_USER=#{ew.entity.uploadUser}</if>
<if test="ew.entity.sequenceCode!=null"> AND SEQUENCE_CODE=#{ew.entity.sequenceCode}</if>
<if test="ew.entity.projectNumber!=null"> AND PROJECT_NUMBER=#{ew.entity.projectNumber}</if>
<if test="ew.entity.classify!=null"> AND CLASSIFY=#{ew.entity.classify}</if>
<if test="ew.entity.projectLeader!=null"> AND PROJECT_LEADER=#{ew.entity.projectLeader}</if>
<if test="ew.entity.members!=null"> AND MEMBERS=#{ew.entity.members}</if>
<if test="ew.entity.materialDate!=null"> AND MATERIAL_DATE=#{ew.entity.materialDate}</if>
<if test="ew.entity.beforeProblems!=null"> AND BEFORE_PROBLEMS=#{ew.entity.beforeProblems}</if>
<if test="ew.entity.beforePicture!=null"> AND BEFORE_PICTURE=#{ew.entity.beforePicture}</if>
<if test="ew.entity.afterPlan!=null"> AND AFTER_PLAN=#{ew.entity.afterPlan}</if>
<if test="ew.entity.afterPicture!=null"> AND AFTER_PICTURE=#{ew.entity.afterPicture}</if>
<if test="ew.entity.improveEffect!=null"> AND IMPROVE_EFFECT=#{ew.entity.improveEffect}</if>
<if test="ew.entity.principalOpinion!=null"> AND PRINCIPAL_OPINION=#{ew.entity.principalOpinion}</if>
<if test="ew.entity.proposedAmount!=null"> AND PROPOSED_AMOUNT=#{ew.entity.proposedAmount}</if>
<if test="ew.entity.finalAmount!=null"> AND FINAL_AMOUNT=#{ew.entity.finalAmount}</if>
<if test="ew.entity.groupViews!=null"> AND GROUP_VIEWS=#{ew.entity.groupViews}</if>
<if test="ew.entity.managerViews!=null"> AND MANAGER_VIEWS=#{ew.entity.managerViews}</if>
<if test="ew.entity.createdBy!=null"> AND CREATED_BY=#{ew.entity.createdBy}</if>
<if test="ew.entity.createdTime!=null"> AND CREATED_TIME=#{ew.entity.createdTime}</if>
<if test="ew.entity.updatedBy!=null"> AND UPDATED_BY=#{ew.entity.updatedBy}</if>
<if test="ew.entity.updatedTime!=null"> AND UPDATED_TIME=#{ew.entity.updatedTime}</if>
</where>
</select>
<select id="selectCount" resultType="Integer">
SELECT COUNT(1) FROM Z_IMPROVEMENT_PROPOSALS
<where>
<if test="ew!=null">
<if test="ew.entity!=null">
<if test="ew.entity.handle!=null">
HANDLE=#{ew.entity.handle}
</if>
<if test="ew.entity.site!=null"> AND SITE=#{ew.entity.site}</if>
<if test="ew.entity.uploadCenter!=null"> AND UPLOAD_CENTER=#{ew.entity.uploadCenter}</if>
<if test="ew.entity.uploadUser!=null"> AND UPLOAD_USER=#{ew.entity.uploadUser}</if>
<if test="ew.entity.sequenceCode!=null"> AND SEQUENCE_CODE=#{ew.entity.sequenceCode}</if>
<if test="ew.entity.projectNumber!=null"> AND PROJECT_NUMBER=#{ew.entity.projectNumber}</if>
<if test="ew.entity.classify!=null"> AND CLASSIFY=#{ew.entity.classify}</if>
<if test="ew.entity.projectLeader!=null"> AND PROJECT_LEADER=#{ew.entity.projectLeader}</if>
<if test="ew.entity.members!=null"> AND MEMBERS=#{ew.entity.members}</if>
<if test="ew.entity.materialDate!=null"> AND MATERIAL_DATE=#{ew.entity.materialDate}</if>
<if test="ew.entity.beforeProblems!=null"> AND BEFORE_PROBLEMS=#{ew.entity.beforeProblems}</if>
<if test="ew.entity.beforePicture!=null"> AND BEFORE_PICTURE=#{ew.entity.beforePicture}</if>
<if test="ew.entity.afterPlan!=null"> AND AFTER_PLAN=#{ew.entity.afterPlan}</if>
<if test="ew.entity.afterPicture!=null"> AND AFTER_PICTURE=#{ew.entity.afterPicture}</if>
<if test="ew.entity.improveEffect!=null"> AND IMPROVE_EFFECT=#{ew.entity.improveEffect}</if>
<if test="ew.entity.principalOpinion!=null"> AND PRINCIPAL_OPINION=#{ew.entity.principalOpinion}</if>
<if test="ew.entity.proposedAmount!=null"> AND PROPOSED_AMOUNT=#{ew.entity.proposedAmount}</if>
<if test="ew.entity.finalAmount!=null"> AND FINAL_AMOUNT=#{ew.entity.finalAmount}</if>
<if test="ew.entity.groupViews!=null"> AND GROUP_VIEWS=#{ew.entity.groupViews}</if>
<if test="ew.entity.managerViews!=null"> AND MANAGER_VIEWS=#{ew.entity.managerViews}</if>
<if test="ew.entity.createdBy!=null"> AND CREATED_BY=#{ew.entity.createdBy}</if>
<if test="ew.entity.createdTime!=null"> AND CREATED_TIME=#{ew.entity.createdTime}</if>
<if test="ew.entity.updatedBy!=null"> AND UPDATED_BY=#{ew.entity.updatedBy}</if>
<if test="ew.entity.updatedTime!=null"> AND UPDATED_TIME=#{ew.entity.updatedTime}</if>
</if>
<if test="ew!=null and ew.sqlSegment!=null and ew.nonEmptyOfWhere">
${ew.sqlSegment}
</if>
</if>
</where>
<if test="ew!=null and ew.sqlSegment!=null and ew.emptyOfWhere">
${ew.sqlSegment}
</if>
</select>
<select id="selectList" resultMap="BaseResultMap">
SELECT <choose><when test="ew != null and ew.sqlSelect != null">${ew.sqlSelect}</when><otherwise><include refid="Base_Column_List"></include></otherwise></choose> FROM Z_IMPROVEMENT_PROPOSALS
<where>
<if test="ew!=null">
<if test="ew.entity!=null">
<if test="ew.entity.handle!=null">
HANDLE=#{ew.entity.handle}
</if>
<if test="ew.entity.site!=null"> AND SITE=#{ew.entity.site}</if>
<if test="ew.entity.uploadCenter!=null"> AND UPLOAD_CENTER=#{ew.entity.uploadCenter}</if>
<if test="ew.entity.uploadUser!=null"> AND UPLOAD_USER=#{ew.entity.uploadUser}</if>
<if test="ew.entity.sequenceCode!=null"> AND SEQUENCE_CODE=#{ew.entity.sequenceCode}</if>
<if test="ew.entity.projectNumber!=null"> AND PROJECT_NUMBER=#{ew.entity.projectNumber}</if>
<if test="ew.entity.classify!=null"> AND CLASSIFY=#{ew.entity.classify}</if>
<if test="ew.entity.projectLeader!=null"> AND PROJECT_LEADER=#{ew.entity.projectLeader}</if>
<if test="ew.entity.members!=null"> AND MEMBERS=#{ew.entity.members}</if>
<if test="ew.entity.materialDate!=null"> AND MATERIAL_DATE=#{ew.entity.materialDate}</if>
<if test="ew.entity.beforeProblems!=null"> AND BEFORE_PROBLEMS=#{ew.entity.beforeProblems}</if>
<if test="ew.entity.beforePicture!=null"> AND BEFORE_PICTURE=#{ew.entity.beforePicture}</if>
<if test="ew.entity.afterPlan!=null"> AND AFTER_PLAN=#{ew.entity.afterPlan}</if>
<if test="ew.entity.afterPicture!=null"> AND AFTER_PICTURE=#{ew.entity.afterPicture}</if>
<if test="ew.entity.improveEffect!=null"> AND IMPROVE_EFFECT=#{ew.entity.improveEffect}</if>
<if test="ew.entity.principalOpinion!=null"> AND PRINCIPAL_OPINION=#{ew.entity.principalOpinion}</if>
<if test="ew.entity.proposedAmount!=null"> AND PROPOSED_AMOUNT=#{ew.entity.proposedAmount}</if>
<if test="ew.entity.finalAmount!=null"> AND FINAL_AMOUNT=#{ew.entity.finalAmount}</if>
<if test="ew.entity.groupViews!=null"> AND GROUP_VIEWS=#{ew.entity.groupViews}</if>
<if test="ew.entity.managerViews!=null"> AND MANAGER_VIEWS=#{ew.entity.managerViews}</if>
<if test="ew.entity.createdBy!=null"> AND CREATED_BY=#{ew.entity.createdBy}</if>
<if test="ew.entity.createdTime!=null"> AND CREATED_TIME=#{ew.entity.createdTime}</if>
<if test="ew.entity.updatedBy!=null"> AND UPDATED_BY=#{ew.entity.updatedBy}</if>
<if test="ew.entity.updatedTime!=null"> AND UPDATED_TIME=#{ew.entity.updatedTime}</if>
</if>
<if test="ew!=null and ew.sqlSegment!=null and ew.nonEmptyOfWhere">
${ew.sqlSegment}
</if>
</if>
</where>
<if test="ew!=null and ew.sqlSegment!=null and ew.emptyOfWhere">
${ew.sqlSegment}
</if>
</select>
<select id="selectMaps" resultType="HashMap">
SELECT <choose><when test="ew != null and ew.sqlSelect != null">${ew.sqlSelect}</when><otherwise><include refid="Base_Column_List"></include></otherwise></choose> FROM Z_IMPROVEMENT_PROPOSALS
<where>
<if test="ew!=null">
<if test="ew.entity!=null">
<if test="ew.entity.handle!=null">
HANDLE=#{ew.entity.handle}
</if>
<if test="ew.entity.site!=null"> AND SITE=#{ew.entity.site}</if>
<if test="ew.entity.uploadCenter!=null"> AND UPLOAD_CENTER=#{ew.entity.uploadCenter}</if>
<if test="ew.entity.uploadUser!=null"> AND UPLOAD_USER=#{ew.entity.uploadUser}</if>
<if test="ew.entity.sequenceCode!=null"> AND SEQUENCE_CODE=#{ew.entity.sequenceCode}</if>
<if test="ew.entity.projectNumber!=null"> AND PROJECT_NUMBER=#{ew.entity.projectNumber}</if>
<if test="ew.entity.classify!=null"> AND CLASSIFY=#{ew.entity.classify}</if>
<if test="ew.entity.projectLeader!=null"> AND PROJECT_LEADER=#{ew.entity.projectLeader}</if>
<if test="ew.entity.members!=null"> AND MEMBERS=#{ew.entity.members}</if>
<if test="ew.entity.materialDate!=null"> AND MATERIAL_DATE=#{ew.entity.materialDate}</if>
<if test="ew.entity.beforeProblems!=null"> AND BEFORE_PROBLEMS=#{ew.entity.beforeProblems}</if>
<if test="ew.entity.beforePicture!=null"> AND BEFORE_PICTURE=#{ew.entity.beforePicture}</if>
<if test="ew.entity.afterPlan!=null"> AND AFTER_PLAN=#{ew.entity.afterPlan}</if>
<if test="ew.entity.afterPicture!=null"> AND AFTER_PICTURE=#{ew.entity.afterPicture}</if>
<if test="ew.entity.improveEffect!=null"> AND IMPROVE_EFFECT=#{ew.entity.improveEffect}</if>
<if test="ew.entity.principalOpinion!=null"> AND PRINCIPAL_OPINION=#{ew.entity.principalOpinion}</if>
<if test="ew.entity.proposedAmount!=null"> AND PROPOSED_AMOUNT=#{ew.entity.proposedAmount}</if>
<if test="ew.entity.finalAmount!=null"> AND FINAL_AMOUNT=#{ew.entity.finalAmount}</if>
<if test="ew.entity.groupViews!=null"> AND GROUP_VIEWS=#{ew.entity.groupViews}</if>
<if test="ew.entity.managerViews!=null"> AND MANAGER_VIEWS=#{ew.entity.managerViews}</if>
<if test="ew.entity.createdBy!=null"> AND CREATED_BY=#{ew.entity.createdBy}</if>
<if test="ew.entity.createdTime!=null"> AND CREATED_TIME=#{ew.entity.createdTime}</if>
<if test="ew.entity.updatedBy!=null"> AND UPDATED_BY=#{ew.entity.updatedBy}</if>
<if test="ew.entity.updatedTime!=null"> AND UPDATED_TIME=#{ew.entity.updatedTime}</if>
</if>
<if test="ew!=null and ew.sqlSegment!=null and ew.nonEmptyOfWhere">
${ew.sqlSegment}
</if>
</if>
</where>
<if test="ew!=null and ew.sqlSegment!=null and ew.emptyOfWhere">
${ew.sqlSegment}
</if>
</select>
<select id="selectObjs" resultType="Object">
SELECT <choose><when test="ew != null and ew.sqlSelect != null">${ew.sqlSelect}</when><otherwise><include refid="Base_Column_List"></include></otherwise></choose> FROM Z_IMPROVEMENT_PROPOSALS
<where>
<if test="ew!=null">
<if test="ew.entity!=null">
<if test="ew.entity.handle!=null">
HANDLE=#{ew.entity.handle}
</if>
<if test="ew.entity.site!=null"> AND SITE=#{ew.entity.site}</if>
<if test="ew.entity.uploadCenter!=null"> AND UPLOAD_CENTER=#{ew.entity.uploadCenter}</if>
<if test="ew.entity.uploadUser!=null"> AND UPLOAD_USER=#{ew.entity.uploadUser}</if>
<if test="ew.entity.sequenceCode!=null"> AND SEQUENCE_CODE=#{ew.entity.sequenceCode}</if>
<if test="ew.entity.projectNumber!=null"> AND PROJECT_NUMBER=#{ew.entity.projectNumber}</if>
<if test="ew.entity.classify!=null"> AND CLASSIFY=#{ew.entity.classify}</if>
<if test="ew.entity.projectLeader!=null"> AND PROJECT_LEADER=#{ew.entity.projectLeader}</if>
<if test="ew.entity.members!=null"> AND MEMBERS=#{ew.entity.members}</if>
<if test="ew.entity.materialDate!=null"> AND MATERIAL_DATE=#{ew.entity.materialDate}</if>
<if test="ew.entity.beforeProblems!=null"> AND BEFORE_PROBLEMS=#{ew.entity.beforeProblems}</if>
<if test="ew.entity.beforePicture!=null"> AND BEFORE_PICTURE=#{ew.entity.beforePicture}</if>
<if test="ew.entity.afterPlan!=null"> AND AFTER_PLAN=#{ew.entity.afterPlan}</if>
<if test="ew.entity.afterPicture!=null"> AND AFTER_PICTURE=#{ew.entity.afterPicture}</if>
<if test="ew.entity.improveEffect!=null"> AND IMPROVE_EFFECT=#{ew.entity.improveEffect}</if>
<if test="ew.entity.principalOpinion!=null"> AND PRINCIPAL_OPINION=#{ew.entity.principalOpinion}</if>
<if test="ew.entity.proposedAmount!=null"> AND PROPOSED_AMOUNT=#{ew.entity.proposedAmount}</if>
<if test="ew.entity.finalAmount!=null"> AND FINAL_AMOUNT=#{ew.entity.finalAmount}</if>
<if test="ew.entity.groupViews!=null"> AND GROUP_VIEWS=#{ew.entity.groupViews}</if>
<if test="ew.entity.managerViews!=null"> AND MANAGER_VIEWS=#{ew.entity.managerViews}</if>
<if test="ew.entity.createdBy!=null"> AND CREATED_BY=#{ew.entity.createdBy}</if>
<if test="ew.entity.createdTime!=null"> AND CREATED_TIME=#{ew.entity.createdTime}</if>
<if test="ew.entity.updatedBy!=null"> AND UPDATED_BY=#{ew.entity.updatedBy}</if>
<if test="ew.entity.updatedTime!=null"> AND UPDATED_TIME=#{ew.entity.updatedTime}</if>
</if>
<if test="ew!=null and ew.sqlSegment!=null and ew.nonEmptyOfWhere">
${ew.sqlSegment}
</if>
</if>
</where>
<if test="ew!=null and ew.sqlSegment!=null and ew.emptyOfWhere">
${ew.sqlSegment}
</if>
</select>
<select id="selectPage" resultMap="BaseResultMap">
SELECT <choose><when test="ew != null and ew.sqlSelect != null">${ew.sqlSelect}</when><otherwise><include refid="Base_Column_List"></include></otherwise></choose> FROM Z_IMPROVEMENT_PROPOSALS
<where>
<if test="ew!=null">
<if test="ew.entity!=null">
<if test="ew.entity.handle!=null">
HANDLE=#{ew.entity.handle}
</if>
<if test="ew.entity.site!=null"> AND SITE=#{ew.entity.site}</if>
<if test="ew.entity.uploadCenter!=null"> AND UPLOAD_CENTER=#{ew.entity.uploadCenter}</if>
<if test="ew.entity.uploadUser!=null"> AND UPLOAD_USER=#{ew.entity.uploadUser}</if>
<if test="ew.entity.sequenceCode!=null"> AND SEQUENCE_CODE=#{ew.entity.sequenceCode}</if>
<if test="ew.entity.projectNumber!=null"> AND PROJECT_NUMBER=#{ew.entity.projectNumber}</if>
<if test="ew.entity.classify!=null"> AND CLASSIFY=#{ew.entity.classify}</if>
<if test="ew.entity.projectLeader!=null"> AND PROJECT_LEADER=#{ew.entity.projectLeader}</if>
<if test="ew.entity.members!=null"> AND MEMBERS=#{ew.entity.members}</if>
<if test="ew.entity.materialDate!=null"> AND MATERIAL_DATE=#{ew.entity.materialDate}</if>
<if test="ew.entity.beforeProblems!=null"> AND BEFORE_PROBLEMS=#{ew.entity.beforeProblems}</if>
<if test="ew.entity.beforePicture!=null"> AND BEFORE_PICTURE=#{ew.entity.beforePicture}</if>
<if test="ew.entity.afterPlan!=null"> AND AFTER_PLAN=#{ew.entity.afterPlan}</if>
<if test="ew.entity.afterPicture!=null"> AND AFTER_PICTURE=#{ew.entity.afterPicture}</if>
<if test="ew.entity.improveEffect!=null"> AND IMPROVE_EFFECT=#{ew.entity.improveEffect}</if>
<if test="ew.entity.principalOpinion!=null"> AND PRINCIPAL_OPINION=#{ew.entity.principalOpinion}</if>
<if test="ew.entity.proposedAmount!=null"> AND PROPOSED_AMOUNT=#{ew.entity.proposedAmount}</if>
<if test="ew.entity.finalAmount!=null"> AND FINAL_AMOUNT=#{ew.entity.finalAmount}</if>
<if test="ew.entity.groupViews!=null"> AND GROUP_VIEWS=#{ew.entity.groupViews}</if>
<if test="ew.entity.managerViews!=null"> AND MANAGER_VIEWS=#{ew.entity.managerViews}</if>
<if test="ew.entity.createdBy!=null"> AND CREATED_BY=#{ew.entity.createdBy}</if>
<if test="ew.entity.createdTime!=null"> AND CREATED_TIME=#{ew.entity.createdTime}</if>
<if test="ew.entity.updatedBy!=null"> AND UPDATED_BY=#{ew.entity.updatedBy}</if>
<if test="ew.entity.updatedTime!=null"> AND UPDATED_TIME=#{ew.entity.updatedTime}</if>
</if>
<if test="ew!=null and ew.sqlSegment!=null and ew.nonEmptyOfWhere">
${ew.sqlSegment}
</if>
</if>
</where>
<if test="ew!=null and ew.sqlSegment!=null and ew.emptyOfWhere">
${ew.sqlSegment}
</if>
</select>
<select id="selectMapsPage" resultType="HashMap">
SELECT <choose><when test="ew != null and ew.sqlSelect != null">${ew.sqlSelect}</when><otherwise><include refid="Base_Column_List"></include></otherwise></choose> FROM Z_IMPROVEMENT_PROPOSALS
<where>
<if test="ew!=null">
<if test="ew.entity!=null">
<if test="ew.entity.handle!=null">
HANDLE=#{ew.entity.handle}
</if>
<if test="ew.entity.site!=null"> AND SITE=#{ew.entity.site}</if>
<if test="ew.entity.uploadCenter!=null"> AND UPLOAD_CENTER=#{ew.entity.uploadCenter}</if>
<if test="ew.entity.uploadUser!=null"> AND UPLOAD_USER=#{ew.entity.uploadUser}</if>
<if test="ew.entity.sequenceCode!=null"> AND SEQUENCE_CODE=#{ew.entity.sequenceCode}</if>
<if test="ew.entity.projectNumber!=null"> AND PROJECT_NUMBER=#{ew.entity.projectNumber}</if>
<if test="ew.entity.classify!=null"> AND CLASSIFY=#{ew.entity.classify}</if>
<if test="ew.entity.projectLeader!=null"> AND PROJECT_LEADER=#{ew.entity.projectLeader}</if>
<if test="ew.entity.members!=null"> AND MEMBERS=#{ew.entity.members}</if>
<if test="ew.entity.materialDate!=null"> AND MATERIAL_DATE=#{ew.entity.materialDate}</if>
<if test="ew.entity.beforeProblems!=null"> AND BEFORE_PROBLEMS=#{ew.entity.beforeProblems}</if>
<if test="ew.entity.beforePicture!=null"> AND BEFORE_PICTURE=#{ew.entity.beforePicture}</if>
<if test="ew.entity.afterPlan!=null"> AND AFTER_PLAN=#{ew.entity.afterPlan}</if>
<if test="ew.entity.afterPicture!=null"> AND AFTER_PICTURE=#{ew.entity.afterPicture}</if>
<if test="ew.entity.improveEffect!=null"> AND IMPROVE_EFFECT=#{ew.entity.improveEffect}</if>
<if test="ew.entity.principalOpinion!=null"> AND PRINCIPAL_OPINION=#{ew.entity.principalOpinion}</if>
<if test="ew.entity.proposedAmount!=null"> AND PROPOSED_AMOUNT=#{ew.entity.proposedAmount}</if>
<if test="ew.entity.finalAmount!=null"> AND FINAL_AMOUNT=#{ew.entity.finalAmount}</if>
<if test="ew.entity.groupViews!=null"> AND GROUP_VIEWS=#{ew.entity.groupViews}</if>
<if test="ew.entity.managerViews!=null"> AND MANAGER_VIEWS=#{ew.entity.managerViews}</if>
<if test="ew.entity.createdBy!=null"> AND CREATED_BY=#{ew.entity.createdBy}</if>
<if test="ew.entity.createdTime!=null"> AND CREATED_TIME=#{ew.entity.createdTime}</if>
<if test="ew.entity.updatedBy!=null"> AND UPDATED_BY=#{ew.entity.updatedBy}</if>
<if test="ew.entity.updatedTime!=null"> AND UPDATED_TIME=#{ew.entity.updatedTime}</if>
</if>
<if test="ew!=null and ew.sqlSegment!=null and ew.nonEmptyOfWhere">
${ew.sqlSegment}
</if>
</if>
</where>
<if test="ew!=null and ew.sqlSegment!=null and ew.emptyOfWhere">
${ew.sqlSegment}
</if>
</select>
<insert id="insert" parameterType="com.foreverwin.mesnac.anomaly.model.ImprovementProposals">
INSERT INTO Z_IMPROVEMENT_PROPOSALS
<trim prefix="(" suffix=")" suffixOverrides=",">
HANDLE,
<if test="site!=null">SITE,</if>
<if test="uploadCenter!=null">UPLOAD_CENTER,</if>
<if test="uploadUser!=null">UPLOAD_USER,</if>
<if test="sequenceCode!=null">SEQUENCE_CODE,</if>
<if test="projectNumber!=null">PROJECT_NUMBER,</if>
<if test="classify!=null">CLASSIFY,</if>
<if test="projectLeader!=null">PROJECT_LEADER,</if>
<if test="members!=null">MEMBERS,</if>
<if test="materialDate!=null">MATERIAL_DATE,</if>
<if test="beforeProblems!=null">BEFORE_PROBLEMS,</if>
<if test="beforePicture!=null">BEFORE_PICTURE,</if>
<if test="afterPlan!=null">AFTER_PLAN,</if>
<if test="afterPicture!=null">AFTER_PICTURE,</if>
<if test="improveEffect!=null">IMPROVE_EFFECT,</if>
<if test="principalOpinion!=null">PRINCIPAL_OPINION,</if>
<if test="proposedAmount!=null">PROPOSED_AMOUNT,</if>
<if test="finalAmount!=null">FINAL_AMOUNT,</if>
<if test="groupViews!=null">GROUP_VIEWS,</if>
<if test="managerViews!=null">MANAGER_VIEWS,</if>
<if test="createdBy!=null">CREATED_BY,</if>
<if test="createdTime!=null">CREATED_TIME,</if>
<if test="updatedBy!=null">UPDATED_BY,</if>
<if test="updatedTime!=null">UPDATED_TIME,</if>
</trim> VALUES
<trim prefix="(" suffix=")" suffixOverrides=",">
#{handle},
<if test="site!=null">#{site},</if>
<if test="uploadCenter!=null">#{uploadCenter},</if>
<if test="uploadUser!=null">#{uploadUser},</if>
<if test="sequenceCode!=null">#{sequenceCode},</if>
<if test="projectNumber!=null">#{projectNumber},</if>
<if test="classify!=null">#{classify},</if>
<if test="projectLeader!=null">#{projectLeader},</if>
<if test="members!=null">#{members},</if>
<if test="materialDate!=null">#{materialDate},</if>
<if test="beforeProblems!=null">#{beforeProblems},</if>
<if test="beforePicture!=null">#{beforePicture},</if>
<if test="afterPlan!=null">#{afterPlan},</if>
<if test="afterPicture!=null">#{afterPicture},</if>
<if test="improveEffect!=null">#{improveEffect},</if>
<if test="principalOpinion!=null">#{principalOpinion},</if>
<if test="proposedAmount!=null">#{proposedAmount},</if>
<if test="finalAmount!=null">#{finalAmount},</if>
<if test="groupViews!=null">#{groupViews},</if>
<if test="managerViews!=null">#{managerViews},</if>
<if test="createdBy!=null">#{createdBy},</if>
<if test="createdTime!=null">#{createdTime},</if>
<if test="updatedBy!=null">#{updatedBy},</if>
<if test="updatedTime!=null">#{updatedTime},</if>
</trim>
</insert>
<insert id="insertAllColumn" parameterType="com.foreverwin.mesnac.anomaly.model.ImprovementProposals">
INSERT INTO Z_IMPROVEMENT_PROPOSALS
<trim prefix="(" suffix=")" suffixOverrides=",">
<include refid="Base_Column_List"></include>
</trim> VALUES
<trim prefix="(" suffix=")" suffixOverrides=",">
#{handle},
#{site},
#{uploadCenter},
#{uploadUser},
#{sequenceCode},
#{projectNumber},
#{classify},
#{projectLeader},
#{members},
#{materialDate},
#{beforeProblems},
#{beforePicture},
#{afterPlan},
#{afterPicture},
#{improveEffect},
#{principalOpinion},
#{proposedAmount},
#{finalAmount},
#{groupViews},
#{managerViews},
#{createdBy},
#{createdTime},
#{updatedBy},
#{updatedTime},
</trim>
</insert>
<update id="updateById">
UPDATE Z_IMPROVEMENT_PROPOSALS <trim prefix="SET" suffixOverrides=",">
<if test="et.site!=null">SITE=#{et.site},</if>
<if test="et.uploadCenter!=null">UPLOAD_CENTER=#{et.uploadCenter},</if>
<if test="et.uploadUser!=null">UPLOAD_USER=#{et.uploadUser},</if>
<if test="et.sequenceCode!=null">SEQUENCE_CODE=#{et.sequenceCode},</if>
<if test="et.projectNumber!=null">PROJECT_NUMBER=#{et.projectNumber},</if>
<if test="et.classify!=null">CLASSIFY=#{et.classify},</if>
<if test="et.projectLeader!=null">PROJECT_LEADER=#{et.projectLeader},</if>
<if test="et.members!=null">MEMBERS=#{et.members},</if>
<if test="et.materialDate!=null">MATERIAL_DATE=#{et.materialDate},</if>
<if test="et.beforeProblems!=null">BEFORE_PROBLEMS=#{et.beforeProblems},</if>
<if test="et.beforePicture!=null">BEFORE_PICTURE=#{et.beforePicture},</if>
<if test="et.afterPlan!=null">AFTER_PLAN=#{et.afterPlan},</if>
<if test="et.afterPicture!=null">AFTER_PICTURE=#{et.afterPicture},</if>
<if test="et.improveEffect!=null">IMPROVE_EFFECT=#{et.improveEffect},</if>
<if test="et.principalOpinion!=null">PRINCIPAL_OPINION=#{et.principalOpinion},</if>
<if test="et.proposedAmount!=null">PROPOSED_AMOUNT=#{et.proposedAmount},</if>
<if test="et.finalAmount!=null">FINAL_AMOUNT=#{et.finalAmount},</if>
<if test="et.groupViews!=null">GROUP_VIEWS=#{et.groupViews},</if>
<if test="et.managerViews!=null">MANAGER_VIEWS=#{et.managerViews},</if>
<if test="et.createdBy!=null">CREATED_BY=#{et.createdBy},</if>
<if test="et.createdTime!=null">CREATED_TIME=#{et.createdTime},</if>
<if test="et.updatedBy!=null">UPDATED_BY=#{et.updatedBy},</if>
<if test="et.updatedTime!=null">UPDATED_TIME=#{et.updatedTime},</if>
</trim> WHERE HANDLE=#{et.handle} <if test="et instanceof java.util.Map"><if test="et.MP_OPTLOCK_VERSION_ORIGINAL!=null">and ${et.MP_OPTLOCK_VERSION_COLUMN}=#{et.MP_OPTLOCK_VERSION_ORIGINAL}</if></if>
</update>
<update id="updateAllColumnById">
UPDATE Z_IMPROVEMENT_PROPOSALS <trim prefix="SET" suffixOverrides=",">
SITE=#{et.site},
UPLOAD_CENTER=#{et.uploadCenter},
UPLOAD_USER=#{et.uploadUser},
SEQUENCE_CODE=#{et.sequenceCode},
PROJECT_NUMBER=#{et.projectNumber},
CLASSIFY=#{et.classify},
PROJECT_LEADER=#{et.projectLeader},
MEMBERS=#{et.members},
MATERIAL_DATE=#{et.materialDate},
BEFORE_PROBLEMS=#{et.beforeProblems},
BEFORE_PICTURE=#{et.beforePicture},
AFTER_PLAN=#{et.afterPlan},
AFTER_PICTURE=#{et.afterPicture},
IMPROVE_EFFECT=#{et.improveEffect},
PRINCIPAL_OPINION=#{et.principalOpinion},
PROPOSED_AMOUNT=#{et.proposedAmount},
FINAL_AMOUNT=#{et.finalAmount},
GROUP_VIEWS=#{et.groupViews},
MANAGER_VIEWS=#{et.managerViews},
CREATED_BY=#{et.createdBy},
CREATED_TIME=#{et.createdTime},
UPDATED_BY=#{et.updatedBy},
UPDATED_TIME=#{et.updatedTime},
</trim> WHERE HANDLE=#{et.handle} <if test="et instanceof java.util.Map"><if test="et.MP_OPTLOCK_VERSION_ORIGINAL!=null">and ${et.MP_OPTLOCK_VERSION_COLUMN}=#{et.MP_OPTLOCK_VERSION_ORIGINAL}</if></if>
</update>
<update id="update">
UPDATE Z_IMPROVEMENT_PROPOSALS <trim prefix="SET" suffixOverrides=",">
<if test="et.site!=null">SITE=#{et.site},</if>
<if test="et.uploadCenter!=null">UPLOAD_CENTER=#{et.uploadCenter},</if>
<if test="et.uploadUser!=null">UPLOAD_USER=#{et.uploadUser},</if>
<if test="et.sequenceCode!=null">SEQUENCE_CODE=#{et.sequenceCode},</if>
<if test="et.projectNumber!=null">PROJECT_NUMBER=#{et.projectNumber},</if>
<if test="et.classify!=null">CLASSIFY=#{et.classify},</if>
<if test="et.projectLeader!=null">PROJECT_LEADER=#{et.projectLeader},</if>
<if test="et.members!=null">MEMBERS=#{et.members},</if>
<if test="et.materialDate!=null">MATERIAL_DATE=#{et.materialDate},</if>
<if test="et.beforeProblems!=null">BEFORE_PROBLEMS=#{et.beforeProblems},</if>
<if test="et.beforePicture!=null">BEFORE_PICTURE=#{et.beforePicture},</if>
<if test="et.afterPlan!=null">AFTER_PLAN=#{et.afterPlan},</if>
<if test="et.afterPicture!=null">AFTER_PICTURE=#{et.afterPicture},</if>
<if test="et.improveEffect!=null">IMPROVE_EFFECT=#{et.improveEffect},</if>
<if test="et.principalOpinion!=null">PRINCIPAL_OPINION=#{et.principalOpinion},</if>
<if test="et.proposedAmount!=null">PROPOSED_AMOUNT=#{et.proposedAmount},</if>
<if test="et.finalAmount!=null">FINAL_AMOUNT=#{et.finalAmount},</if>
<if test="et.groupViews!=null">GROUP_VIEWS=#{et.groupViews},</if>
<if test="et.managerViews!=null">MANAGER_VIEWS=#{et.managerViews},</if>
<if test="et.createdBy!=null">CREATED_BY=#{et.createdBy},</if>
<if test="et.createdTime!=null">CREATED_TIME=#{et.createdTime},</if>
<if test="et.updatedBy!=null">UPDATED_BY=#{et.updatedBy},</if>
<if test="et.updatedTime!=null">UPDATED_TIME=#{et.updatedTime},</if>
</trim>
<where>
<if test="ew!=null">
<if test="ew.entity!=null">
HANDLE=#{ew.entity.handle}
<if test="ew.entity.site!=null"> AND SITE=#{ew.entity.site}</if>
<if test="ew.entity.uploadCenter!=null"> AND UPLOAD_CENTER=#{ew.entity.uploadCenter}</if>
<if test="ew.entity.uploadUser!=null"> AND UPLOAD_USER=#{ew.entity.uploadUser}</if>
<if test="ew.entity.sequenceCode!=null"> AND SEQUENCE_CODE=#{ew.entity.sequenceCode}</if>
<if test="ew.entity.projectNumber!=null"> AND PROJECT_NUMBER=#{ew.entity.projectNumber}</if>
<if test="ew.entity.classify!=null"> AND CLASSIFY=#{ew.entity.classify}</if>
<if test="ew.entity.projectLeader!=null"> AND PROJECT_LEADER=#{ew.entity.projectLeader}</if>
<if test="ew.entity.members!=null"> AND MEMBERS=#{ew.entity.members}</if>
<if test="ew.entity.materialDate!=null"> AND MATERIAL_DATE=#{ew.entity.materialDate}</if>
<if test="ew.entity.beforeProblems!=null"> AND BEFORE_PROBLEMS=#{ew.entity.beforeProblems}</if>
<if test="ew.entity.beforePicture!=null"> AND BEFORE_PICTURE=#{ew.entity.beforePicture}</if>
<if test="ew.entity.afterPlan!=null"> AND AFTER_PLAN=#{ew.entity.afterPlan}</if>
<if test="ew.entity.afterPicture!=null"> AND AFTER_PICTURE=#{ew.entity.afterPicture}</if>
<if test="ew.entity.improveEffect!=null"> AND IMPROVE_EFFECT=#{ew.entity.improveEffect}</if>
<if test="ew.entity.principalOpinion!=null"> AND PRINCIPAL_OPINION=#{ew.entity.principalOpinion}</if>
<if test="ew.entity.proposedAmount!=null"> AND PROPOSED_AMOUNT=#{ew.entity.proposedAmount}</if>
<if test="ew.entity.finalAmount!=null"> AND FINAL_AMOUNT=#{ew.entity.finalAmount}</if>
<if test="ew.entity.groupViews!=null"> AND GROUP_VIEWS=#{ew.entity.groupViews}</if>
<if test="ew.entity.managerViews!=null"> AND MANAGER_VIEWS=#{ew.entity.managerViews}</if>
<if test="ew.entity.createdBy!=null"> AND CREATED_BY=#{ew.entity.createdBy}</if>
<if test="ew.entity.createdTime!=null"> AND CREATED_TIME=#{ew.entity.createdTime}</if>
<if test="ew.entity.updatedBy!=null"> AND UPDATED_BY=#{ew.entity.updatedBy}</if>
<if test="ew.entity.updatedTime!=null"> AND UPDATED_TIME=#{ew.entity.updatedTime}</if>
</if>
<if test="ew!=null and ew.sqlSegment!=null and ew.nonEmptyOfWhere">
${ew.sqlSegment}
</if>
</if>
</where>
<if test="ew!=null and ew.sqlSegment!=null and ew.emptyOfWhere">
${ew.sqlSegment}
</if>
</update>
<delete id="deleteById">
DELETE FROM Z_IMPROVEMENT_PROPOSALS WHERE HANDLE=#{handle}
</delete>
<delete id="deleteByMap">
DELETE FROM Z_IMPROVEMENT_PROPOSALS
<if test="cm!=null and !cm.isEmpty">
<where>
<foreach collection="cm.keys" item="k" separator="AND">
<if test="cm[k] != null">
${k} = #{cm[${k}]}
</if>
</foreach>
</where>
</if>
</delete>
<delete id="delete">
DELETE FROM Z_IMPROVEMENT_PROPOSALS
<where>
<if test="ew!=null">
<if test="ew.entity!=null">
<if test="ew.entity.handle!=null">
HANDLE=#{ew.entity.handle}
</if>
<if test="ew.entity.site!=null"> AND SITE=#{ew.entity.site}</if>
<if test="ew.entity.uploadCenter!=null"> AND UPLOAD_CENTER=#{ew.entity.uploadCenter}</if>
<if test="ew.entity.uploadUser!=null"> AND UPLOAD_USER=#{ew.entity.uploadUser}</if>
<if test="ew.entity.sequenceCode!=null"> AND SEQUENCE_CODE=#{ew.entity.sequenceCode}</if>
<if test="ew.entity.projectNumber!=null"> AND PROJECT_NUMBER=#{ew.entity.projectNumber}</if>
<if test="ew.entity.classify!=null"> AND CLASSIFY=#{ew.entity.classify}</if>
<if test="ew.entity.projectLeader!=null"> AND PROJECT_LEADER=#{ew.entity.projectLeader}</if>
<if test="ew.entity.members!=null"> AND MEMBERS=#{ew.entity.members}</if>
<if test="ew.entity.materialDate!=null"> AND MATERIAL_DATE=#{ew.entity.materialDate}</if>
<if test="ew.entity.beforeProblems!=null"> AND BEFORE_PROBLEMS=#{ew.entity.beforeProblems}</if>
<if test="ew.entity.beforePicture!=null"> AND BEFORE_PICTURE=#{ew.entity.beforePicture}</if>
<if test="ew.entity.afterPlan!=null"> AND AFTER_PLAN=#{ew.entity.afterPlan}</if>
<if test="ew.entity.afterPicture!=null"> AND AFTER_PICTURE=#{ew.entity.afterPicture}</if>
<if test="ew.entity.improveEffect!=null"> AND IMPROVE_EFFECT=#{ew.entity.improveEffect}</if>
<if test="ew.entity.principalOpinion!=null"> AND PRINCIPAL_OPINION=#{ew.entity.principalOpinion}</if>
<if test="ew.entity.proposedAmount!=null"> AND PROPOSED_AMOUNT=#{ew.entity.proposedAmount}</if>
<if test="ew.entity.finalAmount!=null"> AND FINAL_AMOUNT=#{ew.entity.finalAmount}</if>
<if test="ew.entity.groupViews!=null"> AND GROUP_VIEWS=#{ew.entity.groupViews}</if>
<if test="ew.entity.managerViews!=null"> AND MANAGER_VIEWS=#{ew.entity.managerViews}</if>
<if test="ew.entity.createdBy!=null"> AND CREATED_BY=#{ew.entity.createdBy}</if>
<if test="ew.entity.createdTime!=null"> AND CREATED_TIME=#{ew.entity.createdTime}</if>
<if test="ew.entity.updatedBy!=null"> AND UPDATED_BY=#{ew.entity.updatedBy}</if>
<if test="ew.entity.updatedTime!=null"> AND UPDATED_TIME=#{ew.entity.updatedTime}</if>
</if>
<if test="ew!=null and ew.sqlSegment!=null and ew.nonEmptyOfWhere">
${ew.sqlSegment}
</if>
</if>
</where>
<if test="ew!=null and ew.sqlSegment!=null and ew.emptyOfWhere">
${ew.sqlSegment}
</if>
</delete>
<delete id="deleteBatchIds">
DELETE FROM Z_IMPROVEMENT_PROPOSALS WHERE HANDLE IN (
<foreach item="item" index="index" collection="coll" separator=",">#{item}
</foreach>)
</delete>
<!-- BaseMapper标准查询/修改/删除 -->
</mapper>

@ -1153,10 +1153,7 @@
WIP.SFC "SFC",
WIP.itemDescription "itemDescription",
WIP.shopOrderQTY "shopOrderQTY",
CASE
WHEN zsd2.DISPATCH_STATUS = 'COMPLETE' THEN
zsd2.DISPATCH_QTY
ELSE 0 END "doneQTY",--已完成数量
WIP.doneQTY "doneQTY",--已完成数量
WIP.rate || '%' "rate",
OT.DESCRIPTION "currentOperation",
WIP.nextOperationNum "nextOperationNum",
@ -1183,11 +1180,11 @@
TO_CHAR(
DECODE(SUM(CASE
WHEN zsd.DISPATCH_STATUS = 'COMPLETE' THEN
zsd.PROD_HOURS
zsd.PROD_HOURS * zsd.DISPATCH_QTY
ELSE 0 END), 0, 0, SUM(CASE
WHEN zsd.DISPATCH_STATUS = 'COMPLETE' THEN
zsd.PROD_HOURS
ELSE 0 END) / SUM(zsd.PROD_HOURS))
zsd.PROD_HOURS * zsd.DISPATCH_QTY
ELSE 0 END) / SUM(zsd.PROD_HOURS * zsd.DISPATCH_QTY))
* 100, '99990.99') rate,--进度(工时百分比)
MAX(zsd.ACTUAL_START_DATE) ACTUAL_START_DATE,--最大实际开始时间
SUM(CASE WHEN zsd.DISPATCH_STATUS != 'COMPLETE' THEN 1 ELSE 0 END) nextOperationNum,--剩余工序数量
@ -1246,7 +1243,6 @@
ORDER BY zsd.ACTUAL_START_DATE
</select>
<select id="qualityShows" parameterType="java.util.HashMap" resultType="java.util.HashMap">
--事业部质量看板
SELECT zab.ABNORMAL_NO "abnormalNo",--异常单号
@ -1257,7 +1253,7 @@
zsd.PLANNED_COMP_DATE "planEndCompDate",--预计完工时间
zsd.REWORK_SUM "reworkSum",--返修工序数量
zsd.LAST_REWORK_SUM "lastReworkSum",--剩余返修工序数量
zsd.RATE "rate"--进度百分比(工时)
zsd.RATE || '%' "rate"--进度百分比(工时)
FROM Z_ABNORMAL_BILL zab
LEFT JOIN SHOP_ORDER so ON so.SHOP_ORDER = zab.SHOP_ORDER AND so.SITE = zab.SITE
LEFT JOIN ITEM i On i.HANDLE = so.ITEM_BO AND I.SITE = SO.SITE
@ -1265,24 +1261,25 @@
JOIN Z_ABNORMAL_BILL_DISPOSE ZABD ON ZABD.ABNORMAL_BILL_BO = ZAB.HANDLE
JOIN (SELECT zsd.SFC,
MAX(zsd.PLANNED_COMP_DATE) PLANNED_COMP_DATE,
COUNT(zsd.SFC) REWORK_SUM,
COUNT(CASE
COUNT(*) REWORK_SUM,
SUM(CASE
WHEN zsd.DISPATCH_STATUS = 'COMPLETE' THEN 0
ELSE 1 END) LAST_REWORK_SUM,
TO_CHAR(
DECODE(SUM(CASE
WHEN zsd.DISPATCH_STATUS = 'COMPLETE' THEN
zsd.PROD_HOURS
zsd.PROD_HOURS * zsd.DISPATCH_QTY
ELSE 0 END), 0, 0, SUM(CASE
WHEN zsd.DISPATCH_STATUS = 'COMPLETE' THEN
zsd.PROD_HOURS
ELSE 0 END) / SUM(zsd.PROD_HOURS))
* 100, '99990.99') || '%' RATE --进度百分比
zsd.PROD_HOURS * zsd.DISPATCH_QTY
ELSE 0 END) / SUM(zsd.PROD_HOURS * zsd.DISPATCH_QTY))
* 100, '99990.99') RATE --进度百分比
FROM Z_SFC_DISPATCH zsd
WHERE STEP_ID LIKE '90%'
AND zsd.DISPATCH_STATUS != 'CANCEL'
--AND zsd.DISPATCH_STATUS != 'CANCEL'
GROUP BY zsd.SFC) zsd ON zab.SFC = zsd.SFC
<![CDATA[WHERE ROWNUM <=10 AND zab.TYPE = 'Z']]>
AND TO_CHAR(zsd.RATE) != 100.00
<if test="user != null and user != ''">
AND zab.WORK_ORDER like '%${user}%'
</if>
@ -1370,14 +1367,11 @@
TO_CHAR(
DECODE(SUM(CASE
WHEN zsd.DISPATCH_STATUS = 'COMPLETE' THEN
zsd.PROD_HOURS
zsd.PROD_HOURS * zsd.DISPATCH_QTY
ELSE 0 END), 0, 0, SUM(CASE
WHEN zsd.DISPATCH_STATUS = 'COMPLETE' THEN
zsd.PROD_HOURS
ELSE 0 END) / SUM(CASE
WHEN zsd.DISPATCH_STATUS != 'CANCEL' THEN
zsd.PROD_HOURS
ELSE 0 END))
WHEN zsd.DISPATCH_STATUS = 'COMPLETE' OR zsd.DISPATCH_STATUS != 'CANCEL' THEN
zsd.PROD_HOURS * zsd.DISPATCH_QTY
ELSE 0 END) / SUM(zsd.PROD_HOURS * zsd.DISPATCH_QTY) )
* 100, '99990.99') rate,--进度(工时百分比)
MAX(zsd.PLANNED_COMP_DATE) endPlanTime, --计划最终交付时间
MIN(zsd.PLANNED_START_DATE) PLANNED_START_DATE--计划开始时间

@ -1,10 +1,13 @@
package com.foreverwin.mesnac.dataimport.controller;
import com.foreverwin.mesnac.anomaly.model.ImprovementProposals;
import com.foreverwin.mesnac.anomaly.model.OutStore;
import com.foreverwin.mesnac.anomaly.model.TemporaryFix;
import com.foreverwin.mesnac.anomaly.service.ImprovementProposalsService;
import com.foreverwin.mesnac.anomaly.service.OutStoreService;
import com.foreverwin.mesnac.anomaly.service.TemporaryFixService;
import com.foreverwin.mesnac.common.util.ExcelUtils;
import com.foreverwin.mesnac.common.util.StringUtil;
import com.foreverwin.mesnac.dataimport.util.APResult;
import com.foreverwin.mesnac.dataimport.util.ImportRequest;
import com.foreverwin.mesnac.common.model.ExportTemplate;
@ -20,10 +23,7 @@ import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.websocket.server.PathParam;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
@RestController
@RequestMapping("/dataImport")
@ -38,6 +38,9 @@ public class DataImportController {
@Autowired
public OutStoreService outStoreService;
@Autowired
public ImprovementProposalsService improvementProposalsService;
@PostMapping("/import")
public String importFile(@PathParam("fileType") String fileType, @PathParam("site") String site, @PathParam("handleType") final String handleType, @PathParam("mode") final String mode, @PathParam("user") String user, @RequestParam("file") MultipartFile multipartFile) {
ImportRequest importRequest = new ImportRequest();
@ -77,8 +80,20 @@ public class DataImportController {
return R.failed();
}
/**
*
* @param fileType
* @param site
* @param handleType
* @param mode
* @param user
* @param multipartFile
* @return
*/
@PostMapping("/temporaryFixImportFile")
public R temporaryFixImportFile(@PathParam("fileType") String fileType, @PathParam("site") String site, @PathParam("handleType") final String handleType, @PathParam("mode") final String mode, @PathParam("user") String user, @RequestParam("file") MultipartFile multipartFile) {
CommonMethods.setSite(site);
CommonMethods.setUser(user);
try {
//String name = multipartFile.getOriginalFilename();
List<TemporaryFix> temporaryFixList = ExcelUtils.readExcel(fileType, TemporaryFix.class, multipartFile, null);
@ -94,14 +109,57 @@ public class DataImportController {
}
}
/**
*
* @param fileType
* @param site
* @param handleType
* @param mode
* @param user
* @param multipartFile
* @return
*/
@PostMapping("/outStoreImportFile")
public R outStoreImportFile(@PathParam("fileType") String fileType, @PathParam("site") String site, @PathParam("handleType") final String handleType, @PathParam("mode") final String mode, @PathParam("user") String user, @RequestParam("file") MultipartFile multipartFile) {
CommonMethods.setSite(site);
CommonMethods.setUser(user);
try {
List<OutStore> outStoreList = ExcelUtils.readExcel(fileType, OutStore.class, multipartFile, null);
if (!Optional.ofNullable(outStoreList.get(0).getPostingDateTime()).isPresent()){
return R.failed("过账日期格式错误格式需为yyyy-MM-dd HH:mm:ss");
}
if (outStoreService.outStoreImportFile(outStoreList)){
return R.ok("导入数据成功");
}else {
return R.failed("导入数据失败");
}
} catch (Exception e) {
e.printStackTrace();
return R.failed("导入数据失败" + e.getMessage());
}
}
/**
*
* @param fileType
* @param site
* @param handleType
* @param mode
* @param user
* @param multipartFile
* @return
*/
@PostMapping("/improvementProposalsImportFile")
public R improvementProposalsImportFile(@PathParam("fileType") String fileType, @PathParam("site") String site, @PathParam("handleType") final String handleType, @PathParam("mode") final String mode, @PathParam("user") String user, @RequestParam("file") MultipartFile multipartFile) {
try {
CommonMethods.setSite(site);
CommonMethods.setUser(user);
List<ImprovementProposals> improvementProposals = ExcelUtils.readExcel(fileType, ImprovementProposals.class, multipartFile, null);
if (improvementProposalsService.improvementProposalsListImportFile(improvementProposals)){
return R.ok("导入数据成功");
}else {
return R.failed("导入数据失败");
}
return R.failed("导入数据失败");
} catch (Exception e) {
e.printStackTrace();
return R.failed(e.getMessage());

Loading…
Cancel
Save